make rank() static again
[NetHack.git] / doc / Guidebook.mn
blob574bed82bb088d9fefc6e149ac8b56c043235efe
1 .\" $NHDT-Branch: master $:$NHDT-Revision: 1.596 $ $NHDT-Date: 1735103892 2024/12/25 00:18:12 $
2 .\"
3 .\" This is an excerpt from the 'roff' man page from the 'groff' package.
4 .\"+--
5 .\"| o Never include empty or blank lines in a roff document.  Instead,  use
6 .\"|   the empty request (a line consisting of a dot only) or a line comment
7 .\"|   .\" if a structuring element is needed.
8 .\"| o Never start a line with whitespace because this can lead to unexpect-
9 .\"|   ed  behavior.  Indented paragraphs can be constructed in a controlled
10 .\"|   way by roff requests.
11 .\"| o Start each sentence on a line of its own, for the spacing after a dot
12 .\"|   is handled differently depending on whether it terminates an abbrevi-
13 .\"|   ation or a sentence.  To distinguish both cases, do a line break  af-
14 .\"|   ter each sentence.
15 .\"+--
16 .\" Guidebook.mn has been updated to adhere to the first two guidelines
17 .\" but does not yet fully honor the third.  New changes should do so.
18 .\"
20 .\" Usage:
21 .\" to produce Guidebook.ps:
22 .\"  cat Guidebook.mn |tbl tmac.n - |groff >Guidebook.ps
23 .\" to produce Guidebook.txt:
24 .\"  cat Guidebook.mn |tbl tmac.n - |groff -c -Tascii |col -bx >Guidebook.txt
25 .\" with an optional filtering step between 'cat' and 'tbl':
26 .\"  cat... |../util/makedefs --grep --input - --output - |tbl...
28 .if n \{\
29 .po 5n
30 .ll 70n
31 .lt 70n
32 .\}
34 .so tmac.nh \" extra macros which aren't in tmac.n
35 .if !\n(nH .so doc/tmac.nh
37 .\" building Guidebook.txt doesn't have CR font available; groff 1.23 issues
38 .\" a warning each time any font can't be loaded; earlier versions silently
39 .\" proceeded so lack of CR (fixed-width, moot for plain text) didn't matter
40 .if n .do ftr CR R  \" if formatting for a terminal, substitute R for CR
41 .                   \" (the substitution affects both '\f' and '.ft')
43 .ds h0 NetHack Guidebook
44 .ds h1 \" empty
45 .ds h2 %
46 .ds vr NetHack 3.7.0
47 .ds f0 \*(vr
48 .ds f1 \" empty
49 .\"DO NOT REMOVE NH_DATESUB .ds f2 Date(%B %-d, %Y)
50 .ds f2 December 25, 2024
52 .\" A note on some special characters:
53 .\" \(lq = left double quote
54 .\" \(rq = right double quote            \(dq = double quote character
55 .\" \(oq = left (open) single quote
56 .\" \(cq = right (close) single quote    \(aq = apostrophe / single quote
57 .\"    - = hyphen                        \-   = minus sign
58 .\" \(rs = backslash                     \(em = dash as wide as 'M' is tall
59 .\"    ^ = small circumflex punctuation  \(ha = larger circumflex character
60 .\"    ~ = small tilde punctuation       \(ti = larger tilde character
61 .\"
62 .\" See groff_man_style(7) or groff_char(7) for more on these.
65 .\" finally, start the actual Guidebook...
67 .mt
68 A Guide to the Mazes of Menace
69 (Guidebook for NetHack)
70 .au
71 Original version - Eric S. Raymond
72 (Edited and expanded for \*(vr by Mike Stephenson and others)
73 .sp 1
74 \*(f2
75 .hn 1
76 Introduction
77 .pg
78 Recently, you have begun to find yourself unfulfilled and distant
79 in your daily occupation.  Strange dreams of prospecting, stealing,
80 crusading, and combat have haunted you in your sleep for many months,
81 but you aren't sure of the reason.  You wonder whether you have in
82 fact been having those dreams all your life, and somehow managed to
83 forget about them until now.  Some nights you awaken suddenly
84 and cry out, terrified at the vivid recollection of the strange and
85 powerful creatures that seem to be lurking behind every corner of the
86 dungeon in your dream.  Could these details haunting your dreams be real?
87 As each night passes, you feel the desire to enter the mysterious caverns
88 near the ruins grow stronger.  Each morning, however, you quickly put
89 the idea out of your head as you recall the tales of those who entered
90 the caverns before you and did not return.  Eventually you can resist
91 the yearning to seek out the fantastic place in your dreams no longer.
92 After all, when other adventurers came back this way after spending time
93 in the caverns, they usually seemed better off than when they passed
94 through the first time.  And who was to say that all of those who did
95 not return had not just kept going?
97 .pg
98 Asking around, you hear about a bauble, called the Amulet of Yendor by some,
99 which, if you can find it, will bring you great wealth.  One legend you were
100 told even mentioned that the one who finds the amulet will be granted
101 immortality by the gods.  The amulet is rumored to be somewhere beyond the
102 Valley of Gehennom, deep within the Mazes of Menace.  Upon hearing the
103 legends, you immediately realize that there is some profound and
104 undiscovered reason that you are to descend into the caverns and seek
105 out that amulet of which they spoke.  Even if the rumors of the amulet's
106 powers are untrue, you decide that you should at least be able to sell the
107 tales of your adventures to the local minstrels for a tidy sum, especially
108 if you encounter any of the terrifying and magical creatures of
109 your dreams along the way.  You spend one last night fortifying yourself
110 at the local inn, becoming more and more depressed as you watch the odds
111 of your success being posted on the inn's walls getting lower and lower.
114 In the morning you awake, collect your belongings, and
115 set off for the dungeon.  After several days of uneventful
116 travel, you see the ancient ruins that mark the entrance to the
117 Mazes of Menace.  It is late at night, so you make camp at the entrance
118 and spend the night sleeping under the open skies.  In the morning, you
119 gather your gear, eat what may be your last meal outside, and enter the
120 dungeon....
122 .hn 1
123 What is going on here?
125 You have just begun a game of NetHack.  Your goal is to grab as much
126 treasure as you can, retrieve the Amulet of Yendor, and escape the
127 Mazes of Menace alive.
129 Your abilities and strengths for dealing with the hazards of adventure
130 will vary with your background and training:
132 \fIArcheologists\fP understand dungeons pretty well; this enables them
133 to move quickly and sneak up on the local nasties.  They start equipped
134 with the tools for a proper scientific expedition.
136 \fIBarbarians\fP are warriors out of the hinterland, hardened to battle.
137 They begin their quests with naught but uncommon strength, a trusty hauberk,
138 and a great two-handed sword.
140 \fICavemen\fP and \fICavewomen\fP start with exceptional strength but,
141 unfortunately, with neolithic weapons.
143 \fIHealers\fP are wise in medicine and apothecary.  They know the
144 herbs and simples that can restore vitality, ease pain, anesthetize,
145 and neutralize poisons; and with their instruments, they can divine a
146 being's state of health or sickness.  Their medical practice earns them
147 quite reasonable amounts of money, with which they enter the dungeon.
149 \fIKnights\fP are distinguished from the common skirmisher by their
150 devotion to the ideals of chivalry and by the surpassing excellence of
151 their armor.
153 \fIMonks\fP are ascetics, who by rigorous practice of physical and mental
154 disciplines have become capable of fighting as effectively without weapons
155 as with.  They wear no armor but make up for it with increased mobility.
157 \fIPriests\fP and \fIPriestesses\fP are clerics militant, crusaders
158 advancing the cause of righteousness with arms, armor, and arts
159 thaumaturgic.  Their ability to commune with deities via prayer
160 occasionally extricates them from peril, but can also put them in it.
162 \fIRangers\fP are most at home in the woods, and some say slightly out
163 of place in a dungeon.  They are, however, experts in archery as well
164 as tracking and stealthy movement.
166 \fIRogues\fP are agile and stealthy thieves, with knowledge of locks,
167 traps, and poisons.  Their advantage lies in surprise, which they employ
168 to great advantage.
170 \fISamurai\fP are the elite warriors of feudal Nippon.  They are lightly
171 armored and quick, and wear the \fIdai-sho\fP, two swords of the deadliest
172 keenness.
174 \fITourists\fP start out with lots of gold (suitable for shopping with),
175 a credit card, lots of food, some maps, and an expensive camera.  Most
176 monsters don't like being photographed.
178 \fIValkyries\fP are hardy warrior women.  Their upbringing in the harsh
179 Northlands makes them strong, inures them to extremes of cold, and instills
180 in them stealth and cunning.
182 \fIWizards\fP start out with a knowledge of magic, a selection of magical
183 items, and a particular affinity for dweomercraft.  Although seemingly weak
184 and easy to overcome at first sight, an experienced Wizard is a deadly foe.
186 You may also choose the race of your character (within limits; most
187 roles have restrictions on which races are eligible for them):
189 \fIDwarves\fP are smaller than humans or elves, but are stocky and solid
190 individuals.  Dwarves' most notable trait is their great expertise in mining
191 and metalwork.  Dwarvish armor is said to be second in quality not even to the
192 mithril armor of the Elves.
194 \fIElves\fP are agile, quick, and perceptive; very little of what goes
195 on will escape an Elf.  The quality of Elven craftsmanship often gives
196 them an advantage in arms and armor.
198 \fIGnomes\fP are smaller than but generally similar to dwarves.  Gnomes are
199 known to be expert miners, and it is known that a secret underground mine
200 complex built by this race exists within the Mazes of Menace, filled with
201 both riches and danger.
203 \fIHumans\fP are by far the most common race of the surface world, and
204 are thus the norm to which other races are often compared.  Although
205 they have no special abilities, they can succeed in any role.
207 \fIOrcs\fP are a cruel and barbaric race that hate every living thing
208 (including other orcs).  Above all others, Orcs hate Elves with a passion
209 unequalled, and will go out of their way to kill one at any opportunity.
210 The armor and weapons fashioned by the Orcs are typically of inferior quality.
211 .hn 1
212 What do all those things on the screen mean?
214 On the screen is kept a map of where you have
215 been and what you have seen on the current dungeon level; as you
216 explore more of the level, it appears on the screen in front of you.
218 When NetHack's ancestor \fIrogue\fP first appeared, its screen
219 orientation was almost unique among computer fantasy games.  Since
220 then, screen orientation has become the norm rather than the
221 exception; NetHack continues this fine tradition.  Unlike text
222 adventure games that accept commands in pseudo-English sentences and
223 explain the results in words, NetHack commands are all one or two
224 keystrokes and the results are displayed graphically on the screen.  A
225 minimum screen size of 24 lines by 80 columns is recommended; if the
226 screen is larger, only a 21x80 section will be used for the map.
228 NetHack can even be played by blind players, with the assistance of Braille
229 readers or speech synthesisers.  Instructions for configuring NetHack for
230 the blind are included later in this document.
232 NetHack generates a new dungeon every time you play it; even the
233 authors still find it an entertaining and exciting game despite
234 having won several times.
236 NetHack offers a variety of display options.  The options available to you
237 will vary from port to port, depending on the capabilities of your
238 hardware and software, and whether various compile-time options were
239 enabled when your executable was created.  The three possible display
240 options are: a monochrome character interface, a color character interface,
241 and a graphical interface using small pictures called tiles.  The two
242 character interfaces allow fonts with other characters to be substituted,
243 but the default assignments use standard ASCII characters to represent
244 everything.  There is no difference between the various display options
245 with respect to game play.  Because we cannot reproduce the tiles or
246 colors in the Guidebook, and because it is common to all ports, we will
247 use the default ASCII characters from the monochrome character display
248 when referring to things you might see on the screen during your game.
250 In order to understand what is going on in NetHack, first you must
251 understand what NetHack is doing with the screen.
252 The NetHack screen
253 replaces the \(lqYou see ...\(rq descriptions of text adventure games.
254 Figure 1 is a sample of what a NetHack screen might look like.
255 The way the screen looks for you depends on your platform.
257 .\" (Either generated by hand or else the composite of two different
258 .\" situations.  Originally the character had only reached a second room
259 .\" (unchanged here) by turn 257 (now changed to 752) and was already
260 .\" Weak from hunger (now changed to just Hungry) and also lacked any of
261 .\" Tourist's starting gold.  Confusion is added to include a
262 .\" condition.)
264 .\" Width is constrained by the margins of plain text output
265 .\" (Guidebook.txt).  Text output might show an extra space inboard of
266 .\" the left and right box boundaries that does not appear in PostScript
267 .\" output.  This behavior is specific to GNU tbl.
268 .BR 2
269 .ft CR \" set font to constant-width Roman
271 center box tab(~);
273 The bat bites!
275     ------
276     |....|    ----------
277     |.<..|####...@...$.|
278     |....-#   |...B....+
279     |....|    |.d......|
280     ------    -------|--
284 Player the Rambler   St:12 Dx:7 Co:18 In:11 Wi:9 Ch:15 Neutral
285 Dlvl:1 $:993 HP:9(12) Pw:3(3) AC:10 Exp:1/19 T:752 Hungry Conf
287 .ft R
288 .ce 1
289 .if t .sp 0.5v
290 Figure 1
292 .BR 1
293 .ft CR
295 center box tab(~);
297 .\" Use trailing spaces to force the same width as Figure 1.
298 Player the Rambler   St:12 Dx:7 Co:18 In:11 Wi:9 Ch:15        \&
299 Neutral $:993 HP:9(12) Pw:3(3) AC:10 Exp:1/19 Hungry          \&
300 Dlvl:1 T:752                                  Conf            \&
302 .ft R
303 .ce 1
304 .if t .sp 0.5v
305 Figure 2
307 .hn 2
308 The status lines (bottom)
310 The bottom two (or three) lines of the screen contain several cryptic
311 pieces of information describing your current status.
312 Figure 1 shows the traditional two-line status area below the map.
313 Figure 2 shows just the status area, when the
314 .op statuslines:3
315 option has been set (not all interfaces support this option).
316 If any status line becomes wider than the screen, you might not see all
317 of it due to truncation.
318 When the numbers grow bigger and multiple \fIconditions\fP are present,
319 the two-line format will run out of room on the second line, but
320 .op statuslines:2
321 is the default because a basic 24-line terminal isn't tall enough for
322 the third line.
324 Here are explanations of what the various status items mean:
325 .lp "Title   "
326 Your character's name and professional ranking (based on role and
327 \fIexperience level\fP, see below).
328 .lp Strength
329 A measure of your character's strength; one of your six basic
330 attributes.  A human character's attributes can range from 3 to 18 inclusive;
331 non-humans may exceed these limits
332 (occasionally you may get super-strengths of the form 18/xx, and magic can
333 also cause attributes to exceed the normal limits).  The
334 higher your strength, the stronger you are.  Strength affects how
335 successfully you perform physical tasks, how much damage you do in
336 combat, and how much loot you can carry.
337 .lp Dexterity
338 Dexterity affects your chances to hit in combat, to avoid traps, and
339 do other tasks requiring agility or manipulation of objects.
340 .lp Constitution
341 Constitution affects your ability to recover from injuries and other
342 strains on your stamina.
343 When strength is low or modest, constitution also affects how much you
344 can carry.  With sufficiently high strength, the contribution to
345 carrying capacity from your constitution no longer matters.
346 .lp Intelligence
347 Intelligence affects your ability to cast spells and read spellbooks.
348 .lp "Wisdom  "
349 Wisdom comes from your practical experience (especially when dealing with
350 magic).  It affects your magical energy.
351 .lp Charisma
352 Charisma affects how certain creatures react toward you.  In
353 particular, it can affect the prices shopkeepers offer you.
354 .lp Alignment
355 \fBLawful\fP, \fBNeutral\fP, or \fBChaotic\fP.  Often, Lawful is
356 taken as good and Chaotic as evil, but legal and ethical do not always
357 coincide.  Your alignment influences how other
358 monsters react toward you.  Monsters of a like alignment are more likely
359 to be non-aggressive, while those of an opposing alignment are more likely
360 to be seriously offended at your presence.
361 .lp "Dungeon Level"
362 How deep you are in the dungeon.  You start at level one and the number
363 increases as you go deeper into the dungeon.  Some levels are special,
364 and are identified by a name and not a number.  The Amulet of Yendor is
365 reputed to be somewhere beneath the twentieth level.
366 .lp "Gold    "
367 The number of gold pieces you are openly carrying.  Gold which you have
368 concealed in containers is not counted.
369 .lp "Hit Points"
370 Your current and maximum hit points.  Hit points indicate how much
371 damage you can take before you die.  The more you get hit in a fight,
372 the lower they get.  You can regain hit points by resting, or by using
373 certain magical items or spells.  The number in parentheses is the maximum
374 number your hit points can reach.
375 .lp "Power   "
376 Spell points.  This tells you how much mystic energy (\fImana\fP)
377 you have available for spell casting.  Again, resting will regenerate the
378 amount available.
379 .lp "Armor Class"
380 A measure of how effectively your armor stops blows from unfriendly
381 creatures.
382 The lower this number is, the more effective the armor; it
383 is quite possible to have negative armor class.
384 See the \fIArmor\fP subsection of \fIObjects\fP for more information.
385 .lp Experience
386 Your current experience level.
387 If the
388 .op showexp
389 option is set, it will be followed by a slash and experience points.
390 As you adventure, you gain experience points.
391 At certain experience point totals, you gain an experience level.
392 The more experienced you are, the better you fight and withstand magical
393 attacks.
394 (By the time your level reaches double digits, the usefulness of showing
395 the points with it has dropped significantly.
396 You can use the \(oq\f(CRO\fP\(cq command to turn
397 .op showexp
398 off to avoid using up the limited status line space.)
399 .lp "Time    "
400 The number of turns elapsed so far, displayed if you have the
401 .op time
402 option set.
403 .lp "Status  "
404 Hunger:
405 your current hunger status.
406 Values are \fBSatiated\fP, \fBNot Hungry\fP (or \fBNormal\fP),
407 \fBHungry\fP, \fBWeak\fP, and \fBFainting\fP.
408 .\" not mentioned: Fainted
409 Not shown when \fBNormal\fP.
410 .lp ""
411 Encumbrance:
412 an indication of how what you are carrying affects your ability to move.
413 Values are \fBUnencumbered\fP, \fBBurdened\fP, \fBStressed\fP,
414 \fBStrained\fP, \fBOvertaxed\fP, and \fBOverloaded\fP.
415 Not shown when \fBUnencumbered\fP.
416 .lp ""
417 Fatal conditions:
418 \fBStone\fP (aka \fBPetrifying\fP, turning to stone),
419 \fBSlime\fP (turning into green slime),
420 \fBStrngl\fP (being strangled),
421 \fBFoodPois\fP (suffering from acute food poisoning),
422 \fBTermIll\fP (suffering from a terminal illness).
423 .lp ""
424 Non-fatal conditions:
425 \fBBlind\fP (can't see), \fBDeaf\fP (can't hear),
426 \fBStun\fP (stunned), \fBConf\fP (confused), \fBHallu\fP (hallucinating).
427 .lp ""
428 Movement modifiers:
429 \fBLev\fP (levitating), \fBFly\fP (flying), \fBRide\fP (riding).
430 .lp ""
431 Other conditions and modifiers exist, but there isn't enough room to
432 display them with the other status fields.
433 .\" Don't give the next paragraph a first-line indent.
434 .nr @p \n(pi \" Save mn's paragraph indentation.
435 .nr pi 0
437 The \f(CR#attributes\fP command (default key \f(CR\(haX\fP) will show
438 all current status information in unabbreviated format.
439 It also shows other information which might be included on the status
440 lines if those had more room.
441 .nr pi \n(@p \" Restore mn's paragraph indentation.
442 .hn 2
443 The message line (top)
445 The top line of the screen is reserved for messages that describe
446 things that are impossible to represent visually.
447 If you see a
448 \(lq\fB\-\-More\-\-\fP\(rq on the top line, this means that NetHack has
449 another message to display on the screen, but it wants to make certain
450 that you've read the one that is there first.
451 To read the next message, just press the space bar.
453 To change how and what messages are shown on the message line,
454 see \(lqConfiguring Message Types\(rq and the
455 .op verbose
456 option.
457 .hn 2
458 The map (rest of the screen)
460 The rest of the screen is the map of the level as you have explored it
461 so far.
462 Each symbol on the screen represents something.
463 You can set various graphics options to change some of the symbols the
464 game uses; otherwise, the game will use default symbols.
465 Here is a list of what the default symbols mean:
466 .lp \f(CR\\-\fP
467 The horizontal or corner walls of a room, or an open east/west door.
468 .lp \f(CR|\fP
469 The vertical walls of a room, or an open north/south door, or a grave.
470 .lp \f(CR.\fP
471 The floor of a room, or ice, or a doorless doorway, or the span of an
472 open drawbridge.
473 .lp \f(CR#\fP
474 A corridor, or iron bars, or a tree, or the portcullis of a closed
475 drawbridge.
476 .lp ""
477 Note: engravings in corridors also appear as \f(CR#\fP but are shown in
478 a different color from normal corridor locations.
479 .lp \f(CR>\fP
480 Stairs down: a way to the next level.
481 .lp \f(CR<\fP
482 Stairs up: a way to the previous level.
483 .lp \f(CR+\fP
484 A closed door, or a spellbook containing a spell you may be able to learn.
485 .lp \f(CR@\fP
486 Your character or a human or an elf.
487 .lp \f(CR$\fP
488 A pile of gold.
489 .lp \f(CR\(ha\fP \" \(ha == 'hat' == full sized caret ^
490 A trap (once you have detected it).
491 .lp \f(CR)\fP
492 A weapon.
493 .lp \f(CR[\fP
494 A suit or piece of armor.
495 .lp \f(CR%\fP
496 Something edible (not necessarily healthy).
497 .lp \f(CR?\fP
498 A scroll.
499 .lp \f(CR/\fP
500 A wand.
501 .lp \f(CR=\fP
502 A ring.
503 .lp \f(CR!\fP
504 A potion.
505 .lp \f(CR(\fP
506 A useful item (pick-axe, key, lamp...).
507 .lp \f(CR\(dq\fP \" \(dq == double quote
508 An amulet or a spider web.
509 .lp \f(CR*\fP
510 A gem or rock (possibly valuable, possibly worthless).
511 .lp \f(CR\`\fP
512 A boulder or statue or an engraving on the floor of a room.
513 .lp ""
514 Note: statues are displayed as if they were the monsters they depict
515 so won't appear as a \fIgrave accent\fP (aka \fIback-tick\fP).
516 .lp \f(CR0\fP
517 An iron ball.
518 .lp \f(CR_\fP
519 An altar, or an iron chain.
520 .lp \f(CR{\fP
521 A fountain or a sink.
522 .lp \f(CR}\fP
523 A pool of water or moat or a wall of water
524 or a pool of lava or a wall of lava.
525 .lp \f(CR\\\\\fP
526 An opulent throne.
527 .lp "\f(CRa\fP-\f(CRz\fP\ \ \fIand\fP"
528 .lp "\f(CRA\fP-\f(CRH\fP\f(CRJ\fP-\f(CRZ\fP\ \ \fIand\fP"
529 .lp "\f(CR@&\(aq:;\fP" \" \(aq == apostrophe / single quote
530 Letters and certain other symbols represent the various inhabitants
531 of the Mazes of Menace.
532 Watch out, they can be nasty and vicious.
533 Sometimes, however, they can be helpful.
534 .lp \f(CRI\fP
535 Rather than a specific type of monster, this marks the last known
536 location of an invisible or otherwise unseen monster.
537 Note that the monster could have moved.
538 The \(oqs\(cq, \(oqF\(cq, and \(oqm\(cq commands may be useful here.
539 .lp \f(CR1\fP-\f(CR5\fP
540 The digits 1 through 5 may be displayed, marking unseen monsters sensed
541 via the \fIWarning\fP attribute.
542 Less dangerous monsters are indicated by lower values, more dangerous by
543 higher values.
545 You need not memorize all these symbols; you can ask the game what any
546 symbol represents with the \(oq/\(cq command (see the next section for
547 more info).
549 .hn 1
550 Commands
552 Commands can be initiated by typing one or two characters to which
553 the command is bound to, or typing the command name in the extended
554 commands entry.
555 Some commands, like \(lqsearch\(rq, do not require that any more
556 information be collected by NetHack.
557 Other commands might require additional information, for
558 example a direction, or an object to be used.
559 For those commands that
560 require additional information, NetHack will present you with either a
561 menu of choices or with a command line prompt requesting information.
562 Which you are presented with will depend chiefly on how you have set the
563 .op menustyle
564 option.
566 For example, a common question, in the form \(lqWhat do you want to
567 use?\ [a\-zA\-Z\ ?*]\(rq, asks you to choose an object you are carrying.
568 Here, \(lqa\-zA\-Z\(rq are the inventory letters of your possible choices.
569 Typing \(oq?\(cq gives you an inventory list of these items, so you can see
570 what each letter refers to.
571 In this example, there is also a \(oq*\(cq
572 indicating that you may choose an object not on the list, if you
573 wanted to use something unexpected.
574 Typing a \(oq*\(cq lists your entire
575 inventory, so you can see the inventory letters of every object you're
576 carrying.
577 Finally, if you change your mind and decide you don't want
578 to do this command after all, you can press the ESC key to abort the
579 command.
581 You can put a number before some commands to repeat them that many
582 times; for example, \(lq10s\(rq will search ten times.
583 If you have the
584 .op number_pad
585 option set, you must type \(oqn\(cq to prefix a count, so the example above
586 would be typed \(lqn10s\(rq instead.
587 Commands for which counts make no sense ignore them.
588 In addition, movement commands can be prefixed for
589 greater control (see below).
590 To cancel a count or a prefix, press the ESC key.
592 The list of commands is rather long, but it can be read at any time
593 during the game through the \(oq?\(cq command, which accesses a menu of
594 helpful texts.
595 Here are the default key bindings for your reference:
596 .lp ?
597 Help menu:  display one of several help texts available.
598 .lp /
599 The \(lqwhatis\(rq command, to tell what a symbol represents.
600 You may choose to specify a location
601 or type a symbol (or even a whole word) to explain.
602 Specifying a location is done by moving the cursor to a particular spot
603 on the map and then pressing one of \(oq.\(cq, \(oq,\(cq, \(oq;\(cq,
604 or \(oq:\(cq.
605 \(oq.\(cq will explain the symbol at the chosen location,
606 conditionally check for \(lqMore info?\(rq depending upon whether the
607 .op help
608 option is on, and then you will be asked to pick another location;
609 \(oq,\(cq will explain the symbol but skip any additional
610 information, then let you pick another location;
611 \(oq;\(cq will skip additional info and also not bother asking
612 you to choose another location to examine; \(oq:\(cq will show additional
613 info, if any, without asking for confirmation.
614 When picking a location,
615 pressing the ESC key will terminate this command, or pressing \(oq?\(cq will
616 give a brief reminder about how it works.
617 .lp ""
618 If the
619 .op autodescribe
620 option is on, a short description of what you see at each location is
621 shown as you move the cursor.
622 Typing \(oq#\(cq while picking a location will
623 toggle that option on or off.
625 .op whatis_coord
626 option controls whether the short description includes map coordinates.
627 .lp ""
628 Specifying a name rather than a location
629 always gives any additional information available about that name.
630 .lp ""
631 You may also request a description of nearby monsters,
632 all monsters currently displayed, nearby objects, or all objects.
634 .op whatis_coord
635 option controls which format of map coordinate is included with their
636 descriptions.
637 .lp &
638 Tell what a command does.
639 .lp <
640 Go up to the previous level (if you are on a staircase or ladder).
641 .lp >
642 Go down to the next level (if you are on a staircase or ladder).
643 .lp [yuhjklbn]
644 Go one step in the direction indicated (see Figure 3).
645 If you sense or remember a monster there, you will fight the monster
646 instead.
647 Only these one-step movement commands cause you to fight monsters; the
648 others (below) are \(lqsafe.\(rq
649 .ft CR
650 .tr -\-@\(rs
652 box center expand;
653 C C.
654 y  k  u 7  8  9
655 @ | /   @ | /
656 h- . -l 4- . -6
657 / | @   / | @
658 b  j  n 1  2  3
659 \fR(\fBnumber_pad\fP off)       \fR(\fBnumber_pad\fP on)
661 .tr --@@
662 .ft R
663 .if t .sp 0.5v
664 .ce 1
665 Figure 3
667 .lp [YUHJKLBN]
668 Go in that direction until you hit a wall or run into something.
669 .lp m[yuhjklbn]
670 Prefix:  move without picking up objects or fighting (even if you remember
671 a monster there).
672 .lp ""
673 A few non-movement commands use the \(oq\f(CRm\fP\(cq prefix to request
674 operating via menu (to temporarily override the
675 .op menustyle \f(CR:traditional\fP
676 option).
677 Primarily useful for \(oq\f(CR,\fP\(cq (pickup) when there is only one class
678 of objects present (where there won't be any \(lqwhat kinds of objects?\(rq
679 prompt, so no opportunity to answer \(oqm\(cq at that prompt).
680 .lp ""
681 The prefix will
682 make \(lq#travel\(rq command show a menu of interesting targets in sight.
683 It can also be used with the \(oq\f(CR\\\fP\(cq (known, show a
684 list of all discovered objects) and the \(oq\f(CR\`\fP\(cq (knownclass,
685 show a list of discovered objects in a particular class) commands to offer
686 a menu of several sorting alternatives (which sets a new value for the
687 .op sortdiscoveries
688 option); also for \(lq#vanquished\(rq and \(lq#genocided\(rq commands
689 to offer a sorting menu.
690 .lp ""
691 A few other commands (eat food, offer sacrifice, apply tinning-kit,
692 drink/quaff, dip, tip container) use
693 the \(oq\f(CRm\fP\(cq prefix to skip checking for applicable objects on
694 the floor and go straight to checking inventory,
695 or (for \(lq#loot\(rq to remove a saddle),
696 skip containers and go straight to adjacent monsters.
697 .lp ""
698 In debug mode (aka \(lqwizard mode\(rq), the \(oqm\(cq prefix may also be
699 used with the \(lq#teleport\(rq and \(lq#wizlevelport\(rq commands.
700 .lp F[yuhjklbn]
701 Prefix:  fight a monster (even if you only guess one is there).
702 .lp "g[yuhjklbn]"
703 Prefix:  move until something interesting is found.
704 .lp "G[yuhjklbn] or <Control>+[yuhjklbn]"
705 Prefix:  similar to \(oqg\(cq, but forking of corridors is not considered
706 interesting.
707 .lp ""
708 Note:  <Control>+<key> means holding the <Control> or <Ctrl> key
709 down like <Shift> while typing and releasing <key>, then releasing
710 <Control>. \(ha<key> is used as shorthand elsewhere in the Guidebook to mean
711 the same thing.  Control characters are case-insensitive so \(hax and \(haX are
712 the same.
713 .lp "M[yuhjklbn]"
714 Old versions supported \(oq\f(CRM\fP\(cq as a movement prefix which
715 combined the effect of \(oq\f(CRm\fP\(cq with \f(CR<Control>\fP+<direction>.
716 That is no longer supported as a prefix but similar effect can be achieved
717 by using \(oq\f(CRm\fP\(cq and \f(CRG\fP<direction> in combination.
718 \f(CRm\fP can also be used in combination with \f(CRg\fP<direction>,
719 \f(CR<Control>\fP+<direction>, or \f(CR<Shift>\fP+<direction>.
720 .lp _
721 Travel to a map location via a shortest-path algorithm.
722 .lp ""
723 The shortest path
724 is computed over map locations the hero knows about (e.g. seen or
725 previously traversed).
726 If there is no known path, a guess is made instead.
727 Stops on most of
728 the same conditions as the \(oq\f(CRG\fP\(cq prefix, but without picking up
729 objects, so implicitly forces the \(oq\f(CRm\fP\(cq prefix.
730 For ports with mouse
731 support, the command is also invoked when a mouse-click takes place on a
732 location other than the current position.
733 .lp .
734 Wait or rest, do nothing for one turn.
735 Precede with the \(oqm\(cq prefix
736 to wait for a turn even next to a hostile monster, if
737 .op safe_wait
738 is on.
739 .lp a
740 Apply (use) a tool (pick-axe, key, lamp...).
741 .lp ""
742 If used on a wand, that wand will be broken, releasing its magic in the
743 process.
744 Confirmation is required.
745 .lp A
746 Remove one or more worn items, such as armor.
747 .lp ""
748 Use \(oqT\(cq (take off) to take off only one piece of armor
749 or \(oqR\(cq (remove) to take off only one accessory.
750 .lp \(haA
751 Repeat the previous command.
752 .lp c
753 Close a door.
754 .lp C
755 Call (name) a monster, an individual object, or a type of object.
756 .lp ""
757 Same as extended command \(lq#name\(rq.
758 .lp \(haC
759 Panic button.  Quit the game.
760 .lp d
761 Drop something.
762 .lp ""
763 For example \(lqd7a\(rq means drop seven items of object \fIa\fP.
764 .lp D
765 Drop several things.
766 .lp ""
767 In answer to the question
768 .lp ""
769 \(lqWhat kinds of things do you want to drop? [!%= BUCXPaium]\(rq
770 .lp ""
771 you should type zero or more object symbols possibly followed by
772 \(oqa\(cq and/or \(oqi\(cq and/or \(oqu\(cq and/or \(oqm\(cq.
773 In addition, one or more of
774 the blessed/uncursed/cursed groups may be typed.
775 .PS D%u
776 .PL DB
777 drop all objects known to be blessed.
778 .PL DU
779 drop all objects known to be uncursed.
780 .PL DC
781 drop all objects known to be cursed.
782 .PL DX
783 drop all objects of unknown B/U/C status.
784 .PL DP
785 drop objects picked up last.
786 .PL Da
787 drop all objects, without asking for confirmation.
788 .PL Di
789 examine your inventory before dropping anything.
790 .PL Du
791 drop only unpaid objects (when in a shop).
792 .PL Dm
793 use a menu to pick which object(s) to drop.
794 .PL D%u
795 drop only unpaid food.
797 The last example shows a combination.
798 There are four categories of object filtering: class (\(oq!\(cq for
799 potions, \(oq?\(cq for scrolls, and so on), shop status (\(oqu\(cq for
800 unpaid, in other words, owned by the shop), bless/curse state
801 (\(oqB\(cq, \(oqU\(cq, \(oqC\(cq, and \(oqX\(cq as shown above),
802 and novelty (\(oqP\(cq, recently picked up items; controlled by picking
803 up or dropping things rather than by any time factor).
804 .lp ""
805 If you specify more than one value in a category (such as \(lq!?\(rq for
806 potions and scrolls or \(lqBU\(rq for blessed and uncursed), an inventory
807 object will meet the criteria if it matches any of the specified
808 values (so \(lq!?\(rq means \(oq!\(cq or \(oq?\(cq).
809 If you specify more than one category, an inventory object must meet
810 each of the category criteria (so \(lq%u\(rq means class \(oq%\(cq and
811 unpaid \(oqu\(cq).
812 Lastly, you may specify multiple values within multiple categories:
813 \(lq!?BU\(rq will select all potions and scrolls which are known to be
814 blessed or uncursed.
815 (In versions prior to 3.6, filter combinations behaved differently.)
816 .lp \(haD
817 Kick something (usually a door).
818 .lp e
819 Eat food.
820 .lp ""
821 Normally checks for edible item(s) on the floor, then if none are found
822 or none are chosen, checks for edible item(s) in inventory.
823 Precede \(oqe\(cq with the \(oqm\(cq prefix to bypass attempting to eat
824 anything off the floor.
825 .lp ""
826 If you attempt to eat while already satiated, you might choke to death.
827 If you risk it, you will be asked whether
828 to \(lqcontinue eating?\(rq \fIif you survive the first bite\fP.
829 You can set the
830 .op paranoid_confirmation:eating
831 option to require a response of \f(CRyes\fP instead of just \f(CRy\fP.
833 .\" Make sure Elbereth is not hyphenated below, the exact spelling matters
834 .hw Elbereth
835 .lp E
836 Engrave a message on the floor.
839 E\- - write in the dust with your fingers.
842 .lp ""
843 Engraving the word \(lqElbereth\(rq will cause most monsters to not attack
844 you hand-to-hand (but if you attack, you will rub it out); this is
845 often useful to give yourself a breather.
846 .lp f
847 Fire (shoot or throw) one of the objects placed in your quiver (or
848 quiver sack, or that you have at the ready).
849 You may select ammunition with a previous \(oqQ\(cq command, or let the
850 computer pick something appropriate if
851 .op autoquiver
852 is true.
853 If your wielded weapon has the throw-and-return property, your quiver
854 is empty, and
855 .op autoquiver
856 is false, you will throw that wielded weapon instead of filling the quiver.
857 This will also automatically use a polearm if wielded.
859 .op fireassist
860 is true, firing will automatically try to wield a launcher (for example,
861 a bow or a sling) matching the ammo in the quiver; this might take multiple
862 turns, and get interrupted by a monster.
863 Remember to swap back to your main melee weapon afterwards.
864 .lp ""
865 See also \(oqt\(cq (throw) for more general throwing and shooting.
866 .lp i
867 List your inventory (everything you're carrying).
868 .lp I
869 List selected parts of your inventory, usually be specifying the character
870 for a particular set of objects, like \(oq[\(cq for armor or \(oq!\(cq for
871 potions.
872 .PS IX
873 .PL I*
874 list all gems in inventory;
875 .PL Iu
876 list all unpaid items;
877 .PL Ix
878 list all used up items that are on your shopping bill;
879 .PL IB
880 list all items known to be blessed;
881 .PL IU
882 list all items known to be uncursed;
883 .PL IC
884 list all items known to be cursed;
885 .PL IX
886 list all items whose bless/curse status is unknown;
887 .PL IP
888 list items picked up last;
889 .PL I$
890 count your money.
892 .lp o
893 Open a door.
894 .lp O
895 Set options.
896 .lp ""
897 A menu showing the current option values will be displayed.
898 You can change most values simply by selecting the menu
899 entry for the given option (ie, by typing its letter or clicking upon
900 it, depending on your user interface).
901 For the non-boolean choices,
902 a further menu or prompt will appear once you've closed this menu.
903 The available options
904 are listed later in this Guidebook.
905 Options are usually set before the game rather than with the \(oqO\(cq
906 command; see the section on options below.
907 Precede \(oqO\(cq with the \(oqm\(cq prefix to show advanced options.
908 .lp \(haO
909 Show overview.
910 .lp ""
911 Shortcut for \(lq#overview\(rq:  list interesting dungeon levels visited.
912 .lp ""
913 (Prior to 3.6.0, \(oq\(haO\(cq was a debug mode command which listed
914 the placement of all special levels.
915 Use \(lq#wizwhere\(rq to run that command.)
916 .lp p
917 Pay your shopping bill.
918 .lp P
919 Put on an accessory (ring, amulet, or blindfold).
920 .lp ""
921 This command may also be used to wear armor.
922 The prompt for which inventory item to use will only list accessories,
923 but choosing an unlisted item of armor will attempt to wear it.
924 (See the \(oqW\(cq command below.
925 It lists armor as the inventory
926 choices but will accept an accessory and attempt to put that on.)
927 .lp \(haP
928 Repeat previous message.
929 .lp ""
930 Subsequent \(oq\(haP\(cqs repeat earlier messages.
931 For some interfaces, the behavior can be varied via the
932 .op msg_window
933 option.
934 .lp q
935 Quaff (drink) something (potion, water, etc).
936 .lp ""
937 When there is a fountain or sink present, it asks whether to drink
938 from that.
939 If that is declined, then it offers a chance to choose a potion from
940 inventory.
941 Precede \(oqq\(cq with the \(oqm\(cq prefix to skip asking about
942 drinking from a fountain or sink.
943 .lp Q
944 Select an object for your quiver, quiver sack, or just generally at
945 the ready (only one of these is available at a time).
946 You can then throw this (or one of these) using the \(oqf\(cq command.
947 .lp r
948 Read a scroll or spellbook.
949 .lp R
950 Remove a worn accessory (ring, amulet, or blindfold).
951 .lp ""
952 If you're wearing more than one, you'll be prompted for which one to
953 remove.
954 When you're only wearing one, then by default it will be removed
955 without asking, but you can set the
956 .op paranoid_confirmation:Remove
957 option to require a prompt.
958 .lp ""
959 This command may also be used to take off armor.
960 The prompt for which inventory item to remove only lists worn
961 accessories, but an item of worn armor can be chosen.
962 (See the \(oqT\(cq command below.
963 It lists armor as the inventory
964 choices but will accept an accessory and attempt to remove it.)
965 .lp \(haR
966 Redraw the screen.
967 .lp s
968 Search for secret doors and traps around you.
969 It usually takes several tries to find something.
970 Precede with the \(oqm\(cq prefix to search for a turn
971 even next to a hostile monster, if
972 .op safe_wait
973 is on.
974 .lp ""
975 Can also be used to figure out whether there is still a monster at
976 an adjacent \(lqremembered, unseen monster\(rq marker.
977 .lp S
978 Save the game (which suspends play and exits the program).
979 The saved game will be restored automatically the next time you play
980 using the same character name.
981 .lp ""
982 In normal play, once a saved game is restored the file used to hold
983 the saved data is deleted.
984 In explore mode, once restoration is accomplished you are asked whether
985 to keep or delete the file.
986 Keeping the file makes it feasible to play for a while then quit
987 without saving and later restore again.
988 .lp ""
989 There is no \(lqsave current game state and keep playing\(rq command, not
990 even in explore mode where saved game files can be kept and re-used.
991 .lp t
992 Throw an object or shoot a projectile.
993 .lp ""
994 There's no separate \(lqshoot\(rq command.
995 If you throw an arrow while wielding a bow, you are shooting
996 that arrow and any weapon skill bonus or penalty for bow applies.
997 If you throw an arrow while not wielding a bow, you are throwing
998 it by hand and it will generally be less effective than when shot.
999 .lp ""
1000 See also \(oqf\(cq (fire) for throwing or shooting an item pre-selected
1001 via the \(oqQ\(cq (quiver) command, with some extra assistance.
1002 .lp T
1003 Take off armor.
1004 .lp ""
1005 If you're wearing more than one piece, you'll be prompted for which
1006 one to take off.  (Note that this treats a cloak covering a suit
1007 and/or a shirt, or a suit covering a shirt, as if the underlying items
1008 weren't there.)
1009 When you're only wearing one, then by default it will
1010 be taken off without asking, but you can set the
1011 .op paranoid_confirmation:Remove
1012 option to require a prompt.
1013 .lp ""
1014 This command may also be used to remove accessories.
1015 The prompt for which inventory item to take off only lists worn armor,
1016 but a worn accessory can be chosen.
1017 (See the \(oqR\(cq command above.
1018 It lists accessories as the inventory
1019 choices but will accept an item of armor and attempt to take it off.)
1020 .lp \(haT
1021 Teleport, if you have the ability.
1022 .lp v
1023 Display version number.
1024 .lp V
1025 Display the game history.
1026 .lp w
1027 Wield weapon.
1030 w\- - wield nothing, use your bare (or gloved) hands.
1033 Some characters can wield two weapons at once; use the \(oqX\(cq command
1034 (or the \(lq#twoweapon\(rq extended command) to do so.
1035 .lp W
1036 Wear armor.
1037 .lp ""
1038 This command may also be used to put on an accessory (ring, amulet, or
1039 blindfold).  The prompt for which inventory item to use will only list
1040 armor, but choosing an unlisted accessory will attempt to put it on.
1041 (See the \(oqP\(cq command above.
1042 It lists accessories as the inventory
1043 choices but will accept an item of armor and attempt to wear it.)
1044 .lp x
1045 Exchange your wielded weapon with the item in your alternate weapon slot.
1046 .lp ""
1047 The latter is used as your secondary weapon when engaging in
1048 two-weapon combat.  Note that if one of these slots is empty,
1049 the exchange still takes place.
1050 .lp X
1051 Toggle two-weapon combat, if your character can do it.  Also available
1052 via the \(lq#twoweapon\(rq extended command.
1053 .lp ""
1054 (In versions prior to 3.6 this keystroke ran the command to switch from normal
1055 play to \(lqexplore mode\(rq, also known as \(lqdiscovery mode\(rq,
1056 which has now been moved to \(lq#exploremode\(rq and M-X.)
1057 .lp \(haX
1058 Display basic information about your character.
1059 .lp ""
1060 Displays name, role, race, gender (unless role name makes that
1061 redundant, such as \fICaveman\fP or \fIPriestess\fP), and alignment,
1062 along with your patron deity and his or her opposition.
1063 It also
1064 shows most of the various items of information from the status line(s)
1065 in a less terse form, including several additional things which don't
1066 appear in the normal status display due to space considerations.
1067 .lp ""
1068 In normal play, that's all that \(oq\(haX\(cq displays.
1069 In explore mode, the role and status feedback is augmented by the
1070 information provided by \fIenlightenment\fP magic.
1071 .lp z
1072 Zap a wand.
1075 z. - to aim at yourself, use \(oq\.\(cq for the direction.
1078 .lp Z
1079 Zap (cast) a spell.
1082 Z. - to cast at yourself, use \(oq\.\(cq for the direction.
1085 .lp \(haZ
1086 Suspend the game
1087 .\" .UX: print "UNIX" now and a trademark footnote at bottom of current page;
1088 .\"  2nd arg (literal '(') _precedes_ it, 1st arg (quoted string) follows it
1089 .UX " versions with job control only)." (
1090 See \(lq#suspend\(rq below for more details.
1091 .lp :
1092 Look at what is here.
1093 .lp ;
1094 Show what type of thing a visible symbol corresponds to.
1095 .lp ,
1096 Pick up some things from the floor beneath you.
1097 .lp ""
1098 May be preceded by \(oqm\(cq to force a selection menu.
1099 .lp @
1100 Toggle the
1101 .op autopickup
1102 option on and off.
1103 .lp \(ha \" ^
1104 Ask for the type of an adjacent trap you found earlier.
1105 .lp )
1106 Tell what weapon you are wielding.
1107 .lp [
1108 Tell what armor you are wearing.
1109 .lp =
1110 Tell what rings you are wearing.
1111 .lp \(dq \" \(dq == double quote
1112 Tell what amulet you are wearing.
1113 .lp (
1114 Tell what tools you are using.
1115 .lp *
1116 Tell what equipment you are using.
1117 .lp ""
1118 Combines the preceding five type-specific
1119 commands into one.
1120 .lp $
1121 Report the gold you're carrying, possibly shop credit and/or debt too.
1122 .lp +
1123 List the spells you know.
1124 .lp ""
1125 Using this command, you can also rearrange
1126 the order in which your spells are listed, either by sorting the entire
1127 list or by picking one spell from the menu then picking another to swap
1128 places with it.
1129 Swapping pairs of spells changes their casting letters,
1130 so the change lasts after the current \(oq+\(cq command finishes.
1131 Sorting the whole list is temporary.
1132 To make the most recent sort order persist
1133 beyond the current \(oq+\(cq command, choose the sort option again and then
1134 pick \(lqreassign casting letters\(rq.
1135 (Any spells learned after that will
1136 be added to the end of the list rather than be inserted into the sorted
1137 ordering.)
1138 .lp \\\\
1139 Show what types of objects have been discovered.
1140 .lp ""
1141 May be preceded by \(oq\f(CRm\fP\(cq to select preferred display order.
1142 .lp \`
1143 Show discovered types for one class of objects.
1144 .lp ""
1145 May be preceded by \(oq\f(CRm\fP\(cq to select preferred display order.
1146 .lp |
1147 If persistent inventory display is supported and enabled (with the
1148 .op perm_invent
1149 option), interact with it instead of with the map.
1150 .lp ""
1151 Allows scrolling with the
1152 menu_first_page, menu_previous_page,
1153 menu_next_page, and menu_last_page
1154 keys (\(oq\f(CR\(ha\fP\(cq, \(oq\f(CR<\fP\(cq,
1155 \(oq\f(CR>\fP\(cq, \(oq\f(CR|\fP\(cq by default).
1156 Some interfaces also support menu_shift_left and menu_shift_right
1157 keys (\(oq\f(CR{\fP\(cq and \(oq\f(CR}\fP\(cq by default).
1158 Use the \fIReturn\fP (aka \fIEnter\fP) or \fIEscape\fP key to
1159 resume play.
1160 .lp !
1161 Escape to a shell.
1162 See \(lq#shell\(rq below for more details.
1163 .lp Del
1164 Show map without obstructions.
1165 You can view the explored portion of the current level's map without
1166 monsters; without monsters and objects; or without monsters, objects,
1167 and traps.
1168 .lp ""
1169 The <del> key is also shown as <delete> on some keyboards or <rubout>
1170 on others.
1171 It is sometimes displayed as \(ha? even though that is not an actual
1172 control character.
1173 .lp ""
1174 Many terminals have an option to swap the <delete> and <backspace> keys,
1175 so typing the <del> key might not execute this command.
1176 If that happens, you can use the extended command \(lq#terrain\(rq instead.
1177 .lp #
1178 Perform an extended command.
1179 .lp ""
1181 As you can see, the authors of NetHack
1182 used up all the letters, so this is a way to introduce the less frequently
1183 used commands.
1184 What extended commands are available depends on what features the game was
1185 compiled with.
1187 .\" Pad short entries out to 1+8 characters.  This will make sure that
1188 .\" the text description starts on its own line like long named entries
1189 .\" instead of sometimes being on the same line for short name ones.
1190 .\" The document will be longer, but mixing the two is harder to read.
1191 .\" (For plain text output, the old 1+4 was sufficient.  For Postscript,
1192 .\" several need at least 1+7 due to narrow letters or ligatures.)
1194 .lp "#adjust  "
1195 Adjust inventory letters (most useful when the
1196 .op fixinv
1197 option is \(lqon\(rq).
1198 Autocompletes.
1199 Default key is \(oqM-a\(cq.
1200 .lp ""
1201 This command allows you to move an item from one particular inventory
1202 slot to another so that it has a letter which is more meaningful for you
1203 or that it will appear in a particular location when inventory listings
1204 are displayed.
1205 You can move to a currently empty slot, or if the destination is
1206 occupied\(emand won't merge\(emthe
1207 item there will swap slots with the one being moved.
1208 \(lq#adjust\(rq can also be used to split a stack of objects; when
1209 choosing the item to adjust, enter a count prior to its letter.
1210 .lp ""
1211 Adjusting without a count used to collect all compatible stacks when
1212 moving to the destination.
1213 That behavior has been changed; to gather
1214 compatible stacks, \(lq#adjust\(rq a stack into its own inventory slot.
1215 If it has a name assigned, other stacks with the same name or with
1216 no name will merge provided that all their other attributes match.
1217 If it does not have a name, only other stacks with no name are eligible.
1218 In either case, otherwise compatible stacks with a different name
1219 will not be merged.
1220 This contrasts with using \(lq#adjust\(rq to move
1221 from one slot to a different slot.
1222 In that situation, moving (no
1223 count given) a compatible stack will merge if either stack has a
1224 name when the other doesn't and give that name to the result, while
1225 splitting (count given) will ignore the source stack's name when
1226 deciding whether to merge with the destination stack.
1227 .lp #annotate
1228 Allows you to specify one line of text to associate with the current
1229 dungeon level.
1230 All levels with annotations are displayed by the
1231 \(lq#overview\(rq command.
1232 Autocompletes.
1233 Default key is \(oqM-A\(cq, and also \(oq\(haN\(cq if
1234 .op number_pad
1235 is on.
1236 .lp "#apply   "
1237 Apply (use) a tool such as a pick-axe, a key, or a lamp.
1238 Default key is \(oqa\(cq.
1239 .lp ""
1240 If the tool used acts on items on the floor, using the \(oqm\(cq prefix skips
1241 those items.
1242 .lp ""
1243 If used on a wand, that wand will be broken, releasing its magic in the
1244 process.
1245 Confirmation is required.
1246 .lp #attributes
1247 Show your attributes.
1248 Default key is \(oq\(haX\(cq.
1249 .lp #autopickup
1250 Toggle the
1251 .op autopickup
1252 option on/off.
1253 Default key is \(oq@\(cq.
1254 .lp "#bugreport"
1255 Bring up a browser window to submit a report to the NetHack Development Team.
1256 Can be disabled at the time the program is built; when enabled,
1257 CRASHREPORTURL must be set in the system configuration file.
1258 .lp "#call    "
1259 Call (name) a monster, or an object in inventory, on the floor,
1260 or in the discoveries list, or add an annotation for the
1261 current level (same as \(lq#annotate\(rq).
1262 Default key is \(oqC\(cq.
1263 .lp "#cast    "
1264 Cast a spell.
1265 Default key is \(oqZ\(cq.
1266 .lp "#chat    "
1267 Talk to someone.
1268 Default key is \(oqM-c\(cq.
1269 .lp "#chronicle"
1270 Show a list of important game events.
1271 .lp "#close   "
1272 Close a door.
1273 Default key is \(oqc\(cq.
1274 .lp "#conduct "
1275 List voluntary challenges you have maintained.
1276 .\" [only in wizard mode:]
1277 .\" Also lists various achievements representing progress toward ultimate
1278 .\" ascension if any have been attained.
1279 Autocompletes.
1280 Default key is \(oqM-C\(cq.
1281 .lp ""
1282 See the section below entitled \(lqConduct\(rq for details.
1283 .lp #debugfuzzer
1284 Start the fuzz tester.
1285 Debug mode only.
1286 .lp "#dip     "
1287 Dip an object into something.
1288 Autocompletes.
1289 Default key is \(oqM-d\(cq.
1290 .lp ""
1291 The \(oqm\(cq prefix skips dipping into a fountain or pool if there
1292 is one at your location.
1293 .lp "#down    "
1294 Go down a staircase.
1295 Default key is \(oq>\(cq.
1296 .lp "#drop    "
1297 Drop an item.
1298 Default key is \(oqd\(cq.
1299 .lp #droptype
1300 Drop specific item types.
1301 Default key is \(oqD\(cq.
1302 .lp "#eat     "
1303 Eat something.
1304 Default key is \(oqe\(cq.
1305 The \(oqm\(cq prefix skips eating items on the floor.
1306 .lp "#engrave "
1307 Engrave writing on the floor.
1308 Default key is \(oqE\(cq.
1309 .lp "#enhance "
1310 Advance or check weapon and spell skills.
1311 Autocompletes.
1312 Default key is \(oqM-e\(cq.
1313 .lp #exploremode
1314 Switch from normal play to non-scoring explore mode.
1315 Default key is \(oqM-X\(cq.
1316 .lp ""
1317 Requires confirmation; default response is \f(CRn\fP (no).
1318 To really switch to explore mode, respond with \f(CRy\fP.
1319 You can set the
1320 .op paranoid_confirmation:quit
1321 option to require a response of \f(CRyes\fP instead.
1322 .lp "#fight   "
1323 Prefix key to force fight a direction, even if you see nothing
1324 to fight there.
1325 Default key is \(oqF\(cq, or \(oq\-\(cq with
1326 .op number_pad
1327 .lp "#fire    "
1328 Fire ammunition from quiver, possibly autowielding a launcher,
1329 or hit with a wielded polearm.
1330 Default key is \(oqf\(cq.
1331 .lp "#force   "
1332 Force a lock.
1333 Autocompletes.
1334 Default key is \(oqM-f\(cq.
1335 .lp #genocided
1336 List any monster types which have been genocided.
1337 In explore mode and debug mode it also shows types which have become
1338 extinct.
1339 .lp ""
1340 The display order is the same as is used by #vanquished.
1341 The \(oqm\(cq prefix brings up a menu of available sorting orders, and
1342 doing that for either #genocided or #vanquished changes the order for both.
1343 .lp ""
1344 If the sorting order is \(lqcount high to low\(rq or \(lqcount low to high\(rq
1345 (which are applicable for #vanquished), that will be ignored
1346 for #genocided and alphabetical will be used instead.
1347 The menu omits those two choices when used for #genocide.
1348 .lp ""
1349 Autocompletes.
1350 Default key is \(oqM-g\(cq.
1351 .lp "#glance  "
1352 Show what type of thing a map symbol corresponds to.
1353 Default key is \(oq;\(cq.
1354 .lp "#help    "
1355 Show the help menu.
1356 Default key is \(oq?\(cq, and also \(oqh\(cq if
1357 .op number_pad
1358 is on.
1359 .lp #herecmdmenu
1360 Show a menu of possible actions directed at your current location.
1361 The menu is limited to a subset of the likeliest actions, not an
1362 exhaustive set of all possibilities.
1363 Autocompletes.
1364 .lp ""
1365 If mouse support is enabled and the
1366 .op herecmd_menu
1367 option is On, clicking on the hero (or steed when mounted) will
1368 execute this command.
1369 .lp "#history "
1370 Show long version and game history.
1371 Default key is \(oqV\(cq.
1372 .lp #inventory
1373 Show your inventory.
1374 Default key is \(oqi\(cq.
1375 .lp #inventtype
1376 Inventory specific item types.
1377 Default key is \(oqI\(cq.
1378 .lp "#invoke  "
1379 Invoke an object's special powers.
1380 Autocompletes.
1381 Default key is \(oqM-i\(cq.
1382 .lp "#jump    "
1383 Jump to another location.
1384 Autocompletes.
1385 Default key is \(oqM-j\(cq, and also \(oqj\(cq if
1386 .op number_pad
1387 is on.
1388 .lp "#kick    "
1389 Kick something.
1390 Default key is \(oq\(haD\(cq, and \(oqk\(cq if
1391 .op number_pad
1392 is on.
1393 .lp "#known   "
1394 Show what object types have been discovered.
1395 Default key is \(oq\f(CR\\\fP\(cq.
1396 .lp ""
1397 The \(oq\f(CRm\fP\(cq prefix allows assigning a new value to the
1398 .op sortdiscoveries
1399 option to control the order in which the discoveries are displayed.
1400 .lp #knownclass
1401 Show discovered types for one class of objects.
1402 Default key is \(oq\f(CR\`\fP\(cq.
1403 .lp ""
1404 The \(oq\f(CRm\fP\(cq prefix operates the same as for \(lq#known\(rq.
1405 .lp #levelchange
1406 Change your experience level.
1407 Autocompletes.
1408 Debug mode only.
1409 .lp #lightsources
1410 Show mobile light sources.
1411 Autocompletes.
1412 Debug mode only.
1413 .lp "#look    "
1414 Look at what is here, under you.
1415 Default key is \(oq:\(cq.
1416 .lp #lookaround
1417 Describe what you can see, or remember, of your surroundings.
1418 .lp "#loot    "
1419 Loot a box or bag on the floor beneath you, or the saddle
1420 from a steed standing next to you.
1421 Autocompletes.
1422 Precede with the \(oqm\(cq prefix to skip containers at your location
1423 and go directly to removing a saddle.
1424 Default key is \(oqM-l\(cq, and also \(oql\(cq if
1425 .op number_pad
1426 is on.
1427 .lp "#monster "
1428 Use a monster's special ability (when polymorphed into monster form).
1429 Autocompletes.
1430 Default key is \(oqM-m\(cq.
1431 .lp "#name    "
1432 Name a monster, an individual object, or a type of object.
1433 Same as \(lq#call\(rq.
1434 Autocompletes.
1435 Default keys are \(oqN\(cq, \(oqM-n\(cq, and \(oqM-N\(cq.
1436 .lp "#offer   " \" `ff' ligature is narrow
1437 Offer a sacrifice to the gods.
1438 Autocompletes.
1439 Default key is \(oqM-o\(cq.
1440 .lp ""
1441 You'll need to find an altar to have any chance at success.
1442 Corpses of recently killed monsters are the fodder of choice.
1443 .lp ""
1444 The \(oqm\(cq prefix skips offering any items which are on the altar.
1445 .lp "#open    "
1446 Open a door.
1447 Default key is \(oqo\(cq.
1448 .lp "#options "
1449 Show and change option settings.
1450 Default key is \(oqO\(cq.
1451 Precede with the \(oqm\(cq prefix to show advanced options.
1452 .lp #optionsfull
1453 Show advanced game option settings.
1454 No default key.
1455 Precede with the \(oqm\(cq prefix to execute the simpler options command.
1456 (Mainly useful if you use \f(CRBINDING=O:optionsfull\fP to switch
1457 \(oq\f(CRO\fP\(cq from simple options back to traditional advanced options.)
1458 .lp #overview
1459 Display information you've discovered about the dungeon.
1460 Any visited level
1461 .\" [note: amnesia no longer causes levels to be forgotten so exclude this]
1462 .\" (unless forgotten due to amnesia)
1463 with an annotation is included,
1464 and many things (altars, thrones, fountains, and so on; extra stairs
1465 leading to another dungeon branch) trigger an automatic annotation.
1466 If dungeon overview is chosen during end-of-game disclosure, every visited
1467 level will be included regardless of annotations.
1468 .lp ""
1469 Precede #overview with the \(oqm\(cq prefix to display the dungeon
1470 overview as a menu where you can select any visited level to add or
1471 remove an annotation without needing to return to that level.
1472 This will also force all visited levels to be displayed rather than just
1473 the \(lqinteresting\(rq subset.
1474 .lp ""
1475 Autocompletes.
1476 Default keys are \(oq\(haO\(cq, and \(oqM-O\(cq.
1477 .\" DON'T PANIC!
1478 .lp "#panic   "
1479 Test the panic routine.
1480 Terminates the current game.
1481 Autocompletes.
1482 Debug mode only.
1483 .lp ""
1484 Asks for confirmation; default is \f(CRn\fP (no); continue playing.
1485 To really panic, respond with \f(CRy\fP.
1486 You can set the
1487 .op paranoid_confirmation:quit
1488 option to require a response of \f(CRyes\fP instead.
1489 .lp "#pay     "
1490 Pay your shopping bill.
1491 Default key is \(oqp\(cq.
1492 .lp "#perminv "
1493 If persistent inventory display is supported and enabled (with the
1494 .op perm_invent
1495 option), interact with it instead of with the map.
1496 You'll be prompted for menu scrolling keystrokes such
1497 as \(oq\f(CR>\fP\(cq and \(oq\f(CR<\fP\(cq.
1498 Press \f(CRReturn\fP or \f(CREscape\fP to resume normal play.
1499 Default key is \(oq|\(cq.
1500 .lp "#pickup  "
1501 Pick up things at the current location.
1502 Default key is \(oq,\(cq.
1503 The \(oqm\(cq prefix forces use of a menu.
1504 .lp #polyself
1505 Polymorph self.
1506 Autocompletes.
1507 Debug mode only.
1508 .lp "#pray    "
1509 Pray to the gods for help.
1510 Autocompletes.
1511 Default key is \(oqM-p\(cq.
1512 .lp ""
1513 Praying too soon after receiving prior help is a bad idea.
1514 (Hint: entering the dungeon alive is treated as having received help.
1515 You probably shouldn't start off a new game by praying right away.)
1516 Since using this command by accident can cause trouble, there is an
1517 option to make you confirm your intent before praying.
1518 It is enabled by default, and you can reset the
1519 .op paranoid_confirmation
1520 option to disable it.
1521 .lp "#prevmsg "
1522 Show previously displayed game messages.
1523 Default key is \(oq\(haP\(cq.
1524 .lp "#puton   "
1525 Put on an accessory (ring, amulet, etc).
1526 Default key is \(oqP\(cq.
1527 .lp "#quaff   "
1528 Quaff (drink) something.
1529 Default key is \(oqq\(cq.
1530 .lp ""
1531 The \(oqm\(cq prefix skips drinking from a fountain or sink if there
1532 is one at your location.
1533 .lp "#quit    "
1534 Quit the program without saving your game.
1535 Autocompletes.
1536 .lp ""
1537 Since using this command by accident would throw away the current game,
1538 you are asked to confirm your intent before quitting.
1539 Default response is \f(CRn\fP (no); continue playing.
1540 To really quit, respond with \f(CRy\fP.
1541 You can set the
1542 .op paranoid_confirmation:quit
1543 option to require a response of \f(CRyes\fP instead.
1544 .lp "#quiver  "
1545 Select ammunition for quiver.
1546 Default key is \(oqQ\(cq.
1547 .lp "#read    "
1548 Read a scroll, a spellbook, or something else.
1549 Default key is \(oqr\(cq.
1550 .lp "#redraw  "
1551 Redraw the screen.
1552 Default key is \(oq\(haR\(cq, and also \(oq\(haL\(cq if
1553 .op number_pad
1554 is on.
1555 .lp "#remove  "
1556 Remove an accessory (ring, amulet, etc).
1557 Default key is \(oqR\(cq.
1558 .lp "#repeat  "
1559 Repeat the previous command.
1560 Default key is \(oq\(haA\(cq.
1561 .lp "#reqmenu "
1562 Prefix key to modify the behavior or request menu from some commands.
1563 Prevents autopickup when used with movement commands.
1564 Default key is \(oqm\(cq.
1565 .lp "#retravel"
1566 Travel to a previously selected travel destination.
1567 Default key is \(oqC-_\(cq.
1568 See also #travel.
1569 .lp "#ride    "
1570 Ride (or stop riding) a saddled creature.
1571 Autocompletes.
1572 Default key is \(oqM-R\(cq.
1573 .lp "#rub     "
1574 Rub a lamp or a stone.
1575 Autocompletes.
1576 Default key is \(oqM-r\(cq.
1577 .lp "#run     "
1578 Prefix key to run towards a direction.
1579 Default key is \(oqG\(cq when
1580 .op number_pad
1581 is off,
1582 \(oq5\(cq when
1583 .op number_pad
1584 is set to 1 or 3,
1585 otherwise \(oqM-5\(cq when it is set to 2 or 4.
1586 .lp "#rush    "
1587 Prefix key to rush towards a direction.
1588 Default is \(oqg\(cq when
1589 .op number_pad
1590 is off,
1591 \(oqM-5\(cq when
1592 .op number_pad
1593 is set to 1 or 3,
1594 otherwise \(oq5\(cq when it is set to 2 or 4.
1595 .lp "#save    "
1596 Save the game and exit the program.
1597 Default key is \(oqS\(cq.
1598 .lp "#saveoptions"
1599 Save configuration options to the config file.
1600 This will overwrite the file, removing all comments, so if you have
1601 manually edited the config file, don't use this.
1602 .lp "#search  "
1603 Search for traps and secret doors around you.
1604 Default key is \(oqs\(cq.
1605 .lp "#seeall  "
1606 Show all equipment in use.
1607 Default key is \(oq*\(cq.
1608 .lp ""
1609 Will display in-use items in a menu even when there is only one.
1610 .lp #seeamulet
1611 Show the amulet currently worn.
1612 Default key is \(oq\(dq\(cq. \" double quote
1613 .lp ""
1614 Using the \(oq\f(CRm\fP\(cq prefix will force the display of a worn
1615 amulet in a menu rather than with just a message.
1616 .lp #seearmor
1617 Show the armor currently worn.
1618 Default key is \(oq[\(cq.
1619 .lp ""
1620 Will display worn armor in a menu even when there is only thing worn.
1621 .lp #seerings
1622 Show the ring(s) currently worn.
1623 Default key is \(oq=\(cq.
1624 .lp ""
1625 Will display worn rings in a menu if there are two (or there is
1626 just one and is a meat ring rather than a \(lqreal\(rq ring).
1627 Use the \(oq\f(CRm\fP\(cq prefix to force a menu for one ring.
1628 .lp #seetools
1629 Show the tools currently in use.
1630 Default key is \(oq(\(cq.
1631 .lp ""
1632 Will display the result in a message if there is one tool in use (worn
1633 blindfold or towel or lenses, lit lamp(s) and/or candle(s), leashes
1634 attached to pets).
1635 Will display a menu if there are more than one or if the command is
1636 preceded by the \(oq\f(CRm\fP\(cq prefix.
1637 .lp #seeweapon
1638 Show the weapon currently wielded.
1639 Default key is \(oq)\(cq.
1640 .lp ""
1641 If dual-wielding, a separate message about the secondary weapon will be
1642 given.
1643 Using the \(oq\f(CRm\fP\(cq prefix will force a menu and it will include
1644 primary weapon, alternate weapon even when not dual-wielding, and also
1645 whatever is currently assigned to the quiver slot.
1646 .lp "#shell   "
1647 Do a shell escape, switching from NetHack to a subprocess.
1648 Can be disabled at the time the program is built.
1649 When enabled, access for specific users can be controlled by the system
1650 configuration file.
1651 Use the shell command \(oq\f(CRexit\fP\(cq to return to the game.
1652 Default key is \(oq!\(cq.
1653 .lp "#showgold"
1654 Report the gold in your inventory, including gold you know about in
1655 containers you're carrying.  If you are inside a shop, report any credit
1656 or debt you have in that shop.
1657 Default key is \(oq$\(cq.
1658 .lp #showspells
1659 List and reorder known spells.
1660 Default key is \(oq+\(cq.
1661 .lp "#showtrap"
1662 Describe an adjacent trap, possibly covered by objects or a monster.
1663 To be eligible, the trap must already be discovered.
1664 (The \(lq#terrain\(rq command can display your map with all objects and
1665 monsters temporarily removed, making it possible to see all discovered
1666 traps.)
1667 Default key is \(oq\(ha\(cq. \" 'hat' (circumflex character)
1668 .lp "#sit     "
1669 Sit down.
1670 Autocompletes.
1671 Default key is \(oqM-s\(cq.
1672 .lp "#stats   "
1673 Show memory usage statistics.
1674 Autocompletes.
1675 Debug mode only.
1676 .lp "#suspend "
1677 Suspend the game, switching from NetHack to the terminal it was started
1678 from without performing save-and-exit.
1679 Can be disabled at the time the program is built.
1680 When enabled, mainly useful for \fItty\fP and \fIcurses\fP interfaces on
1681 .UX \. \" yields "UNIX."
1682 Use the shell command \(oq\f(CRfg\fP\(cq to return to the game.
1683 Default key is \(oq\(haZ\(cq.
1684 .lp "#swap    "
1685 Swap wielded and secondary weapons.
1686 Default key is \(oqx\(cq.
1687 .lp "#takeoff "
1688 Take off one piece of armor.
1689 Default key is \(oqT\(cq.
1690 .lp #takeoffall
1691 Remove all armor.
1692 Default key is \(oqA\(cq.
1693 .lp #teleport
1694 Teleport around the level.
1695 Default key is \(oq\(haT\(cq.
1696 .lp "#terrain "
1697 Show map without obstructions.
1698 In normal play you can view the explored portion of the current level's
1699 map without monsters; without monsters and objects; or without monsters,
1700 objects, and traps.
1701 .lp ""
1702 If there are visible clouds of gas in view, they are treated like traps
1703 when deciding whether to show them or the floor underneath them.
1704 .lp ""
1705 In explore mode, you can choose to view the full map rather than just
1706 its explored portion.
1707 In debug mode there are additional choices.
1708 .lp ""
1709 Autocompletes.
1710 Default key is \(oq<del>\(cq or \(oq<delete>\(cq (see \fIDel\fP above).
1711 .lp #therecmdmenu
1712 Show a menu of possible actions directed at a location next to you.
1713 The menu is limited to a subset of the likeliest actions, not an
1714 exhaustive set of all possibilities.
1715 Autocompletes.
1716 .\"--invoking it by mouse seems to be broken
1717 .\" .lp ""
1718 .\" If mouse support is enabled and the
1719 .\" .op herecmd_menu
1720 .\" option is On, clicking on an adjacent location will execute this command.
1721 .lp "#throw   "
1722 Throw something.
1723 Default key is \(oqt\(cq.
1724 .lp "#timeout "
1725 Look at the timeout queue.
1726 Autocompletes.
1727 Debug mode only.
1728 .lp "#tip     "
1729 Tip over a container (bag or box) to pour out its contents.
1730 When there are containers on the floor, the game will prompt to pick one
1731 of them or \(lqtip something being carried\(rq.
1732 If the latter is chosen, there will be another prompt for which item
1733 from inventory to tip.
1734 .lp ""
1735 The \(oq\f(CRm\fP\(cq prefix makes the command skip containers on the
1736 floor and pick one from inventory, except for the special case of
1737 .op menustyle \f(CR:traditional\fP
1738 with two or more containers present; that situation will start with the
1739 floor container menu.
1740 .lp ""
1741 Autocompletes.
1742 Default key is \(oqM-T\(cq.
1743 .lp "#travel  "
1744 Travel to a specific location on the map.
1745 Default key is \(oq_\(cq. \" underscore
1746 Using the \(lqrequest menu\(rq prefix shows a menu of interesting targets
1747 in sight without asking to move the cursor.
1748 When picking a target with cursor and the
1749 .op autodescribe
1750 option is on, the top line will show \(lq(no travel path)\(rq if
1751 your character does not know of a path to that location.
1752 See also #retravel.
1753 .lp "#turn    "
1754 Turn undead away.
1755 Autocompletes.
1756 Default key is \(oqM-t\(cq.
1757 .lp #twoweapon
1758 Toggle two-weapon combat on or off.
1759 Autocompletes.
1760 Default key is \(oqX\(cq, and also \(oqM-2\(cq if
1761 .op number_pad
1762 is off.
1763 .lp ""
1764 Note that you must
1765 use suitable weapons for this type of combat, or it will
1766 be automatically turned off.
1767 .lp "#untrap  "
1768 Untrap something (trap, door, or chest).
1769 Default key is \(oqM-u\(cq, and \(oqu\(cq if
1770 .op number_pad
1771 is on.
1772 .lp ""
1773 In some circumstances it can also be used to rescue trapped monsters.
1774 .lp "#up      "
1775 Go up a staircase.
1776 Default key is \(oq<\(cq.
1777 .lp #vanquished
1778 List vanquished monsters by type and count.
1779 .lp ""
1780 Note that the vanquished monsters list includes all monsters killed by
1781 traps and each other as well as by you, and omits any which got removed
1782 from the game without being killed (perhaps by genocide, or by a mollified
1783 shopkeeper dismissing summoned Kops) or were already corpses when placed
1784 on the map.
1785 .lp ""
1786 Using the \(lqrequest menu\(rq prefix prior to #vanquished brings up
1787 a menu of sorting orders available (provided that the vanquished monsters
1788 list contains at least two types of monsters).
1789 Whichever ordering is picked gets assigned to the
1790 .op sortvanquished
1791 option so is remembered for subsequent #vanquished requests.
1792 The \(lq#genocided\(rq command shares this sorting order.
1793 .lp ""
1794 During end-of-game disclosure, when asked whether to show vanquished
1795 monsters answering \(oq\f(CRa\fP\(cq will let you choose from the sort menu.
1796 .lp ""
1797 Autocompletes.
1798 Default key is \(oqM-V\(cq.
1799 .lp "#version "
1800 Print compile time options for this version of NetHack.
1801 .lp ""
1802 The second paragraph lists the user interface(s) that are included.
1803 If there are more than one, you can use the
1804 .op windowtype
1805 option in your run-time configuration file to select the one you want.
1806 .lp ""
1807 Autocompletes.
1808 Default key is \(oqM-v\(cq.
1809 .lp #versionshort
1810 Show the program's version number, plus the date and time that the
1811 running copy was built from sources (not the version's release date).
1812 Default key is \(oqv\(cq.
1813 .lp "#vision  "
1814 Show vision array.
1815 Autocompletes.
1816 Debug mode only.
1817 .lp "#wait    "
1818 Rest one move while doing nothing.
1819 Default key is \(oq.\(cq, and also \(oq\ \(cq if
1820 .op rest_on_space
1821 is on.
1822 .lp "#wear    "
1823 Wear a piece of armor.
1824 Default key is \(oqW\(cq.
1825 .lp #whatdoes
1826 Tell what a key does.
1827 Default key is \(oq&\(cq.
1828 .lp "#whatis  "
1829 Show what type of thing a symbol corresponds to.
1830 Default key is \(oq/\(cq.
1831 .lp "#wield   "
1832 Wield a weapon.
1833 Default key is \(oqw\(cq.
1834 .lp "#wipe    "
1835 Wipe off your face.
1836 Autocompletes.
1837 Default key is \(oqM-w\(cq.
1838 .lp "#wizborn "
1839 Show monster birth, death, genocide, and extinct statistics.
1840 Debug mode only.
1841 .lp "#wizbury "
1842 Bury objects under and around you.
1843 Autocompletes.
1844 Debug mode only.
1845 .lp #wizcast
1846 Cast any spell.
1847 Debug mode only.
1848 .lp #wizdetect
1849 Reveal hidden things (secret doors or traps or unseen monsters)
1850 within a modest radius.
1851 No time elapses.
1852 Autocompletes.
1853 Debug mode only.
1854 Default key is \(oq\(haE\(cq.
1855 .lp #wizgenesis
1856 Create a monster.
1857 May be prefixed by a count to create more than one.
1858 Autocompletes.
1859 Debug mode only.
1860 Default key is \(oq\(haG\(cq.
1861 .lp #wizidentify
1862 Identify all items in inventory.
1863 Autocompletes.
1864 Debug mode only.
1865 Default key is \(oq\(haI\(cq.
1866 .lp #wizintrinsic
1867 Set one or more intrinsic attributes.
1868 Autocompletes.
1869 Debug mode only.
1870 .lp "#wizkill "
1871 Remove monsters from play by just pointing at them.
1872 By default the hero gets credit or blame for killing the targets.
1873 Precede this command with the \(oq\f(CRm\fP\(cq prefix to override that.
1874 Autocompletes.
1875 Debug mode only.
1876 .lp #wizlevelport
1877 Teleport to another level.
1878 Autocompletes.
1879 Debug mode only.
1880 Default key is \(oq\(haV\(cq.
1881 .lp "#wizmap  "
1882 Map the level.
1883 Autocompletes.
1884 Debug mode only.
1885 Default key is \(oq\(haF\(cq.
1886 .lp #wizrumorcheck
1887 Verify rumor boundaries by displaying first and last true rumors and
1888 first and last false rumors.
1889 .lp ""
1890 Also displays first, second, and last random engravings, epitaphs,
1891 and hallucinatory monsters.
1892 .lp ""
1893 Autocompletes.
1894 Debug mode only.
1895 .lp #wizseenv
1896 Show map locations' seen vectors.
1897 Autocompletes.
1898 Debug mode only.
1899 .lp #wizsmell
1900 Smell monster.
1901 Autocompletes.
1902 Debug mode only.
1903 .lp #wizwhere
1904 Show locations of special levels.
1905 Autocompletes.
1906 Debug mode only.
1907 .lp "#wizwish "
1908 Wish for something.
1909 Autocompletes.
1910 Debug mode only.
1911 Default key is \(oq\(haW\(cq.
1912 .lp "#wmode   "
1913 Show wall modes.
1914 Autocompletes.
1915 Debug mode only.
1916 .lp "#zap     "
1917 Zap a wand.
1918 Default key is \(oqz\(cq.
1919 .lp "#?       "
1920 Help menu:  get the list of available extended commands.
1921 .lp ""
1923 If your keyboard has a meta key (which, when pressed in combination
1924 with another key, modifies it by setting the \(lqmeta\(rq [8th,
1925 or \(lqhigh\(rq] bit), you can invoke many extended commands by meta-ing
1926 the first letter of the command.
1928 On \fIWindows\fP and \fIMS-DOS\fP,
1929 the \(lqAlt\(rq key can be used in this fashion.
1930 On other systems, if typing \(lqAlt\(rq plus another key transmits a
1931 two character sequence consisting of an \fBEscape\fP
1932 followed by the other key, you may set the
1933 .op altmeta
1934 option to have NetHack combine them into meta+<key>.
1935 (This combining action only takes place when NetHack is expecting a
1936 command to execute, not when accepting input to name something or to
1937 make a wish.)
1939 Unlike control characters, where \(hax and \(haX denote the same thing,
1940 meta characters are case-sensitive:  M-x and M-X represent different things.
1941 Some commands which can be run via a meta character require that the
1942 letter be capitalized because the lower-case equivalent is used for
1943 another command, so the three key combination meta+Shift+<letter> is needed.
1944 .BR 1
1946 .lp M-?
1947 #? (not supported by all platforms)
1948 .lp M-2
1949 #twoweapon (unless the
1950 .op number_pad
1951 option is enabled)
1952 .lp M-a
1953 #adjust
1954 .lp M-A
1955 #annotate
1956 .lp M-c
1957 #chat
1958 .lp M-C
1959 #conduct
1960 .lp M-d
1961 #dip
1962 .lp M-e
1963 #enhance
1964 .lp M-f
1965 #force
1966 .lp M-g
1967 #genocided
1968 .lp M-i
1969 #invoke
1970 .lp M-j
1971 #jump
1972 .lp M-l
1973 #loot
1974 .lp M-m
1975 #monster
1976 .lp M-n
1977 #name
1978 .lp M-o
1979 #offer
1980 .lp M-O
1981 #overview
1982 .lp M-p
1983 #pray
1984 .lp M-r
1985 #rub
1986 .lp M-R
1987 #ride
1988 .lp M-s
1989 #sit
1990 .lp M-t
1991 #turn
1992 .lp M-T
1993 #tip
1994 .lp M-u
1995 #untrap
1996 .lp M-v
1997 #version
1998 .lp M-V
1999 #vanquished
2000 .lp M-w
2001 #wipe
2002 .lp M-X
2003 #exploremode
2004 .lp ""
2006 If the
2007 .op number_pad
2008 option is on, some additional letter commands are available:
2009 .lp h
2010 #help
2011 .lp j
2012 #jump
2013 .lp k
2014 #kick
2015 .lp l
2016 #loot
2017 .lp N
2018 #name
2019 .lp u
2020 #untrap
2022 .BR 1 \"blank line for extra separation; plain text output looks better
2023 .hn 1
2024 Rooms and corridors
2026 Rooms and corridors in the dungeon are either lit or dark.
2027 Any lit areas within your line of sight will be displayed;
2028 dark areas are only displayed if they are within one space of you.
2029 Walls and corridors remain on the map as you explore them.
2031 Secret corridors are hidden and appear to be solid rock.
2032 You can find them with the \(oqs\(cq (search) command when adjacent
2033 to them.
2034 Multiple search attempts may be needed.
2035 When searching is successful, secret corridors become ordinary open
2036 corridor locations.
2037 Mapping magic reveals secret corridors, so converts them into ordinary
2038 corridors and shows them as such.
2039 .hn 2
2040 Doorways
2042 Doorways connect rooms and corridors.
2043 Some doorways have no doors; you can walk right through.
2044 Others have doors in them, which may be open, closed, or locked.
2045 To open a closed door, use the \(oqo\(cq (open)
2046 command; to close it again, use the \(oqc\(cq (close) command.
2047 By default the
2048 .op autoopen
2049 option is enabled, so simply attempting to walk onto a closed door's
2050 location will attempt to open it without needing \(oqo\(cq.
2051 Opening via
2052 .op autoopen
2053 will not work if you are \fIconfused\fP or \fIstunned\fP or suffer from
2054 the \fIfumbling\fP attribute.
2056 Open doors cannot be entered diagonally; you must approach them
2057 straight on, horizontally or vertically.
2058 Doorways without doors are
2059 not restricted in this fashion except on one particular level
2060 .\" the rogue level
2061 (described by \(lq#overview\(rq as \(lqa primitive area\(rq).
2063 Unlocking magic exists but usually won't be available early on.
2064 You can get through a locked door without magic by first using an
2065 unlocking tool with the \(oqa\(cq (apply) command, and then opening it.
2066 By default the
2067 .op autounlock
2068 option is also enabled, so if you attempt to open (via \(oqo\(cq or
2069 .op autoopen)
2070 a locked door while carrying an unlocking tool, you'll be asked whether
2071 to use it on the door's lock.
2072 Alternatively, you can break a closed door (whether locked or not) down
2073 by kicking it via the \(oq\(haD\(cq (kick) command.
2074 Kicking down a door destroys it and makes a lot of noise which might
2075 wake sleeping monsters.
2077 Some closed doors are booby-trapped and will explode if an attempt is made
2078 to open (when unlocked) or unlock (when locked) or kick down.
2079 Like kicking, an explosion destroys the door and makes a lot of noise.
2080 The \(lq#untrap\(rq command can be used to search a door for traps but
2081 might take multiple attempts to find one.
2082 When one is found, you'll be asked whether to try to disarm it.
2083 If you accede, success will eliminate the trap but
2084 failure will set off the trap's explosion.
2085 (If you decline, you effectively forget that a trap was found there.)
2087 Closed doors can be useful for shutting out monsters.
2088 Most monsters cannot open closed doors, although a few don't need to
2089 (for example, ghosts can walk through doors and fog clouds can flow
2090 under them).
2091 Some monsters who can open doors can also use unlocking tools.
2092 And some (giants) can smash doors.
2094 Secret doors are hidden and appear to be ordinary wall (from inside a
2095 room) or solid rock (from outside).
2096 You can find them with the \(oqs\(cq (search) command but it might
2097 take multiple tries (possibly many tries if your luck is poor).
2098 Once found they are in all ways equivalent to normal doors.
2099 Mapping magic does not reveal secret doors.
2100 .hn 2
2101 Traps (\(oq\(ha\(cq)
2103 There are traps throughout the dungeon to snare the unwary intruder.
2104 For example, you may suddenly fall into a pit and be stuck for a few
2105 turns trying to climb out (see below).
2106 A trap usually won't appear on your map until you trigger it by moving
2107 onto it, you see someone else trigger it, or you discover it with
2108 the \(oqs\(cq (search) command (multiple attempts are often needed;
2109 if your luck is poor, many attempts might be needed).
2110 \fIWands of secret door detection\fP and \fIspell of detect unseen\fP
2111 also reveal traps within a modest radius but only if the trap is also
2112 within line-of-sight (whether you can see at the time or not).
2113 There is also other magic which can reveal traps.
2115 Monsters can fall prey to
2116 traps, too, which can potentially be used as a defensive strategy.
2117 Unfortunately traps can be harmful to your pet(s) as well.
2118 Monsters, including pets, usually will avoid moving onto a trap which
2119 is shown on your map if they have encountered that type of trap before.
2121 Some traps such as pits, bear traps, and webs hold you in one place.
2122 You can escape by simply trying to move to an adjacent spot and repeat
2123 as needed; eventually you will get free.
2125 Other traps can send you to different locations.
2126 Teleporters send you elsewhere on the same dungeon level.
2127 Level teleporters send you to a random dungeon level, the destination
2128 chosen from a few levels lower all the way to the top.
2129 These traps choose a new destination each time they're activated.
2130 Trap doors and holes also send you to another level, but one which is
2131 always below the current level.
2132 Usually that will be the next level down but it can be farther.
2133 Unlike (level) teleporters, the destination level of a particular trap door
2134 or hole is persistent, so falling into one will bring you to the same level
2135 each time\(emthough not necessarily the same spot on the level.
2136 Magic portals behave similarly, but with some additional variation.
2137 Some portals are two-way and their remote destination is always the same:
2138 another portal which can take you back.
2139 Others are one-way and send you to a specific destination level but not
2140 necessarily to a specific location there.
2142 There is a special multi-level branch of the dungeon with pre-mapped levels
2143 based on the classic computer game \(lq\fISokoban\fP.\(rq
2144 In that game, you operate as a warehouse worker who pushes crates around
2145 obstacles to position them at designated locations.
2146 In NetHack, the goal is to push boulders into pits or holes until those
2147 traps have all been nullified, giving access to whatever is beyond them.
2148 In the Sokoban game, you can only move in the four cardinal compass
2149 directions, and a crate in its final destination blocks further access
2150 to that spot.
2151 In the Sokoban levels of NetHack, you can move diagonally (unless that
2152 would let you pass between two neighboring boulders) but you can only
2153 push boulders in the four cardinal directions, and a boulder which fills
2154 a pit or hole removes both the boulder and the trap so opens up normal
2155 access to that spot.
2156 With careful foresight, it is possible to complete all of the levels
2157 according to the traditional rules of Sokoban.
2158 (Hint: to solve Sokoban puzzles, you often need to move things away from
2159 their eventual destinations in order to open up more room to maneuver.)
2160 Since NetHack does not support an \fIundo\fP capability, some allowances
2161 are permitted in case you get stuck.
2162 For example, each level has at least one extra boulder.
2163 Also, it is possible to drop everything in order to be able to squeeze
2164 into the same location as a boulder (and then presumably move past it),
2165 or to destroy a boulder with magic or tools, or to create new boulders
2166 with a \fIscroll of earth\fP.
2167 However, doing such things will lower your luck without any specific
2168 message given about that.
2169 See the \fIConduct\fP section for information about getting feedback for
2170 your actions in Sokoban.
2171 .hn 2
2172 Stairs and ladders (\(oq<\(cq, \(oq>\(cq)
2174 In general, each level in the dungeon will have a staircase going up
2175 (\(oq<\(cq) to the previous level and another going down (\(oq>\(cq) to
2176 the next level.
2177 There are some exceptions though.
2178 For instance, fairly early
2179 in the dungeon you will find a level with two down staircases, one
2180 continuing into the dungeon and the other branching into an area
2181 known as the Gnomish Mines.
2182 Those mines eventually hit a dead end,
2183 so after exploring them (if you choose to do so), you'll need to
2184 climb back up to the main dungeon.
2186 When you traverse a set of stairs, or trigger a trap which sends you
2187 to another level, the level you're leaving will be deactivated and
2188 stored in a file on disk.
2189 If you're moving to a previously visited level, it will be loaded from
2190 its file on disk and reactivated.
2191 If you're moving to a level which has not yet been visited, it will be
2192 created (from scratch for most random levels, from a template for
2193 some \(lqspecial\(rq levels, or loaded from the remains of an earlier game
2194 for a \(lqbones\(rq level as briefly described below).
2195 Monsters are only active on the current level; those on other levels
2196 are essentially placed into stasis.
2198 Ordinarily when you climb a set of stairs, you will arrive on the
2199 corresponding staircase at your destination.  However, pets (see below)
2200 and some other monsters will follow along if they're close enough when
2201 you travel up or down stairs, and occasionally one of these creatures
2202 will displace you during the climb.  When that occurs, the pet or other
2203 monster will arrive on the staircase and you will end up nearby.
2205 Ladders serve the same purpose as staircases, and the two types of
2206 inter-level connections are nearly indistinguishable during game play.
2207 .hn 2
2208 Shops and shopping
2210 Occasionally you will run across a room with a shopkeeper near the door
2211 and many items lying on the floor.
2212 You can buy items by picking them up and then using the \(oqp\(cq command.
2213 You can inquire about the price of an item prior to picking it up by
2214 using the \(lq#chat\(rq command while standing on it.
2215 Using an item prior to paying for it will incur a
2216 charge, and the shopkeeper won't allow you to leave the shop until you
2217 have paid any debt you owe.
2219 You can sell items to a shopkeeper by dropping them to the floor while
2220 inside a shop.  You will either be offered an amount of gold and asked
2221 whether you're willing to sell, or you'll be told that the shopkeeper
2222 isn't interested (generally, your item needs to be compatible with the
2223 type of merchandise carried by the shop).
2225 If you drop something in a shop by accident, the shopkeeper will usually
2226 claim ownership without offering any compensation.  You'll have to buy
2227 it back if you want to reclaim it.
2229 Shopkeepers sometime run out of money.
2230 When that happens, you'll be
2231 offered credit instead of gold when you try to sell something.
2232 Credit can be used to pay for purchases, but it is only good in the shop
2233 where it was obtained; other shopkeepers won't honor it.
2234 (If you happen to
2235 find a \(lqcredit card\(rq in the dungeon, don't bother trying to use it in
2236 shops; shopkeepers will not accept it.)
2238 The \(oq$\(cq command, which reports the amount of gold you are carrying,
2239 will also show current shop debt or credit, if any.
2240 The \(lqIu\(rq command lists unpaid items
2241 (those which still belong to the shop) if you are carrying any.
2242 The \(lqIx\(rq command shows an inventory-like display of any unpaid
2243 items which have been used up, along with other shop fees, if any.
2244 .hn 3
2245 Shop idiosyncrasies
2247 Several aspects of shop behavior might be unexpected.
2248 .\" note: using * instead of \(bu is better for plain text output
2249 .lp * 2
2250 The price of a given item can vary due to a variety of factors.
2251 .lp * 2
2252 A shopkeeper treats the spot immediately inside the door as if it were
2253 outside the shop.
2254 .lp * 2
2255 While the shopkeeper watches you like a hawk, he or she will generally ignore
2256 any other customers.
2257 .lp * 2
2258 If a shop is \(lqclosed for inventory,\(rq it will not open of its own accord.
2259 .lp * 2
2260 Shops do not get restocked with new items, regardless of inventory depletion.
2261 .hn 2
2262 Movement feedback
2264 Moving around the map usually provides no
2265 feedback\(emother than drawing the hero at the new location\(emunless
2266 you step on an object or pile of objects,
2267 or on a trap, or attempt to move onto a spot where a monster is located.
2268 There are several options which can be used to augment the normal feedback.
2271 .op pile_limit
2272 option controls how many objects can be in a
2273 pile\(emsharing the same map location\(emfor
2274 the game to state \(lqthere are objects here\(rq instead of listing them.
2275 The default is \f(CR5\fP.
2276 Setting it to \f(CR1\fP would always give that message instead of listing
2277 any objects.
2278 Setting it to \f(CR0\fP is a special case which will always list all
2279 objects no matter how big a pile is.
2280 Note that the number refers to the count of separate stacks of objects
2281 present rather than the sum of the quantities of those stacks (so
2282 \f(CR7 arrows\fP or \f(CR25 gold pieces\fP will each count as 1 rather
2283 than as 7 and 25, respectively, and total to 2 when both are at the
2284 same location).
2286 The \(lqnopickup\(rq command prefix (default \(oq\f(CRm\fP\(cq) can be
2287 used before a movement direction to step on objects without attempting
2288 auto-pickup and without giving feedback about them.
2291 .op mention_walls
2292 option controls whether you get feedback if you try to walk into a wall
2293 or solid stone or off the edge of the map.
2294 Normally nothing happens (unless the hero is blind and no wall is shown,
2295 then the wall that is being bumped into will be drawn on the map).
2296 This option also gives feedback when rushing or running stops for
2297 some non-obvious reason.
2300 .op mention_decor
2301 option controls whether you get feedback when walking on \(lqfurniture.\(rq
2302 Normally stepping onto stairs or a fountain or an altar or various other
2303 things doesn't elicit anything unless it is covered by one or more objects
2304 so is obscured on the map.
2305 Setting this option to true will describe such things even when they
2306 aren't obscured.
2307 Doorless doorways and open doors aren't considered worthy of mention;
2308 closed doors (if you can move onto their spots) and broken doors are.
2309 Assuming that you're able to do so, moving onto water or lava or ice
2310 will give feedback if not yet on that type of terrain but not repeat it
2311 (unless there has been some intervening message) when moving from water
2312 to another water spot, or lava to lava, or ice to ice.
2313 Moving off of any of those back onto \(lqnormal\(rq terrain will give one
2314 message too, unless there is feedback about one or more objects, in which
2315 case the back on land circumstance is implied.
2318 .op confirm
2320 .op safe_pet
2321 options control what happens when you try to move onto a peaceful monster's
2322 spot or a tame one's spot.
2323 .\" getting away from "Movement feedback" here; oh well...
2325 The \(lqnopickup\(rq command prefix (default \(oq\f(CRm\fP\(cq) is
2326 also the move-without-attacking prefix and can be used to try to step
2327 onto a visible monster's spot without the move being considered an attack
2328 (see the \fIFighting\fP subsection of \fIMonsters\fP below).
2329 The \(lqfight\(rq command prefix (default \(oq\f(CRF\fP\(cq;
2330 also \(oq\f(CR\-\fP\(cq if
2331 .op number_pad
2332 is on) can be used to force an attack, when guessing where an unseen
2333 monster is or when deliberately attacking a peaceful or tame creature.
2336 .op run_mode
2337 option controls how frequently the map gets redrawn when moving more
2338 than one step in a single command (so when rushing, running, or traveling).
2339 .hn 2
2340 Rogue level
2342 One dungeon level (occurring in mid to late teens of the main dungeon)
2343 is a tribute to the ancestor game \fIhack\fP's inspiration \fIrogue\fP.
2345 It is usually displayed differently from other levels: possibly in
2346 characters instead of tiles, or without line-drawing symbols if already
2347 in characters; also, gold is shown as \f(CR*\fP rather than \f(CR$\fP
2348 and stairs are shown as \f(CR%\fP rather than \f(CR<\fP and \f(CR>\fP.
2349 There are some minor differences in actual game play: doorways lack
2350 doors; a scroll, wand, or spell of light used in a room lights up the
2351 whole room rather than within a radius around your character.
2352 And monsters represented by lower-case letters aren't randomly
2353 generated on the rogue level.
2355 The slight strangeness of this level is a feature, not a bug....
2357 .hn 1
2358 Monsters
2360 Monsters you cannot see are not displayed on the screen.  Beware!
2361 You may suddenly come upon one in a dark place.  Some magic items can
2362 help you locate them before they locate you (which some monsters can do
2363 very well).
2365 The commands \(oq/\(cq and \(oq;\(cq may be used to obtain information
2366 about those monsters who are displayed on the screen.
2367 The command \(lq#name\(rq (by default bound to \(oqC\(cq), allows you
2368 to assign a name to a monster, which may be useful to help distinguish
2369 one from another when multiple monsters are present.
2370 Assigning a name which is just a space will remove any prior name.
2372 The extended command \(lq#chat\(rq can be used to interact with an adjacent
2373 monster.
2374 There is no actual dialog (in other words, you don't get to
2375 choose what you'll say), but chatting with some monsters such as a
2376 shopkeeper or the Oracle of Delphi can produce useful results.
2377 .hn 2
2378 Fighting
2380 If you see a monster and you wish to fight it, just attempt to walk
2381 into it.
2382 Many monsters you find will mind their own business unless
2383 you attack them.
2384 Some of them are very dangerous when angered.
2385 Remember:  discretion is the better part of valor.
2387 In most circumstances, if you attempt to attack a peaceful monster by
2388 moving into its location, you'll be asked to confirm your intent.
2389 By default an answer of \(oqy\(cq acknowledges that intent,
2390 which can be error prone if you're using \(oqy\(cq to move.
2391 You can set the
2392 .op paranoid_confirmation:attack
2393 option to require a response of \(lqyes\(rq instead.
2395 If you can't see a monster (if it is invisible, or if you are blinded),
2396 the symbol \(oqI\(cq will be shown when you learn of its presence.
2397 If you attempt to walk into it, you will try to fight it just like
2398 a monster that you can see; of course,
2399 if the monster has moved, you will attack empty air.
2400 If you guess that the monster has moved and you don't wish to fight,
2401 you can use the \(oqm\(cq command to move without fighting;
2402 likewise, if you don't remember a monster but want to try fighting anyway,
2403 you can use the \(oqF\(cq command.
2404 .hn 2
2405 Your pet
2407 You start the game with a little dog (\(oq\fBd\fP\(cq),
2408 kitten (\(oq\fBf\fP\(cq), or pony (\(oq\fBu\fP\(cq), which
2409 follows you about the dungeon and fights monsters with you.
2410 Like you, your pet needs food to survive.
2411 Dogs and cats usually feed themselves on fresh carrion and other meats;
2412 horses need vegetarian food which is harder to come by.
2413 If you're worried about your pet or want to train it, you
2414 can feed it, too, by throwing it food.
2415 A properly trained pet can be very useful under certain circumstances.
2417 Your pet also gains experience from killing monsters, and can grow
2418 over time, gaining hit points and doing more damage.  Initially, your
2419 pet may even be better at killing things than you, which makes pets
2420 useful for low-level characters.
2422 Your pet will follow you up and down staircases if it is next to you
2423 when you move.  Otherwise your pet will be stranded and may become
2424 wild.  Similarly, when you trigger certain types of traps which alter
2425 your location (for instance, a trap door which drops you to a lower
2426 dungeon level), any adjacent pet will accompany you and any non-adjacent
2427 pet will be left behind.  Your pet may trigger such traps itself; you
2428 will not be carried along with it even if adjacent at the time.
2429 .hn 2
2430 Steeds
2432 Some types of creatures in the dungeon can actually be ridden if you
2433 have the right equipment and skill.
2434 Convincing a wild beast to let
2435 you saddle it up is difficult to say the least.
2436 Many a dungeoneer
2437 has had to resort to magic and wizardry in order to forge the alliance.
2438 Once you do have the beast under your control however, you can
2439 easily climb in and out of the saddle with the \(lq#ride\(rq command.
2440 Lead the beast around the dungeon when riding, in the same manner as
2441 you would move yourself.
2442 It is the beast that you will see displayed on the map.
2444 Riding skill is managed by the \(lq#enhance\(rq command.
2445 See the section on Weapon proficiency for more information about that.
2447 Use the \(oqa\(cq (apply) command and pick a saddle in your inventory to
2448 attempt to put that saddle on an adjacent creature.
2449 If successful, it will be transferred to that creature's inventory.
2451 Use the \(lq#loot\(rq command while adjacent to a saddled creature to
2452 try to remove the saddle from that creature.
2453 If successful, it will be transferred to your inventory.
2454 .hn 2
2455 Bones levels
2457 You may encounter the shades and corpses of other adventurers (or even
2458 former incarnations of yourself!) and their personal effects.  Ghosts
2459 are hard to kill, but easy to avoid, since they're slow and do little
2460 damage.  You can plunder the deceased adventurer's possessions;
2461 however, they are likely to be cursed.  Beware of whatever killed the
2462 former player; it is probably still lurking around, gloating over its
2463 last victory.
2465 .hn 2
2466 Persistence of Monsters
2468 Monsters (a generic reference which also includes humans and pets) are only
2469 shown while they can be seen or otherwise sensed.
2470 Moving to a location where you can't see or sense a monster any more
2471 will result in it disappearing from your map, similarly if it is the
2472 one who moved rather than you.
2474 However, if you encounter a monster which you can't see or
2475 sense\(emperhaps it is invisible and has just tapped you on the noggin\(ema
2476 special \(lqremembered, unseen monster\(rq marker will be displayed at
2477 the location where you think it is.
2478 That will persist until you have
2479 proven that there is no monster there, even if the unseen monster
2480 moves to another location or you move to a spot where the marker's
2481 location ordinarily wouldn't be seen any more.
2483 .hn 1
2484 Objects
2486 When you find something in the dungeon, it is common to want to pick
2487 it up.  In NetHack, this is accomplished by using the \(oq,\(cq command.
2489 .op autopickup
2490 option is on, you will automatically pick up the object
2491 by walking over, unless you move with the \(oqm\(cq prefix.
2493 If you're carrying too many items, NetHack will tell you so and you won't
2494 be able to pick up anything more.
2495 Otherwise, it will add the object(s) to your pack and tell
2496 you what you just picked up.
2498 As you add items to your inventory, you also add the weight of that object
2499 to your load.  The amount that you can carry depends on your strength and
2500 your constitution.  The
2501 stronger and sturdier
2502 you are, the less the additional load will affect you.  There comes
2503 a point, though, when the weight of all of that stuff you are carrying around
2504 with you through the dungeon will encumber you.  Your reactions
2505 will get slower and you'll burn calories faster, requiring food more frequently
2506 to cope with it.  Eventually, you'll be so overloaded that you'll either have
2507 to discard some of what you're carrying or collapse under its weight.
2509 NetHack will tell you how badly you have loaded yourself.
2510 If you are encumbered, one of the conditions
2511 \f(CRBurdened\fP, \f(CRStressed\fP, \f(CRStrained\fP,
2512 \f(CROvertaxed\fP, or \f(CROverloaded\fP will be
2513 shown on the bottom line status display.
2515 When you pick up an object, it is assigned an inventory letter.  Many
2516 commands that operate on objects must ask you to find out which object
2517 you want to use.  When NetHack asks you to choose a particular object
2518 you are carrying, you are usually presented with a list of inventory
2519 letters to choose from (see Commands, above).
2521 Some objects, such as weapons, are easily differentiated.  Others, like
2522 scrolls and potions, are given descriptions which vary according to
2523 type.  During a game, any two objects with the same description are
2524 the same type.  However, the descriptions will vary from game to game.
2526 When you use one of these objects, if its effect is obvious, NetHack
2527 will remember what it is for you.
2528 If its effect isn't extremely obvious, you will be asked what you want
2529 to call this type of object so you will recognize it later.
2530 You can also use the \(lq#name\(rq
2531 command, for the same purpose at any time, to name
2532 all objects of a particular type or just an individual object.
2533 When you use \(lq#name\(rq on an object which has already been named,
2534 specifying a space as the value will remove the prior name instead
2535 of assigning a new one.
2536 .hn 2
2537 Curses and Blessings
2539 Any object that you find may be cursed, even if the object is
2540 otherwise helpful.  The most common effect of a curse is being stuck
2541 with (and to) the item.  Cursed weapons weld themselves to your hand
2542 when wielded, so you cannot unwield them.  Any cursed item you wear
2543 is not removable by ordinary means.  In addition, cursed arms and armor
2544 usually, but not always, bear negative enchantments that make them
2545 less effective in combat.  Other cursed objects may act poorly or
2546 detrimentally in other ways.
2548 Objects can also be blessed instead.
2549 Blessed items usually work better or more beneficially than normal
2550 uncursed items.
2551 For example, a blessed weapon will do slightly more damage against demons.
2553 Objects which are neither cursed nor blessed are referred to as uncursed.
2554 They could just as easily have been described as unblessed, but the
2555 uncursed designation is what you will see within the game.
2556 A \(lqglass half full versus glass half empty\(rq situation; make of
2557 that what you will.
2559 There are magical means of bestowing or removing curses upon objects,
2560 so even if you are stuck with one, you can still have the curse
2561 lifted and the item removed.
2562 Priests and Priestesses have an innate
2563 sensitivity to this property in any object, so they can more easily avoid
2564 cursed objects than other character roles.
2565 Dropping objects onto an altar will reveal their bless or curse state
2566 provided that you can see them land.
2568 An item with unknown status will be reported in your inventory with no prefix.
2569 An item which you know the state of will be distinguished in your inventory
2570 by the presence of the word \f(CRcursed\fP, \f(CRuncursed\fP, or
2571 \f(CRblessed\fP in the description of the item.
2572 In some cases \f(CRuncursed\fP will be omitted as being redundant when
2573 enough other information is displayed.
2575 .op implicit_uncursed
2576 option can be used to control this; toggle it off to have \f(CRuncursed\fP
2577 be displayed even when that can be deduced from other attributes.
2579 Sometimes the bless or curse state of objects is referred to as their
2580 \(lq\f(CRBUC\fP\(rq attribute, for Blessed, Uncursed, or Cursed state,
2581 or \(lq\f(CRBUCX\fP\(rq for Blessed, Uncursed, Cursed, or unknown.
2582 (The term \fIbeatitude\fP is occasionally used as well.)
2583 .hn 2
2584 Weapons (\(oq)\(cq)
2586 Given a chance, most monsters in the Mazes of Menace will gratuitously try to
2587 kill you.
2588 You need weapons for self-defense (killing them first).
2589 Without a
2590 weapon, you do only 1-2 hit points of damage (plus bonuses, if any).
2591 Monk characters are an exception; they normally do more damage with
2592 bare (or gloved) hands than they do with weapons.
2594 There are wielded weapons, like maces and swords, and thrown weapons,
2595 like arrows and spears.  To hit monsters with a weapon, you must wield it and
2596 attack them, or throw it at them.  You can simply elect to throw a spear.
2597 To shoot an arrow, you should first wield a bow, then throw the arrow.
2598 Crossbows shoot crossbow bolts.  Slings hurl rocks and (other) stones
2599 (like gems).
2601 Enchanted weapons have a \(lqplus\(rq (or \(lqto hit enhancement\(rq
2602 which can be either positive or negative) that adds to your chance to
2603 hit and the damage you do to a monster.
2604 The only way to determine a weapon's
2605 enchantment is to have it magically identified somehow.
2606 Most weapons are subject to some type of damage like rust.
2607 Such \(lqerosion\(rq damage can be repaired.
2609 The chance that an attack will successfully hit a monster, and the amount
2610 of damage such a hit will do, depends upon many factors.
2611 Among them are:
2612 type of weapon, quality of weapon (enchantment and/or erosion), experience
2613 level, strength, dexterity, encumbrance, and proficiency (see below).
2614 The monster's armor
2615 class\(ema general defense rating, not necessarily due to wearing of
2616 armor\(emis
2617 a factor too; also, some monsters are particularly
2618 vulnerable to certain types of weapons.
2620 Many weapons can be wielded in one hand; some require both hands.
2621 When wielding a two-handed weapon, you can not wear a shield, and
2622 vice versa.
2623 When wielding a one-handed weapon, you can have another
2624 weapon ready to use by setting things up with the \(oqx\(cq command, which
2625 exchanges your primary (the one being wielded) and alternate weapons.
2626 And if you have proficiency in the \(lqtwo weapon combat\(rq skill, you
2627 may wield both weapons simultaneously as primary and secondary; use the
2628 \(oqX\(cq command to engage or disengage that.
2629 Only some types of characters (barbarians, for instance) have the
2630 necessary skill available.
2631 Even with that skill, using two weapons at once incurs
2632 a penalty in the chance to hit your target compared to using just one
2633 weapon at a time.
2635 There might be times when you'd rather not wield any weapon at all.
2636 To accomplish that, wield \(oq\-\(cq, or else use the \(oqA\(cq command which
2637 allows you to unwield the current weapon in addition to taking off
2638 other worn items.
2640 Those of you in the audience who are AD&D players, be aware that each
2641 weapon which existed in AD&D does roughly the same damage to monsters in
2642 NetHack.
2643 Some of the more obscure weapons (such as the \fIaklys\fP,
2644 \fIlucern hammer\fP, and \fIbec-de-corbin\fP) are defined in an
2645 appendix to \fIUnearthed Arcana\fP, an AD&D supplement.
2647 The commands to use weapons are \(oqw\(cq (wield), \(oqt\(cq (throw),
2648 \(oqf\(cq (fire), \(oqQ\(cq (quiver),
2649 \(oqx\(cq (exchange), \(oqX\(cq (twoweapon), and \(lq#enhance\(rq
2650 (see below).
2651 .hn 3
2652 Throwing and shooting
2654 You can throw just about anything via the \(oqt\(cq command.  It will prompt
2655 for the item to throw; picking \(oq?\(cq will list things in your inventory
2656 which are considered likely to be thrown, or picking \(oq*\(cq will list
2657 your entire inventory.
2658 After you've chosen what to throw, you will
2659 be prompted for a direction rather than for a specific target.
2660 The distance something can be thrown depends mainly on the type of object
2661 and your strength.
2662 Arrows can be thrown by hand, but can be thrown
2663 much farther and will be more likely to hit when thrown while you are
2664 wielding a bow.
2666 Some weapons will return when thrown.
2667 A boomerang\(emprovided it fails to hit anything\(emis an obvious example.
2668 If an aklys (thonged club) is thrown while it is wielded, it will return
2669 even when it hits something.
2670 A sufficiently strong hero can throw the warhammer \fIMjollnir\fP;
2671 when thrown by a \fIValkyrie\fP it will return too.
2672 However, aklyses and \fIMjollnir\fP occasionally fail to return.
2673 Returning thrown objects occasionally fail to be caught, sometimes even
2674 hitting the thrower, but when caught they become re-wielded.
2676 You can simplify the throwing operation by using the \(oqQ\(cq command to
2677 select your preferred \(lqmissile\(rq, then using the \(oqf\(cq command to
2678 throw it.
2679 You'll be prompted for a direction as above, but you don't
2680 have to specify which item to throw each time you use \(oqf\(cq.
2681 There is also an option,
2682 .op autoquiver,
2683 which has NetHack choose another item to automatically fill your
2684 quiver (or quiver sack, or have at the ready) when the inventory slot used
2685 for \(oqQ\(cq runs out.
2686 If your quiver is empty,
2687 .op autoquiver
2688 is false, and you are wielding a weapon which returns when thrown,
2689 you will throw that weapon instead of filling the quiver.
2690 The fire command also has extra assistance, if
2691 .op fireassist
2692 is on it will try to wield a launcher matching the ammo in the quiver.
2694 Some characters have the ability to throw or shoot a volley of multiple
2695 items (from the same stack) in a single action.
2696 Knowing how to load several rounds of ammunition at
2697 once\(emor hold several missiles in your hand\(emand
2698 still hit a target is not an easy task.
2699 Rangers are among those who are adept
2700 at this task, as are those with a high level of proficiency in the
2701 relevant weapon skill (in bow skill if you're wielding one to
2702 shoot arrows, in crossbow skill if you're wielding one to shoot bolts,
2703 or in sling skill if you're wielding one to shoot stones).
2704 The number of items that the character has a chance to fire varies from
2705 turn to turn.
2706 You can explicitly limit the number of shots by using a
2707 numeric prefix before the \(oqt\(cq or \(oqf\(cq command.
2708 For example, \(lq2f\(rq (or \(lqn2f\(rq if using
2709 .op number_pad
2710 mode) would ensure that at most 2 arrows are shot
2711 even if you could have fired 3.
2712 If you specify
2713 a larger number than would have been shot (\(lq4f\(rq in this example),
2714 you'll just end up shooting the same number (3, here) as if no limit
2715 had been specified.
2716 Once the volley is in motion, all of the items
2717 will travel in the same direction; if the first ones kill a monster,
2718 the others can still continue beyond that spot.
2719 .hn 3
2720 Weapon proficiency
2722 You will have varying degrees of skill in the weapons available.
2723 Weapon proficiency, or weapon skills, affect how well you can use
2724 particular types of weapons, and you'll be able to improve your skills
2725 as you progress through a game, depending on your role, your experience
2726 level, and use of the weapons.
2728 For the purposes of proficiency, weapons have
2729 been divided up into various groups such as daggers, broadswords, and
2730 polearms.  Each role has a limit on what level of proficiency a character
2731 can achieve for each group.  For instance, wizards can become highly
2732 skilled in daggers or staves but not in swords or bows.
2734 The \(lq#enhance\(rq extended command is used to review current weapons
2735 proficiency
2736 (also spell proficiency) and to choose which skill(s) to improve when
2737 you've used one or more skills enough to become eligible to do so.
2738 The skill rankings are \(lqnone\(rq (sometimes also referred to as
2739 \(lqrestricted\(rq, because you won't be able to advance),
2740 \(lqunskilled\(rq, \(lqbasic\(rq, \(lqskilled\(rq, and \(lqexpert\(rq.
2741 Restricted skills simply will not appear in the list shown by
2742 \(lq#enhance\(rq.
2743 (Divine intervention might unrestrict a particular
2744 skill, in which case it will start at unskilled and be limited to basic.)
2745 Some characters can enhance their barehanded combat or martial arts skill
2746 beyond expert to \(lqmaster\(rq or \(lqgrand master\(rq.
2748 Use of a weapon in which you're restricted or unskilled
2749 will incur a modest penalty in the chance to hit a monster and also in
2750 the amount of damage done when you do hit; at basic level, there is no
2751 penalty or bonus; at skilled level, you receive a modest bonus in the
2752 chance to hit and amount of damage done; at expert level, the bonus is
2753 higher.
2754 A successful hit has a chance to boost your training towards
2755 the next skill level (unless you've already reached the limit for this
2756 skill).
2757 Once such training reaches the threshold for that next level,
2758 you'll be told that you feel more confident in your skills.
2759 At that point you can use \(lq#enhance\(rq to increase one or more skills.
2760 Such skills
2761 are not increased automatically because there is a limit to your total
2762 overall skills, so you need to actively choose which skills to enhance
2763 and which to ignore.
2764 .hn 3
2765 Two-Weapon combat
2767 Some characters can use two weapons at once.
2768 Setting things up to
2769 do so can seem cumbersome but becomes second nature with use.
2770 To wield two weapons, you need to use the \(lq#twoweapon\(rq command.
2771 But first you need to have a weapon in each hand.
2772 (Note that your two weapons are not fully equal; the one in the
2773 hand you normally wield with is considered primary and the other
2774 one is considered secondary.
2775 The most noticeable difference is after you
2776 stop\(emor before you begin, for that matter\(emwielding
2777 two weapons at once.
2778 The primary is your wielded weapon and the
2779 secondary is just an item in your inventory that's been designated
2780 as alternate weapon.)
2782 If your primary weapon is wielded but your off hand is empty or has
2783 the wrong weapon, use the sequence \(oq\fBx\fP\(cq, \(oq\fBw\fP\(cq,
2784 \(oq\fBx\fP\(cq to first swap your
2785 primary into your off hand, wield whatever you want as secondary
2786 weapon, then swap them both back into the intended hands.
2787 If your secondary or alternate weapon is correct but your primary
2788 one is not, simply use \(oq\fBw\fP\(cq to wield the primary.
2789 Lastly, if neither hand holds the correct weapon,
2790 use \(oq\fBw\fP\(cq, \(oq\fBx\fP\(cq, \(oq\fBw\fP\(cq
2791 to first wield the intended secondary, swap it to off hand, and then
2792 wield the primary.
2794 The whole process can be simplified via use of the
2795 .op pushweapon
2796 option.
2797 When it is enabled, then using \(oqw\(cq to wield something
2798 causes the currently wielded weapon to become your alternate weapon.
2799 So the sequence \(oq\fBw\fP\(cq, \(oq\fBw\fP\(cq can be used to first
2800 wield the weapon you
2801 intend to be secondary, and then wield the one you want as primary
2802 which will push the first into secondary position.
2804 When in two-weapon combat mode, using the \(oqX\(cq command
2805 toggles back to single-weapon mode.
2806 Throwing or dropping either of the
2807 weapons or having one of them be stolen or destroyed will also make you
2808 revert to single-weapon combat.
2809 .hn 2
2810 Armor (\(oq[\(cq)
2812 Lots of unfriendly things lurk about; you need armor to protect
2813 yourself from their blows.  Some types of armor offer better
2814 protection than others.  Your armor class is a measure of this
2815 protection.  Armor class (AC) is measured as in AD&D, with 10 being
2816 the equivalent of no armor, and lower numbers meaning better armor.
2817 Each suit of armor which exists in AD&D gives the same protection in
2818 NetHack.
2820 Here is a list of the armor class values provided by suits of armor:
2822 .\" Replace the old one suit per line table with a more condensed one.
2823 .\" AC4 and AC7 have been split into two lines to accommodate plain text
2824 .\" output (Guidebook.txt).  AC4 needs it to reduce overall width; after
2825 .\" that, AC7 became the longest and the table looks better by shortening
2826 .\" it to get the second column (number) closer to the text on most lines.
2827 .\" Both AC4 and AC7 have trailing tab plus empty comment on their first
2828 .\" line and leading spaces to indent their second line.
2830 center;
2831 l r.
2832 Dragon scale mail       1
2833 Plate mail, Crystal plate mail  3
2834 Bronze plate mail, Splint mail, \&
2835    Banded mail, Dwarvish mithril-coat   4
2836 Chain mail, Elven mithril-coat  5
2837 Scale mail, Orcish chain mail   6
2838 Ring mail, Studded leather armor,       \&
2839    Dragon scales        7
2840 Leather armor, Orcish ring mail 8
2841 Leather jacket  9
2842 none    10
2845 You can also wear other pieces of armor (cloak over suit, shirt under
2846 suit, helmet, gloves, boots, shield) to lower your armor class even
2847 further.
2848 .\"--too obvious to mention unless we include polymorph into ettin or maralith
2849 .\" You can wear at most one item of each category (one suit of armor, one
2850 .\" cloak, one helmet, one shield, and so on) at a time.
2851 Most of these provide a one or two point improvement to AC (making the
2852 overall value smaller and eventually negative) but can also be
2853 enchanted.
2854 Shirts are an exception; they don't provide any protection unless enchanted.
2855 Some cloaks also don't improve AC when unenchanted but all cloaks offer
2856 some protection against rust or corrosion to suits worn under them and
2857 against some monster \fItouch\fP attacks.
2859 If a piece of armor is enchanted, its armor protection will be better
2860 (or worse) than normal, and its \(lqplus\(rq (or minus) will subtract from
2861 your armor class.
2862 For example, a +1 chain mail would give you
2863 better protection than normal chain mail, lowering your armor class one
2864 unit further to 4.
2865 When you put on a piece of armor, you immediately
2866 find out the armor class and any \(lqplusses\(rq it provides.
2867 Cursed pieces of armor usually have negative enchantments (minuses) in
2868 addition to being unremovable.
2870 Many types of armor are subject to some kind of damage like rust.  Such
2871 damage can be repaired.  Some types of armor may inhibit spell casting.
2874 .op nudist
2875 option can be set (prior to game start) to attempt to play the entire
2876 game without wearing any armor (a self-imposed challenge which is
2877 extremely difficult to accomplish).
2879 The commands to use armor are \(oqW\(cq (wear) and \(oqT\(cq (take off).
2880 The \(oqA\(cq command can be used to take off armor as well as other
2881 worn items.
2882 Also, \(oqP\(cq (put on) and \(oqR\(cq (remove) which are normally for
2883 accessories can be used for armor, but pieces of armor won't be shown
2884 as likely candidates in a prompt for choosing what to put on or remove.
2885 .hn 2
2886 Food (\(oq%\(cq)
2888 Food is necessary to survive.
2889 If you go too long without eating you
2890 will faint, and eventually die of starvation.
2891 Some types of food will
2892 spoil, and become unhealthy to eat, if not protected.
2893 Food stored in
2894 ice boxes or tins (\(lqcans\(rq) will usually stay fresh, but
2895 ice boxes are heavy, and tins take a while to open.
2897 When you kill monsters, they usually leave corpses which are also
2898 \(lqfood.\(rq
2899 Many, but not all, of these are edible; some also give you
2900 special powers when you eat them.
2901 A good rule of thumb is \(lqyou are what you eat.\(rq
2903 Some character roles and some monsters are vegetarian.  Vegetarian monsters
2904 will typically never eat animal corpses, while vegetarian players can,
2905 but with some rather unpleasant side-effects.
2907 You can name one food item after something you like to eat with the
2908 .op fruit
2909 option.
2911 The command to eat food is \(oqe\(cq.
2912 .hn 2
2913 Scrolls (\(oq?\(cq)
2915 Scrolls are labeled with various titles, probably chosen by ancient wizards
2916 for their amusement value (for example \(lqREAD ME,\(rq or \(lqTHANX MAUD\(rq
2917 backwards).
2918 Scrolls disappear after you read them (except for blank ones, without
2919 magic spells on them).
2921 One of the most useful of these is the \fIscroll of identify\fP, which
2922 can be used to determine what another object is, whether it is cursed or
2923 blessed, and how many uses it has left.  Some objects of subtle
2924 enchantment are difficult to identify without these.
2926 A mail daemon may run up and deliver mail to you as a
2927 \fIscroll of mail\fP (on versions compiled with this feature).
2928 To use this feature on versions where NetHack mail delivery is triggered
2929 by electronic mail appearing in your system mailbox,
2930 you must let NetHack know where to look for new mail by setting
2931 the \(lqMAIL\(rq environment variable to the file name of your mailbox.
2932 You may also want to set the \(lqMAILREADER\(rq environment
2933 variable to the file name of your favorite reader, so NetHack can shell to it
2934 when you read the scroll.
2935 On versions of NetHack where mail is randomly generated internal to the game,
2936 these environment variables are ignored.
2937 You can disable the mail daemon by turning off the
2938 .op mail
2939 option.
2941 The command to read a scroll is \(oqr\(cq.
2942 .hn 2
2943 Potions (\(oq!\(cq)
2945 Potions are distinguished by the color of the liquid inside the flask.
2946 They disappear after you quaff them.
2948 Clear potions are potions of water.
2949 Sometimes these are blessed or cursed, resulting in holy or unholy water.
2950 Holy water is the bane of the undead, so
2951 potions of holy water are good things to throw (\(oqt\(cq) at them.
2952 It is also
2953 sometimes very useful to dip (\(lq#dip\(rq) an object into a potion.
2955 The command to drink a potion is \(oqq\(cq (quaff).
2956 .hn 2
2957 Wands (\(oq/\(cq)
2959 Wands usually have multiple magical charges.
2960 Some types of wands require a direction in which to zap them.
2961 You can also zap them at yourself (just give a \(oq.\(cq or \(oqs\(cq
2962 for the direction).
2963 Be warned, however, for this is often unwise.
2964 Other types of wands don't require a direction.
2965 The number of charges in a wand is random and
2966 decreases by one whenever you use it.
2968 When the number of charges left in a wand becomes zero, attempts to use the
2969 wand will usually result in nothing happening.  Occasionally, however, it may
2970 be possible to squeeze the last few mana points from an otherwise spent wand,
2971 destroying it in the process.  A wand may be recharged by using suitable
2972 magic, but doing so runs the risk of causing it to explode.  The chance
2973 for such an explosion starts out very small and increases each time the
2974 wand is recharged.
2976 In a truly desperate situation, when your back is up against the wall, you
2977 might decide to go for broke and break your wand.  This is not for the faint
2978 of heart.  Doing so will almost certainly cause a catastrophic release of
2979 magical energies.
2981 When you have fully identified a particular wand, inventory display will
2982 include additional information in parentheses: the number of times it has
2983 been recharged followed by a colon and then by its current number of charges.
2984 A current charge count of -1 is a special case indicating that the wand
2985 has been cancelled.
2987 The command to use a wand is \(oqz\(cq (zap).
2988 To break one, use the \(oqa\(cq (apply) command.
2989 .hn 2
2990 Rings (\(oq=\(cq)
2992 Rings are very useful items, since they are relatively permanent
2993 magic, unlike the usually fleeting effects of potions, scrolls, and
2994 wands.
2996 Putting on a ring activates its magic.
2997 You can wear at most two rings at any time, one on the ring finger of
2998 each hand.
3000 Most worn rings also cause you to grow hungry more rapidly, the rate
3001 varying with the type of ring.
3003 When wearing gloves, rings are worn underneath.
3004 If the gloves are cursed, rings cannot be put on and any already being
3005 worn cannot be removed.
3006 When worn gloves aren't cursed, you don't have to manually take them
3007 off before putting on or removing a ring and then re-wear them after.
3008 That's done implicitly to avoid unnecessary tedium.
3010 The commands to use rings are \(oqP\(cq (put on) and \(oqR\(cq (remove).
3011 \(oqA\(cq, \(oqW\(cq, and \(oqT\(cq can also be used; see \fIAmulets\fP.
3012 .hn 2
3013 Spellbooks (\(oq+\(cq)
3015 Spellbooks are tomes of mighty magic.
3016 When studied with the \(oqr\(cq (read)
3017 command, they transfer to the reader the knowledge of a spell (and
3018 therefore eventually become
3019 unreadable)\(emunless
3020 the attempt backfires.
3021 Reading a cursed spellbook or one with mystic runes beyond
3022 your ken can be harmful to your health!
3024 A spell (even when learned) can also backfire when you cast it.
3025 If you
3026 attempt to cast a spell well above your experience level, or if you have
3027 little skill with the appropriate spell type, or cast it at
3028 a time when your luck is particularly bad, you can end up wasting both the
3029 energy and the time required in casting.
3031 Casting a spell calls forth magical energies and focuses them with
3032 your naked mind.
3033 Some of the magical energy released comes from within you.
3034 Casting temporarily drains your magical power, which will slowly be
3035 recovered, and causes you to need additional food.
3036 Casting of spells also requires practice.
3037 With practice, your
3038 skill in each category of spell casting will improve.  Over time, however,
3039 your memory of each spell will dim, and you will need to relearn it.
3041 Some spells require a direction in which to cast them, similar to wands.
3042 To cast one at yourself, just give a \(oq.\(cq or \(oqs\(cq for the direction.
3043 A few spells require you to pick a target location rather than just specify
3044 a particular direction.
3045 Other spells don't require any direction or target.
3047 Just as weapons are divided into groups in which a character can become
3048 proficient (to varying degrees), spells are similarly grouped.
3049 Successfully casting a spell exercises its skill group; using the
3050 \(lq#enhance\(rq command to advance a sufficiently exercised skill
3051 will affect all spells within the group.
3052 Advanced skill may increase the
3053 potency of spells, reduce their risk of failure during casting attempts,
3054 and improve the accuracy of the estimate for how much longer they will
3055 be retained in your memory.
3056 Skill slots are shared with weapons skills.
3057 (See also the section on \(lqWeapon proficiency\(rq.)
3059 Casting a spell also requires flexible movement, and wearing various types
3060 of armor may interfere with that.
3062 The command to read a spellbook is the same as for scrolls, \(oqr\(cq (read).
3063 The \(oq+\(cq command lists each spell you know along with its level, skill
3064 category, chance of failure when casting, and an estimate of how strongly
3065 it is remembered.
3066 The \(oqZ\(cq (cast) command casts a spell.
3067 .hn 2
3068 Tools (\(oq(\(cq)
3070 Tools are miscellaneous objects with various purposes.  Some tools
3071 have a limited number of uses, akin to wand charges.  For example, lamps burn
3072 out after a while.  Other tools are containers, which objects can
3073 be placed into or taken out of.
3075 Some tools (such as a blindfold) can be \fIworn\fP and can be put on and
3076 removed like other accessories (rings, amulets); see \fIAmulets\fP.
3077 Other tools (such as pick-axe) can be wielded as weapons in addition to
3078 being applied for their usual purpose, and in some cases (again, pick-axe)
3079 become wielded as a weapon even when applied.
3081 .\" Mentioned here because of the old method of attempting "Zen" conduct:
3082 .\" restart until there's a blindfold in starting inventory and put it on
3083 .\" first thing.
3085 .op blind
3086 option can be set (prior to game start) to attempt to play the entire
3087 game without being able to see (a self-imposed challenge which is
3088 very difficult to accomplish).
3090 The command to use a tool is \(oqa\(cq (apply).
3091 .hn 3
3092 Containers
3094 You may encounter bags, boxes, and chests in your travels.
3095 A tool of
3096 this sort can be opened with the \(lq#loot\(rq extended command when
3097 you are standing on top of it (that is, on the same floor spot),
3098 or with the \(oqa\(cq (apply) command when you are carrying it.
3099 However, chests are often locked, and are in any case unwieldy objects.
3100 You must set one down before unlocking it by
3101 using a key or lock-picking tool with the \(oqa\(cq (apply) command,
3102 by kicking it with the \(oq\(haD\(cq command, or by using a weapon to force
3103 the lock with the \(lq#force\(rq extended command.
3105 Some chests are trapped, causing nasty things to happen when you
3106 unlock or open them.
3107 You can check for and try to deactivate traps
3108 with the \(lq#untrap\(rq extended command.
3110 When the contents of a container are known, that container will be
3111 described as something like \(lqa sack containing 3 items\(rq.
3112 In this example, the 3 refers to number of \fIstacks\fP of compatible
3113 items, not to the total number of individual items.
3114 So a sack holding 2 sky blue potions, 7 arrows, and 350 gold pieces would be
3115 described as having 3 items rather than 10 or 359.
3116 And you would need to have 3 unused inventory slots available in order
3117 to take everything out (for the case where the items you remove don't
3118 combine into bigger stacks with things you're already carrying).
3120 If a chest or large box is described as \(lqbroken\(rq, that means that it
3121 can't be locked rather than that it no longer functions as a container.
3123 The \fIapply\fP and \fIloot\fP commands allow you to take out and/or
3124 put in an arbitrary number of items in a single operation.
3125 If you want to take everything out of a container, you can use the
3126 \(lq#tip\(rq command to pour the contents onto the floor.
3127 This may be your only way to get things out if your hands are stuck
3128 to a cursed two-handed weapon.
3129 When your hands aren't stuck, you have the potential to pour the
3130 contents into another container.
3131 (As of this writing, the other container must be carried rather than on
3132 the floor.)
3133 .hn 2
3134 Amulets (\(oq"\(cq)
3136 Amulets are very similar to rings, and often more powerful.  Like
3137 rings, amulets have various magical properties, some beneficial,
3138 some harmful, which are activated by putting them on.
3140 Only one amulet may be worn at a time, around your neck.
3141 Like wearing rings, wearing an amulet affects your metabolism, causing
3142 you to grow hungry more rapidly.
3144 The commands to use amulets are the same as for rings, \(oqP\(cq (put on)
3145 and \(oqR\(cq (remove).
3146 \(oqA\(cq can be used to remove various worn items including amulets.
3147 Also, \(oqW\(cq (wear) and \(oqT\(cq (take off) which are normally for
3148 armor can be used for amulets and other accessories (rings and eyewear),
3149 but accessories won't be shown as likely candidates in a prompt for
3150 choosing what to wear or take off.
3151 .hn 2
3152 Gems (\(oq*\(cq)
3154 Some gems are valuable, and can be sold for a lot of gold.
3155 They are also a far more efficient way of carrying your riches.
3156 Valuable gems increase your score if you bring them with you when you exit.
3158 Other small rocks are also categorized as gems, but they are much less
3159 valuable.
3160 All rocks, however, can be used as projectile weapons (if you have a sling).
3161 In the most desperate of cases, you can still throw them by hand.
3162 .hn 2
3163 Large rocks (\(oq\`\(cq)
3165 Statues and boulders are not particularly useful, and are generally heavy.
3166 It is rumored that some statues are not what they seem.
3168 Boulders occasionally block your path.
3169 You can push one forward (by attempting to walk onto its spot)
3170 when nothing blocks \fIits\fP path, or you can
3171 smash it into a pile of small rocks with breaking magic or a pick-axe.
3172 It is possible to move onto a boulder's location if certain conditions
3173 are met; ordinarily one of those conditions is that pushing it any
3174 further be blocked.
3175 Using the move-without-picking-up prefix (default key \(oq\f(CRm\fP\(cq)
3176 prior to the direction of movement will attempt to move to a boulder's
3177 location without pushing it in addition to the prefix's usual action of
3178 suppressing auto-pickup at the destination.
3180 Very large humanoids (giants and their ilk) have been known to pick up
3181 boulders and use them as missile weapons.
3183 Unlike boulders, statues can't be pushed, but don't need to be because
3184 they don't block movement.
3185 .\" 'rumor' above is about statue traps; this is a hint about statue contents
3186 They can be smashed into rocks though.
3188 For some configurations of the program, statues are no longer shown as
3189 \(oq\f(CR\`\fP\(cq but by the letter representing the monster they depict
3190 instead.
3191 .hn 2
3192 Gold (\(oq$\(cq)
3194 Gold adds to your score, and you can buy things in shops with it.
3195 There are a number
3196 of monsters in the dungeon that may be influenced by the amount of gold
3197 you are carrying (shopkeepers aside).
3199 Gold pieces are the only type of object where bless/curse state does not
3200 apply.
3201 They're always uncursed but never described as uncursed even if you turn
3202 off the
3203 .op implicit_uncursed
3204 option.
3205 You can set the
3206 .op goldX
3207 option if you prefer to have gold pieces be treated as bless/curse state
3208 \fIunknown\fP rather than as known to be uncursed.
3209 Only matters when you're using an object selection prompt that can filter
3210 by \(lq\f(CRBUCX\fP\(rq state.
3212 .hn 2
3213 Persistence of Objects
3215 Normally, if you have seen an object at a particular map location and
3216 move to another location where you can't directly see that object any
3217 more, it will continue to be displayed on your map.
3218 That remains the case even if it is not actually there any
3219 more\(emperhaps a monster has picked it up or it has rotted away\(emuntil
3220 you can see or feel that location again.
3221 One notable exception is that if the object gets covered by the
3222 \(lqremembered, unseen monster\(rq marker.
3223 When that marker is later removed
3224 after you've verified that no monster is there, you will have forgotten that
3225 there was any object there regardless of whether the unseen monster
3226 actually took the object.
3227 If the object is still there, then once you see or feel that location
3228 again you will re-discover the object and resume remembering it.
3230 The situation is the same for a pile of objects, except that only the
3231 top item of the pile is displayed.
3233 .op hilite_pile
3234 option can be enabled in order to show an item differently when it is
3235 the top one of a pile.
3237 .hn 1
3238 Conduct
3240 As if winning NetHack were not difficult enough, certain players
3241 seek to challenge themselves by imposing restrictions on the
3242 way they play the game.
3243 The game automatically tracks some of
3244 these challenges, which can be checked at any time with the #conduct
3245 command or at the end of the game.
3246 When you perform an action which
3247 breaks a challenge, it will no longer be listed.
3248 This gives players extra \(lqbragging rights\(rq for winning the game
3249 with these challenges.
3250 Note that it is perfectly acceptable to win the game
3251 without resorting to these restrictions and that it is unusual for
3252 players to adhere to challenges the first time they win the game.
3254 Several of the challenges are related to eating behavior.  The most
3255 difficult of these is the foodless challenge.  Although creatures
3256 can survive long periods of time without food, there is a physiological
3257 need for water; thus there is no restriction on drinking beverages,
3258 even if they provide some minor food benefits.
3259 Calling upon your god for help with starvation does
3260 not violate any food challenges either.
3262 A strict vegan diet is one which avoids any food derived from animals.
3263 The primary source of nutrition is fruits and vegetables.
3264 The corpses and tins of blobs (\(oqb\(cq), jellies (\(oqj\(cq), and
3265 fungi (\(oqF\(cq) are also considered to be vegetable matter.
3266 Certain human
3267 food is prepared without animal products; namely, lembas wafers, cram
3268 rations, food rations (gunyoki), K-rations, and C-rations.
3269 Metal or another normally indigestible material eaten while polymorphed
3270 into a creature that can digest it is also considered vegan food.
3271 Note however that eating such items still counts against foodless conduct.
3273 Vegetarians do not eat animals;
3274 however, they are less selective about eating animal byproducts than vegans.
3275 In addition to the vegan items listed above, they may eat any kind
3276 of pudding (\(oqP\(cq) other than the black puddings,
3277 eggs and food made from eggs (fortune cookies and pancakes),
3278 food made with milk (cream pies and candy bars), and lumps of
3279 royal jelly.  Monks are expected to observe a vegetarian diet.
3281 Eating any kind of meat violates the vegetarian, vegan, and foodless
3282 conducts.  This includes tripe rations, the corpses or tins of any
3283 monsters not mentioned above, and the various other chunks of meat
3284 found in the dungeon.  Swallowing and digesting a monster while polymorphed
3285 is treated as if you ate the creature's corpse.
3286 Eating leather, dragon hide, or bone items while
3287 polymorphed into a creature that can digest it, or eating monster brains
3288 while polymorphed into a mind flayer, is considered eating
3289 an animal, although wax is only an animal byproduct.
3291 Regardless of conduct, there will be some items which are indigestible,
3292 and others which are hazardous to eat.
3293 Using a swallow-and-digest
3294 attack against a monster is equivalent to eating the monster's corpse.
3295 Please note that the term \(lqvegan\(rq is used here only in the context of
3296 diet.
3297 You are still free to choose not to use or wear items derived
3298 from animals (e.g. leather, dragon hide, bone, horns, coral), but the
3299 game will not keep track of this for you.
3300 Also note that \(lqmilky\(rq
3301 potions may be a translucent white, but they do not contain milk,
3302 so they are compatible with a vegan diet.
3303 Slime molds or
3304 player-defined \(lqfruits\(rq, although they could be anything
3305 from \(lqcherries\(rq to \(lqpork chops\(rq, are also assumed to be vegan.
3307 An atheist is one who rejects religion.  This means that you cannot
3308 #pray, #offer sacrifices to any god, #turn undead, or #chat with a priest.
3309 Particularly selective readers may argue that playing Monk or Priest
3310 characters should violate this conduct; that is a choice left to the
3311 player.  Offering the Amulet of Yendor to your god is necessary to
3312 win the game and is not counted against this conduct.  You are also
3313 not penalized for being spoken to by an angry god, priest(ess), or
3314 other religious figure; a true atheist would hear the words but
3315 attach no special meaning to them.
3317 Most players fight with a wielded weapon (or tool intended to be
3318 wielded as a weapon).  Another challenge is to win the game without
3319 using such a wielded weapon.  You are still permitted to throw,
3320 fire, and kick weapons; use a wand, spell, or other type of item;
3321 or fight with your hands and feet.
3323 In NetHack, a pacifist refuses to cause the death of any other monster
3324 (i.e. if you would get experience for the death).  This is a particularly
3325 difficult challenge, although it is still possible to gain experience
3326 by other means.
3328 An illiterate character does not read or write.
3329 This includes reading
3330 a scroll, spellbook, fortune cookie message, or t-shirt; writing a
3331 scroll; or making an engraving of anything other than a single \(lqX\(rq
3332 (the traditional signature of an illiterate person).
3333 Reading an engraving,
3334 or any item that is absolutely necessary to win the game, is not counted
3335 against this conduct.
3336 The identity of scrolls and spellbooks (and
3337 knowledge of spells) in your starting inventory is assumed to be
3338 learned from your teachers prior to the start of the game and isn't
3339 counted.
3341 There is a side-branch to the main dungeon called \(lqSokoban,\(rq briefly
3342 described in the earlier section about \fITraps\fP.
3343 As mentioned there, the goal is to push boulders into pits and/or holes
3344 to plug those in order to both get the boulders out of the way and be
3345 able to go past the traps.
3346 There are some special \(lqrules\(rq that are active when in that branch
3347 of the dungeon.
3348 Some rules can't be bypassed, such as being unable to push a boulder
3349 diagonally.
3350 Other rules can, such as not smashing boulders with magic or tools,
3351 but doing so causes you to receive a luck penalty.
3352 No message about that is given at the time, but it is tracked as a conduct.
3353 The #conduct command and end of game disclosure will report whether
3354 you have abided by the special rules of Sokoban, and if not, how many
3355 times you violated them, providing you with a way to discover which
3356 actions incur bad luck so that you can be better informed about whether
3357 or not to avoid repeating those actions in the future.
3358 (Note:  the Sokoban conduct will only be displayed if you have
3359 entered the Sokoban branch of the dungeon during the current game.
3360 Once that has happened, it becomes part of disclosed conduct even if
3361 you haven't done anything interesting there.
3362 Ending the game with \(lqnever broke the Sokoban rules\(rq conduct is most
3363 meaningful if you also manage to perform
3364 the \(lqobtained the Sokoban prize\(rq achievement
3365 (see \fIAchievements\fP below).)
3367 There are several other challenges tracked by the game.
3368 It is possible
3369 to eliminate one or more species of monsters by genocide; playing without
3370 this feature is considered a challenge.
3371 When the game offers you an
3372 opportunity to genocide monsters, you may respond with the monster type
3373 \(lqnone\(rq if you want to decline.
3374 You can change the form of an item into
3375 another item of the same type (\(lqpolypiling\(rq) or the form of your own
3376 body into another creature (\(lqpolyself\(rq) by wand, spell, or potion of
3377 polymorph; avoiding these effects are each considered challenges.
3378 Polymorphing monsters, including pets, does not break either of these
3379 challenges.
3380 Finally, you may sometimes receive wishes; a game without an attempt to
3381 wish for any items is a challenge, as is a game without wishing for
3382 an artifact (even if the artifact immediately disappears).
3383 When the game offers you an opportunity to make a wish for an item,
3384 you may choose \(lqnothing\(rq if you want to decline.
3385 .hn 2
3386 Achievements
3388 End of game disclosure will also display various achievements
3389 representing progress toward ultimate ascension, if any have been
3390 attained.
3391 They aren't directly related to \fIconduct\fP but are grouped with
3392 it because they fall into the same category of \(lqbragging rights\(rq
3393 and to limit the number of questions during disclosure.
3394 Listed here roughly in order of difficulty and not necessarily in the order
3395 in which you might accomplish them.
3398 center;
3399 L Lz2 L.
3400 \fIRank\fP      \-      Attained rank title \fIRank\fP.
3401 Shop    \-      Entered a shop.
3402 Temple  \-      Entered a temple.
3403 Mines   \-      Entered the Gnomish Mines.
3404 Town    \-      Entered Mine Town.
3405 Oracle  \-      Consulted the Oracle of Delphi.
3406 Novel   \-      Read a passage from a Discworld Novel.
3407 Sokoban \-      Entered Sokoban.
3408 Big Room        \-      Entered the Big Room.
3409 Soko-Prize      \-      T{
3410 Explored to the top of Sokoban and found a special item there.
3412 Mines' End      \-      T{
3413 Explored to the bottom of the Gnomish Mines and found a special item
3414 there.
3416 Medusa  \-      Defeated Medusa.
3417 Tune    \-      T{
3418 Discovered the tune that can be used to open and close the drawbridge on
3419 the Castle level.
3421 Bell    \-      Acquired the Bell of Opening.
3422 Gehennom        \-      Entered Gehennom.
3423 Candle  \-      Acquired the Candelabrum of Invocation.
3424 Book    \-      Acquired the Book of the Dead.
3425 Invocation      \-      T{
3426 Gained access to the bottommost level of Gehennom.
3428 Amulet  \-      Acquired the fabled Amulet of Yendor.
3429 Endgame \-      Reached the Elemental Planes.
3430 Astral  \-      Reached the Astral Plane level.
3431 Blind   \-      Blind from birth.
3432 Deaf    \-      Deaf from birth.
3433 Nudist  \-      Never wore any armor.
3434 Pauper  \-      Started out with no possessions.
3435 Ascended        \-      Delivered the Amulet to its final destination.
3438 .lp "Notes:  "
3440 Achievements are recorded and subsequently reported in the order in which
3441 they happen during your current game rather than the order listed here.
3443 There are nine \fI<Rank>\fP titles for each role, bestowed at experience
3444 levels 1, 3, 6, 10, 14, 18, 22, 26, and 30.
3445 The one for experience level 1 is not recorded as an achievement.
3446 Losing enough levels to revert to lower rank(s) does not discard the
3447 corresponding achievement(s).
3449 There's no guaranteed \fINovel\fP so the achievement to read one might
3450 not always be attainable (except perhaps by \fIwishing\fP).
3451 Similarly, the \fIBig Room\fP level is not always present.
3452 Unlike with the Novel, there's no way to wish for this opportunity.
3454 The \(lqspecial items\(rq hidden in \fIMines'\~End\fP and \fISokoban\fP
3455 are not unique but are considered to be prizes or rewards
3456 for exploring those levels since doing so is not necessary to complete
3457 the game.
3458 Finding other instances of the same objects doesn't record the
3459 corresponding achievement.
3461 The \fIMedusa\fP achievement is recorded if she dies for any reason,
3462 even if you are not directly responsible, and only if she dies.
3464 The 5-note \fItune\fP can be learned via trial and error with a musical
3465 instrument played closely
3466 enough\(embut not too close!\(emto
3467 the Castle level's drawbridge or can be given to you via prayer boon.
3469 \fIBlind\fP, \fIDeaf\fP, \fINudist\fP,
3470 and \fIPauper\fP are also conducts, and they can only be
3471 enabled by setting the correspondingly named option in NETHACKOPTIONS
3472 or run-time configuration file prior to game start.
3473 In the case of \fIBlind\fP and \fIDeaf\fP, the option also enforces the conduct.
3474 They aren't really significant accomplishments unless/until you make
3475 substantial progress into the dungeon.
3477 .hn 1
3478 Options
3480 Due to variations in personal tastes and conceptions of how NetHack
3481 should do things, there are options you can set to change how NetHack
3482 behaves.
3483 .hn 2
3484 Setting the options
3486 Options may be set in a number of ways.
3487 Within the game, the \(oqO\(cq
3488 command allows you to view all options and change most of them.
3489 You can also set options automatically by placing them in a configuration
3490 file, or in the NETHACKOPTIONS environment variable.
3491 Some versions of NetHack also have front-end programs that allow
3492 you to set options before starting the game or a global configuration
3493 for system administrators.
3494 .hn 2
3495 Using a configuration file
3497 .\" hw: don't hyphenate file names; percent-sign doesn't need special handling
3498 .hw .nethackrc defaults.nh nethack.exe nethackW.exe %USERPROFILE%\\NetHack\\
3499 The default name of the configuration file varies on different
3500 operating systems.
3503 .UX ,
3504 Linux,
3505 and macOS it is \(lq.nethackrc\(rq in the user's home directory.
3506 The file may not exist, but it is a normal ASCII text file and
3507 can be created with any text editor.
3509 On Windows, the name is \(lq.nethackrc\(rq located in the folder
3510 \(lq%USERPROFILE%\\NetHack\\\(rq.
3511 The file may not exist,
3512 but it is a normal ASCII text file can can be created with any
3513 text editor.
3514 After running NetHack for the first time, you should find a default
3515 template for the configuration file named \(lq.nethackrc.template\(rq
3516 in \(lq%USERPROFILE%\\NetHack\\\(rq.
3517 If you have not created the configuration file, NetHack will create
3518 one for you using the default template file.
3520 On MS-DOS, it is \(lqdefaults.nh\(rq in the same folder as nethack.exe.
3522 Any line in the configuration file starting with \(oq\f(CR#\fP\(cq is treated
3523 as a comment and ignored.
3524 Empty lines are ignored.
3526 Any line beginning with \(oq\f(CR[\fP\(cq and ending in \(oq\f(CR]\fP\(cq
3527 is a section marker (the closing \(oq\f(CR]\fP\(cq can be followed
3528 by whitespace and then an arbitrary comment beginning with \(oq\f(CR#\fP\(cq).
3529 The text between the square brackets is the section name.
3530 Section markers are only valid after a CHOOSE directive and their names
3531 are case insensitive.
3532 Lines after a section marker belong to that section up until another
3533 section starts or a marker without a name is encountered or the file ends.
3534 Lines within sections are ignored unless a CHOOSE directive has selected
3535 that section.
3537 You can use different configuration directives in the file, some
3538 of which can be used multiple times.
3539 In general, the directives are
3540 written in capital letters, followed by an equals sign, followed by
3541 settings particular to that directive.
3543 Here is a list of allowed directives:
3544 .lp OPTIONS
3545 There are two types of options, boolean and compound options.
3546 Boolean options toggle a setting on or off, while compound options
3547 take more diverse values.
3548 Prefix a boolean option with \(lqno\(rq or \(oq!\(cq to turn it off.
3549 For compound options, the option name and value are separated by a colon.
3550 Some options are persistent, and apply only to new games.
3551 You can specify multiple OPTIONS directives, and multiple options
3552 separated by commas in a single OPTIONS directive.
3553 (Comma separated options are processed from right to left.)
3554 .lp ""
3555 Example:
3557 .ft CR
3558 OPTIONS=dogname:Fido
3559 .\" '\(dq' == double quote; including a literal double quote here works
3560 .\"           for formatting but confuses Emacs' nroff-mode
3561 OPTIONS=!legacy,autopickup,pickup_types:$\(dq=/!?+
3564 .lp HACKDIR
3565 Default location of files NetHack needs. On Windows HACKDIR
3566 defaults to the location of the NetHack.exe or NetHackw.exe file
3567 so setting HACKDIR to override that is not usually necessary or recommended.
3568 .lp LEVELDIR
3569 The location that in-progress level files are stored. Defaults to HACKDIR,
3570 must be writable.
3571 .lp SAVEDIR
3572 The location where saved games are kept. Defaults to HACKDIR, must be
3573 writable.
3574 .lp BONESDIR
3575 The location that bones files are kept. Defaults to HACKDIR, must be
3576 writable.
3577 .lp LOCKDIR
3578 The location that file synchronization locks are stored. Defaults to
3579 HACKDIR, must be writable.
3580 .lp TROUBLEDIR
3581 The location that a record of game aborts and self-diagnosed game problems
3582 is kept. Defaults to HACKDIR, must be writable.
3584 .\" config file entries beyond this point are shown alphabetically
3586 .lp AUTOCOMPLETE
3587 Enable or disable an extended command autocompletion.
3588 Autocompletion has no effect for the X11 windowport.
3589 You can specify multiple autocompletions.
3590 To enable autocompletion, list the extended command.
3591 Prefix the command with \(lq!\(rq to disable the autocompletion
3592 for that command.
3593 .lp ""
3594 Example:
3596 \f(CRAUTOCOMPLETE=zap,!annotate\fP
3598 .lp AUTOPICKUP_EXCEPTION
3599 Set exceptions to the
3600 .op pickup_types
3601 option.
3602 See the \(lqConfiguring Autopickup Exceptions\(rq section.
3603 .lp BINDINGS
3604 Change the key bindings of some special keys, menu accelerators,
3605 extended commands, or mouse buttons.
3606 You can specify multiple bindings.
3607 Format is key followed by the command, separated by a colon.
3608 See the \(lqChanging Key Bindings\(rq section for more information.
3609 .lp ""
3610 Example:
3612 \f(CRBIND=\(haX:getpos.autodescribe\fP
3614 .lp CHOOSE
3615 Chooses at random one of the comma-separated parameters as an active
3616 section name.
3617 Lines in other sections are ignored.
3618 .lp ""
3619 Example:
3621 .ft CR \" constant-width Roman
3622 OPTIONS=color
3623 CHOOSE=char A,char B
3624 [char A]
3625 OPTIONS=role:arc,race:dwa,align:law,gender:fem
3626 [char B]
3627 OPTIONS=role:wiz,race:elf,align:cha,gender:mal
3628 [] #end of CHOOSE
3629 OPTIONS=!rest_on_space
3630 .ft \" revert to previous font
3632 .lp ""
3633 If \f(CR[]\fP is present, the preceding section is closed and no new
3634 section begins; whatever follows will be common to all sections.
3635 Otherwise the last section extends to the end of the options file.
3636 .lp MENUCOLOR
3637 Highlight menu lines with different colors.
3638 See the \(lqConfiguring Menu Colors\(rq section.
3639 .lp MSGTYPE
3640 Change the way messages are shown in the top status line.
3641 See the \(lqConfiguring Message Types\(rq section.
3642 .lp ROGUESYMBOLS
3643 Custom symbols for the rogue level's symbol set.
3644 See \fISYMBOLS\fP below.
3645 .lp SOUND
3646 Define a sound mapping.
3647 See the \(lqConfiguring User Sounds\(rq section.
3648 .lp SOUNDDIR
3649 Define the directory that contains the sound files.
3650 See the \(lqConfiguring User Sounds\(rq section.
3651 .lp SYMBOLS
3652 Override one or more symbols in the symbol set used for all dungeon
3653 levels except for the special rogue level.
3654 See the \(lqModifying NetHack Symbols\(rq section.
3655 .lp ""
3656 Example:
3658 \f(CR# replace small punctuation (tick marks) with digits\fP
3659 \f(CRSYMBOLS=S_boulder:0,S_golem:7\fP
3661 .lp WIZKIT
3662 Debug mode only:  extra items to add to initial inventory.
3663 Value is the name of a text file containing a list of item names,
3664 one per line, up to a maximum of 128 lines.
3665 Each line is processed by the function that handles wishing.
3666 .lp ""
3667 Example:
3669 \f(CRWIZKIT=\(ti/wizkit.txt\fP \" \(ti == '~'
3673 \ \" dummy paragraph to force some separation [.BR isn't working as intended]
3675 .SD n \" begin display without indentation
3676 Here is an example of configuration file contents:
3678 .\" [conditional indentation; see description of NETHACKOPTIONS below]
3679 .ds sD i  \" typesetter; display indentation acceptable and preferred
3680 .if n .ds sD n  \" terminal; suppress indentation
3681 .SD \*(sD \" string variable sD will expand to either 'i' or 'n'
3682 .ft CR \" set font to constant-width Roman
3683 # Set your character's role, race, gender, and alignment.
3684 OPTIONS=role:Valkyrie, race:Human, gender:female, align:lawful
3686 # Turn on autopickup, set automatically picked up object types
3687 OPTIONS=autopickup,pickup_types:$"=/!?+
3689 # Map customization
3690 OPTIONS=color           # Display things in color if possible
3691 OPTIONS=lit_corridor    # Show lit corridors differently
3692 OPTIONS=hilite_pet,hilite_pile
3693 # Replace small punctuation (tick marks) with digits
3694 SYMBOLS=S_boulder:0,S_golem:7
3696 # No startup splash screen. Windows GUI only.
3697 OPTIONS=!splash_screen
3698 .ft \" revert to previous font
3701 \ \" another dummy paragraph [.BR 2]
3702 .hn 2
3703 Using the NETHACKOPTIONS environment variable
3705 The NETHACKOPTIONS variable is a comma-separated list of initial
3706 values for the various options.
3707 Some can only be turned on or off.
3708 You turn one of these on by adding the name of the option to the list,
3709 and turn it off by typing a \(oq\f(CR!\fP\(cq or \(lq\f(CRno\fP\(rq
3710 before the name.
3711 Others take a character string as a value.
3712 You can set string options by typing
3713 the option name, a colon or equals sign, and then the value of the string.
3714 The value is terminated by the next comma or the end of string.
3716 For example, to set up an environment variable so that
3717 \fIcolor\fP is \f(CRon\fP,
3718 \fIlegacy\fP is \f(CRoff\fP,
3719 character \fIname\fP is set to \(lq\f(CRBlue Meanie\fP\(rq,
3720 and named \fIfruit\fP is set to \(lq\f(CRlime\fP\(rq,
3721 you would enter the command
3722 .\" Guidebook.ps looks better with the normal indentation for .sd (.SD i)
3723 .\" but the 'setenv' example is too wide for Guidebook.txt unless the
3724 .\" indentation is suppressed (.SD n).  Even though the second example
3725 .\" can be indented, it should match the first or they'll both look odd.
3726 .ds sD i  \" typesetter; display indentation acceptable and preferred
3727 .if n .ds sD n  \" terminal; suppress indentation
3728 .SD \*(sD
3729 \f(CR% setenv NETHACKOPTIONS "color,\\!leg,name:Blue Meanie,fruit:lime"\fP
3731 in \fIcsh\fP (note the need to escape the \(oq!\(cq since it's special
3732 to that shell), or the pair of commands
3733 .SD \*(sD
3734 \f(CR$ NETHACKOPTIONS="color,!leg,name:Blue Meanie,fruit:lime"\fP
3735 \f(CR$ export NETHACKOPTIONS\fP
3737 in \fIsh\fP, \fIksh\fP, or \fIbash\fP.
3739 The NETHACKOPTIONS value is effectively the same as a single OPTIONS
3740 directive in a configuration file.
3741 The \(lqOPTIONS=\(rq prefix is implied and comma separated options are
3742 processed from right to left.
3743 Other types of configuration directives such as BIND or MSGTYPE are
3744 not allowed.
3746 Instead of a comma-separated list of options,
3747 NETHACKOPTIONS can be set to the full name of a configuration file you
3748 want to use.
3749 If that full name doesn't start with a slash, precede it with \(oq\f(CR@\fP\(cq
3750 (at-sign) to let NetHack know that the rest is intended as a file name.
3751 If it does start with \(oq\f(CR/\fP\(cq, the at-sign is optional.
3752 .hn 2
3753 Customization options
3755 Here are explanations of what the various options do.
3756 Character strings that are too long may be truncated.
3757 Some of the options listed may be inactive in your dungeon.
3759 Some options are persistent, and are saved and reloaded along with
3760 the game.  Changing a persistent option in the configuration file
3761 applies only to new games.
3763 .\" .lp usage:
3764 .\" Option names which are 8 or more characters long don't need to be quoted.
3765 .\" Ones less that 8 should be enclosed within double quotes and padded with
3766 .\" trailing spaces.
3768 .lp accessiblemsg
3769 Add location or direction information to messages (default is off).
3770 .lp acoustics
3771 Enable messages about what your character hears (default on).
3772 Note that this has nothing to do with your computer's audio capabilities.
3773 Persistent.
3774 .lp alignment
3775 Your starting alignment (\f(CRalign:lawful\fP, \f(CRalign:neutral\fP, or
3776 \f(CRalign:chaotic\fP).
3777 You may specify just the first letter.
3778 Many roles and the non-human races restrict which alignments are allowed.
3780 .op role
3781 for a description of how to use negation to exclude choices.
3782 .lp ""
3783 Default is random.
3784 Cannot be set with the \(oq\f(CRO\fP\(cq command.
3785 Persistent.
3786 .lp autodescribe
3787 Automatically describe the terrain under cursor when asked to get a location
3788 on the map (default true).
3790 .op whatis_coord
3791 option controls whether the description includes map coordinates.
3792 .lp "autodig "
3793 Automatically dig if you are wielding a digging tool and moving into a place
3794 that can be dug (default false).
3795 Persistent.
3796 .lp autoopen
3797 Walking into a closed door attempts to open it (default true).
3798 Persistent.
3799 .lp autopickup
3800 Automatically pick up things onto which you move (default off).
3801 Persistent.
3802 .lp ""
3804 .op pickup_types
3805 and also
3806 .op autopickup_exception
3807 for ways to refine the behavior.
3808 .lp ""
3809 Note: prior to version 3.7.0, the default for
3810 .op autopickup
3811 was \fIon\fP.
3812 .lp autoquiver
3813 This option controls what happens when you attempt the \(oqf\(cq (fire)
3814 command when nothing is quivered or readied (default false).
3815 When true, the computer will fill
3816 your quiver or quiver sack or make ready some suitable weapon.
3817 Note that it will not take
3818 into account the blessed/cursed status, enchantment, damage, or
3819 quality of the weapon; you are free to manually fill your quiver
3820 or quiver sack or make ready
3821 with the \(oqQ\(cq command instead.
3822 If no weapon is found or the option is
3823 false, the \(oqt\(cq (throw) command is executed instead.
3824 Persistent.
3825 .lp autounlock
3826 Controls what action to take when attempting to walk into a locked door
3827 or to loot a locked container.
3828 Takes a plus-sign separated list of values:
3829 .PS Apply-Key
3830 .PL Untrap
3831 prompt about whether to attempt to find a trap;
3832 it might fail to find one even when present; if it does find one, it
3833 will ask whether you want to try to disarm the trap; if you decline,
3834 your character will forget that the door or box is trapped;
3835 .PL Apply-Key
3836 if carrying a key or other unlocking tool, prompt about using it;
3837 .PL Kick
3838 kick the door (if you omit untrap or decline to attempt untrap and
3839 you omit apply-key or you lack a key or you decline to use the key;
3840 has no effect on containers);
3841 .PL Force
3842 try to force a container's lid with your currently
3843 wielded weapon (if you omit untrap or decline to attempt untrap and
3844 you omit apply-key or you lack a key or you decline to use the key;
3845 has no effect on doors);
3846 .PL None
3847 none of the above; can't be combined with the other choices.
3849 Omitting the value is treated as if \f(CRautounlock:apply-key\fP.
3850 Preceding \f(CRautounlock\fP with \(oq!\(cq or \(lqno\(rq is treated as
3851 \f(CRautounlock:none\fP.
3852 .lp ""
3853 Applying a key might set off a trap if the door or container is trapped.
3854 Successfully kicking a door will break it and wake up nearby monsters.
3855 Successfully forcing a container open will break its lock and might also
3856 destroy some of its contents or damage your weapon or both.
3857 .lp ""
3858 The default is Apply-Key.
3859 Persistent.
3860 .lp "blind   "
3861 Start the character permanently blind (default false).
3862 Persistent.
3863 .lp "bones  "
3864 Allow saving and loading bones files (default true).
3865 Persistent.
3866 .lp "boulder "
3867 Set the character used to display boulders (default is the \(lqlarge rock\(rq
3868 class symbol, \(oq\`\(cq).
3869 .lp "catname "
3870 Name your starting cat (for example \(lqcatname:Morris\(rq).
3871 Cannot be set with the \(oq\f(CRO\fP\(cq command.
3872 .lp character
3873 Synonym for \(lqrole\(rq to pick the type of your character
3874 (for example \(lqcharacter:Monk\(rq).
3876 .op role
3877 for more details.
3878 .lp checkpoint
3879 Save game state after each level change, for possible recovery after
3880 program crash (default on).  Persistent.
3881 .lp cmdassist
3882 Have the game provide some additional command assistance for
3883 new players if it detects some anticipated mistakes (default on).
3884 .lp "confirm "
3885 Have user confirm attacks on pets, shopkeepers, and other
3886 peaceable creatures (default on).  Persistent.
3887 .lp dark_room
3888 Show out-of-sight areas of lit rooms (default on).  Persistent.
3889 .lp "deaf    "
3890 Start the character permanently deaf (default false).
3891 Persistent.
3892 .lp dropped_nopick
3893 If this option is on, items you dropped will not be automatically
3894 picked up, even if
3895 .op autopickup
3896 is also on and they are in
3897 .op pickup_types
3898 or match a positive autopickup exception (default on).  Persistent.
3899 .lp disclose
3900 Controls what information the program reveals when the game ends.
3901 Value is a space separated list of prompting/category pairs
3902 (default is \(lq\fBni na nv ng nc no\fP\(rq,
3903 prompt with default response of \(oq\fBn\fP\(cq for each candidate).
3904 Persistent.
3905 The possibilities are:
3908 .CC i "disclose your inventory;"
3909 .CC a "disclose your attributes;"
3910 .CC v "summarize monsters that have been vanquished;"
3911 .CC g "list monster species that have been genocided;"
3912 .CC c "display your conduct; also achievements, if any;"
3913 .CC o "display dungeon overview."
3916 Each disclosure possibility can optionally be preceded by a prefix which
3917 lets you refine how it behaves.  Here are the valid prefixes:
3920 .CC y "prompt you and default to yes on the prompt;"
3921 .CC n "prompt you and default to no on the prompt;"
3922 .CC + "disclose it without prompting;"
3923 .CC \- "do not disclose it and do not prompt."
3926 The listings of vanquished monsters and of genocided types can be sorted,
3927 so there are two additional choices for \(oqv\(cq and \(oqg\(cq:
3930 .CC ? "prompt you and default to ask on the prompt;"
3931 .CC # "disclose it without prompting, ask for sort order."
3934 Asking refers to picking one of the orderings from a menu.
3935 The \(oq+\(cq disclose without prompting choice,
3936 or being prompted and answering \(oqy\(cq rather than \(oqa\(cq,
3937 will default to showing monsters in the order specified by the
3938 .op sortvanquished
3939 option.
3940 .lp ""
3941 Omitted categories are implicitly added with \(oqn\(cq prefix.
3942 Specified categories with omitted prefix implicitly use \(oq+\(cq prefix.
3943 Order of the disclosure categories does not matter, program display for
3944 end-of-game disclosure follows a set sequence.
3945 .lp ""
3946 (for example \(lqdisclose:yi na +v -g o\(rq)
3947 The example sets
3948 \fBinventory\fP to \fIprompt\fP and default to \fIyes\fP,
3949 \fBattributes\fP to \fIprompt\fP and default to \fIno\fP,
3950 \fBvanquished\fP to \fIdisclose without prompting\fP,
3951 \fBgenocided\fP to \fInot disclose\fP and \fInot prompt\fP,
3952 \fBconduct\fP to implicitly \fIprompt\fP and default to \fIno\fP, and
3953 \fBoverview\fP to \fIdisclose without prompting\fP.
3954 .lp ""
3955 Note that the vanquished monsters list includes all monsters killed by
3956 traps and each other as well as by you.
3957 And the dungeon overview shows all levels you had visited but does not
3958 reveal things about them that you hadn't discovered.
3959 .lp "dogname "
3960 Name your starting dog (for example \(lqdogname:Fang\(rq).
3961 Cannot be set with the \(oq\f(CRO\fP\(cq command.
3962 .lp "extmenu "
3963 Changes the extended commands interface to pop-up a menu of available
3964 commands.
3965 It is keystroke compatible with the traditional interface except that it
3966 does not require that you hit \fIEnter\fP.
3967 It is implemented for the tty interface (default off).
3968 .lp ""
3969 For the X11 interface, which always uses a menu for choosing an extended
3970 command, it controls whether the menu shows all available commands (on)
3971 or just the subset of commands which have traditionally been considered
3972 extended ones (off).
3973 .lp "female  "
3974 An obsolete synonym for \(lq\f(CRgender:female\fP\(rq.
3975 Cannot be set with the \(oq\f(CRO\fP\(cq command.
3976 .lp fireassist
3977 This option controls what happens when you attempt the \(oqf\(cq (fire)
3978 and don't have an appropriate launcher, such as a bow or a sling, wielded.
3979 If on, you will automatically wield the launcher. Default is on.
3980 .lp "fixinv  "
3981 An object's inventory letter sticks to it when it's dropped (default on).
3982 If this is off, dropping an object shifts all the remaining inventory letters.
3983 Persistent.
3984 .lp force_invmenu
3985 Commands asking for an inventory item show a menu instead of
3986 a text query with possible menu letters. Default is off.
3987 .lp "fruit   "
3988 Name a fruit after something you enjoy eating (for example \(lqfruit:mango\(rq)
3989 (default \(lqslime mold\(rq).
3990 Basically a nostalgic whimsy that NetHack uses from time to time.
3991 You should set this to something you find more appetizing than slime mold.
3992 Apples, oranges, pears, bananas, and melons
3993 already exist in NetHack, so don't use those.
3994 .lp "gender  "
3995 Your starting gender (\f(CRgender:male\fP or \f(CRgender:female\fP).
3996 You may specify just the first letter.
3997 Although you can
3998 still denote your gender using either of the deprecated
3999 .op male
4001 .op female
4002 options, if the
4003 .op gender
4004 option is also present it will take precedence.
4006 .op role
4007 for a description of how to use negation to exclude choices.
4008 .lp ""
4009 Default is random.
4010 Cannot be set with the \(oq\f(CRO\fP\(cq command.
4011 Persistent.
4012 .lp "goldX   "
4013 When filtering objects based on bless/curse state (BUCX), whether to
4014 treat gold pieces as X (unknown bless/curse state, when \(lqon\(rq)
4015 or U (known to be uncursed, when \(lqoff\(rq, the default).
4016 Gold is never blessed or cursed, but it is not described as \(lquncursed\(rq
4017 even when the
4018 .op implicit_uncursed
4019 option is \(lqoff\(rq.
4020 .lp "help    "
4021 If more information is available for an object looked at
4022 with the \(oq/\(cq command, ask if you want to see it (default on).
4023 Turning help off makes just looking at things faster, since you aren't
4024 interrupted with the \(lqMore info?\(rq prompt, but it also means that
4025 you might miss some interesting and/or important information.
4026 Persistent.
4027 .lp herecmd_menu
4028 When using a windowport that supports mouse and clicking on yourself or
4029 next to you, show a menu of possible actions for the location.
4030 Same as \(lq#herecmdmenu\(rq and \(lq#therecmdmenu\(rq commands.
4031 .lp hilite_pet
4032 Visually distinguish pets from similar animals (default off).
4033 The behavior of this option depends on the type of windowing you use.
4034 In text windowing, text highlighting or inverse video is often used;
4035 with tiles, generally displays a heart symbol near pets.
4036 .lp ""
4037 With the tty or curses interface, the
4038 .op petattr
4039 option controls how to highlight pets and setting it will turn the
4040 .op hilite_pet
4041 option on or off as warranted.
4042 .lp hilite_pile
4043 Visually distinguish piles of objects from individual objects (default off).
4044 The behavior of this option depends on the type of windowing you use.
4045 In text windowing, text highlighting or inverse video is often used;
4046 with tiles, generally displays a small plus-symbol beside the object
4047 on the top of the pile.
4048 .lp hitpointbar
4049 Show a hit point bar graph behind your name and title in the status
4050 display (default off).
4051 .lp ""
4052 The \(lqcurses\(rq interface supports it even if the status highlighting
4053 feature has been disabled when building the program.
4054 The \(lqtty\(rq and \(lqmswin\(rq (aka \(lqWindows GUI\(rq) interfaces
4055 support it only if status highlighting is left enabled when building.
4056 You don't need to set up any highlighting rules in order to display
4057 the bar.
4058 If there is one for hitpoints in effect and it specifies color, that
4059 color will be used for the bar.
4060 However if it specifies video attributes, they will be ignored in
4061 favor of \fIinverse\fP.
4062 For tty and curses, \fIblink\fP will also be used if the current
4063 hitpoint value is at or below the \fIcritical HP\fP threshold.
4064 .lp ""
4065 The \(lqQt\(rq interface also supports hitpointbar, by drawing
4066 a solid bar above the name and title with a hard-coded color scheme.
4067 (As of this writing, having the bar enabled unintentionally inhibits
4068 resizing the status panel.
4069 To resize that, use the \f(CR#optionsfull\fP command to toggle the
4070 \fIhitpointbar\fP option off, perform the resize while it's off, then
4071 use the same command to toggle it back on.)
4072 .lp horsename
4073 Name your starting horse (for example \(lqhorsename:Trigger\(rq).
4074 Cannot be set with the \(oq\f(CRO\fP\(cq command.
4075 .lp "ignintr "
4076 Ignore interrupt signals, including breaks (default off).  Persistent.
4077 .lp implicit_uncursed
4078 Omit \(lquncursed\(rq from object descriptions when it can be deduced from
4079 other aspects of the description (default on).
4080 Persistent.
4081 .lp ""
4082 If you use menu coloring, you may want to turn this off.
4083 .lp "legacy  "
4084 Display an introductory message when starting the game (default on).
4085 Persistent.
4086 .lp lit_corridor
4087 Show corridor squares seen by night vision or a light source held by your
4088 character as lit (default off).  Persistent.
4089 .lp "lootabc "
4090 When using a menu to interact with a container,
4091 use the old \(oqa\(cq, \(oqb\(cq, and \(oqc\(cq keyboard shortcuts
4092 rather than the mnemonics \(oqo\(cq, \(oqi\(cq, and \(oqb\(cq
4093 (default off).
4094 Persistent.
4095 .lp "mail    "
4096 Enable mail delivery during the game (default on).  Persistent.
4097 .lp "male    "
4098 An obsolete synonym for \(lq\f(CRgender:male\fP\(rq.
4099 Cannot be set with the \(oq\f(CRO\fP\(cq command.
4100 .lp mention_decor
4101 Give feedback when walking onto various dungeon features such as stairs,
4102 fountains, or altars which are ordinarily only described when covered
4103 by one or more objects (default off).
4104 Cannot be set with the \(oq\f(CRO\fP\(cq command.
4105 Persistent.
4106 .lp mention_map
4107 Give feedback when interesting map locations change (default off).
4108 .lp mention_walls
4109 Give feedback when walking against a wall (default off).
4110 Persistent.
4111 .lp menucolors
4112 Enable coloring menu lines (default off).
4113 See \(lqConfiguring Menu Colors\(rq on how to configure the colors.
4114 .lp menustyle
4115 Controls the method used when you need to choose various objects (in
4116 response to the \f(CRDrop\fP (aka \f(CRdroptype\fP) command, for instance).
4117 The value specified should be the first letter of one of the following:
4118 traditional, combination, full, or partial.
4119 Default is \f(CRfull\fP.
4120 Persistent.
4121 .lp ""
4122 Traditional was the only method available for very
4123 early versions; it consists of a prompt for object class characters,
4124 followed by an object-by-object prompt for all items matching the selected
4125 object class(es).
4126 Combination starts with a prompt for object class(es)
4127 of interest, but then displays a menu of matching objects rather than
4128 prompting one-by-one.
4129 Full displays a menu of
4130 object classes rather than a character prompt, and then a menu of matching
4131 objects for selection.
4132 (Choosing its \(oqA\(cq (Autoselect-All) choice skips the second menu.
4133 To avoid choosing that by accident,
4134 set \f(CRparanoid_confirm:AutoAll\fP to require confirmation.)
4135 Partial skips the object class filtering and
4136 immediately displays a menu of all objects.
4137 .lp menu_deselect_all
4138 Key to deselect all items in a menu.
4139 Default \(oq\-\(cq.
4140 .lp menu_deselect_page
4141 Key to deselect all items on this page of a menu.
4142 Default \(oq\\\(cq.
4143 .lp menu_first_page
4144 Key to jump to the first page in a menu.
4145 Default \(oq\(ha\(cq.
4146 .lp menu_headings
4147 Controls how the headings in a menu are highlighted.
4148 Takes a text attribute, or text color and attribute separated by ampersand.
4149 For allowed attributes and colors, see \(lqConfiguring Menu Colors\(rq.
4150 Not all ports can actually display all types.
4151 .lp menu_invert_all
4152 Key to invert all items in a menu.
4153 Default \(oq@\(cq.
4154 .lp menu_invert_page
4155 Key to invert all items on this page of a menu.
4156 Default \(oq\(ti\(cq. \" ~
4157 .lp menu_last_page
4158 Key to jump to the last page in a menu.
4159 Default \(oq|\(cq.
4160 .lp menu_next_page
4161 Key to go to the next menu page.
4162 Default \(oq>\(cq.
4163 .lp menu_objsyms
4164 Show object symbols in menu headings in menus where
4165 the object symbols act as menu accelerators (default off).
4166 .lp menu_overlay
4167 Do not clear the screen before drawing menus, and align
4168 menus to the right edge of the screen. Only for the tty port.
4169 (default on)
4170 .lp menu_previous_page
4171 Key to go to the previous menu page.
4172 Default \(oq<\(cq.
4173 .lp menu_search
4174 Key to search for some text and toggle selection state of matching menu items.
4175 Default \(oq:\(cq.
4176 .lp menu_select_all
4177 Key to select all items in a menu.
4178 Default \(oq.\(cq.
4179 .lp menu_select_page
4180 Key to select all items on this page of a menu.
4181 Default \(oq,\(cq.
4182 .lp menu_shift_left
4183 Key to scroll a menu\(emone which has been
4184 scrolled right\(emback to the left.
4185 Implemented for
4186 .op perm_invent
4187 only by curses and X11.
4188 Default \(oq{\(cq.
4189 .lp menu_shift_right
4190 Key to scroll a menu which has text beyond the
4191 right edge to the right.
4192 Implemented for
4193 .op perm_invent
4194 only by curses and X11.
4195 Default \(oq}\(cq.
4196 ." .lp menu_tab_sep
4197 ." Format menu entries using TAB to separate columns (default off).
4198 ." Only applicable to some menus, and only useful to some interfaces.
4199 ." Debug mode only.
4200 .lp mon_movement
4201 Show a message when hero notices a monster movement (default is off).
4202 .lp monpolycontrol
4203 Prompt for new form whenever any monster changes shape (default off).
4204 Debug mode only.
4205 .lp montelecontrol
4206 Prompt for destination whenever any monster gets teleported (default off).
4207 Debug mode only.
4208 .lp mouse_support
4209 Allow use of the mouse for input and travel.
4210 Valid settings are:
4213 .CC 0 "disabled"
4214 .CC 1 "enabled and make OS adjustments to support mouse use"
4215 .CC 2 "like 1 but does not make any OS adjustments"
4218 Omitting a value is the same as specifying 1
4219 and negating
4220 .op mouse_support
4221 is the same as specifying 0.
4222 .lp msghistory
4223 The number of top line messages to keep (and be able to recall
4224 with \(oq\(haP\(cq) (default 20).
4225 Cannot be set with the \(oq\f(CRO\fP\(cq command.
4226 .lp msg_window
4227 Allows you to change the way recalled messages are displayed.
4228 Currently it is only supported for tty (all four choices) and for curses
4229 (\(oq\f(CRf\fP\(cq and \(oq\f(CRr\fP\(cq choices, default \(oq\f(CRr\fP\(cq).
4230 The possible values are:
4233 .CC s "single message (default; only choice prior to 3.4.0);"
4234 .CC c "combination, two messages as \(lqsingle\(rq, then as \(lqfull\(rq;"
4235 .CC f "full window, oldest message first;"
4236 .CC r "full window reversed, newest message first."
4239 For backward compatibility, no value needs to be specified (which defaults
4240 to \(lqfull\(rq), or it can be negated (which defaults to \(lqsingle\(rq).
4241 .lp "name    "
4242 Set your character's name (defaults to your user name).  You can also
4243 set your character's role by appending a dash and one or more letters of
4244 the role (that is, by suffixing one of
4245 .op "\-A \-B \-C \-H \-K \-M \-P \-Ra \-Ro \-S \-T \-V \-W" ).
4247 .op "\-@"
4248 is used for the role, then a random one will be automatically chosen.
4249 Cannot be set with the \(oq\f(CRO\fP\(cq command.
4250 .lp "news    "
4251 Read the NetHack news file, if present (default on).
4252 Since the news is shown at the beginning of the game, there's no point
4253 in setting this with the \(oqO\(cq command.
4254 .lp "nudist  "
4255 Start the character with no armor (default false).  Persistent.
4256 .lp "null    "
4257 Send padding nulls to the terminal (default on).  Persistent.
4258 .lp number_pad
4259 Use digit keys instead of letters to move (default 0 or off).
4260 Valid settings are:
4261 .PS -1
4262 .PL "\ 0"
4263 move by letters; \(lq\f(CRyuhjklbn\fP\(rq \" \f(CR = constant-width Roman font
4264 .PL "\ 1"
4265 move by numbers; digit \(oq5\(cq acts as \(oqG\(cq movement prefix
4266 .PL "\ 2"
4267 like 1 but \(oq5\(cq works as \(oqg\(cq prefix instead of as \(oqG\(cq
4268 .PL "\ 3"
4269 by numbers using phone key layout; 123 above, 789 below
4270 .PL "\ 4"
4271 combines 3 with 2; phone layout plus MS-DOS compatibility
4272 .PL "-1"
4273 by letters but use \(oqz\(cq to go northwest, \(oqy\(cq to zap wands
4275 For backward compatibility, omitting a value is the same as specifying 1
4276 and negating
4277 .op number_pad
4278 is the same as specifying 0.
4279 (Settings 2 and 4 are for compatibility with MS-DOS or old PC Hack;
4280 in addition to the different behavior for \(oq5\(cq, \(oqAlt-5\(cq acts
4281 as \(oqG\(cq and \(oqAlt-0\(cq acts as \(oqI\(cq.
4282 Setting -1 is to accommodate some QWERTZ keyboards which have the
4283 location of the \(oqy\(cq and \(oqz\(cq keys swapped.)
4284 When moving by numbers, to enter a count prefix for those commands
4285 which accept one (such as \(lq12s\(rq to search twelve times), precede it
4286 with the letter \(oqn\(cq (\(lqn12s\(rq).
4287 .lp packorder
4288 .\" \(dq == double quote; literal '"' formats ok but confuses Emacs' nroff-mode
4289 Specify the order to list object types in (default \(lq\(dq)[%?+!=/(*\`0_\(rq).
4290 The value of this option should be a string containing the
4291 symbols for the various object types.
4292 Any omitted types are filled in at the end from the previous order.
4293 .lp paranoid_confirmation
4294 A space separated list of specific situations where alternate
4295 prompting is desired.
4296 The default is \(lqparanoid_confirmation:pray swim trap\(rq.
4297 .PS Were-change
4298 .PL Confirm
4299 for any prompts which are set to require \(lqyes\(rq rather than \(oqy\(cq,
4300 also require \(lqno\(rq to reject instead of accepting any non-yes response
4301 as no; changes pray and AutoAll to require \(lqyes\(rq or \(oqno\(cq too;
4302 .PL quit
4303 require \(lqyes\(rq rather than \(oqy\(cq to confirm quitting
4304 the game or switching into non-scoring explore mode;
4305 .PL die
4306 require \(lqyes\(rq rather than \(oqy\(cq to confirm dying (not
4307 useful in normal play; applies to explore mode);
4308 .PL bones
4309 require \(lqyes\(rq rather than \(oqy\(cq to confirm saving
4310 bones data when dying in debug mode;
4311 .PL attack
4312 require \(lqyes\(rq rather than \(oqy\(cq to confirm attacking
4313 a peaceful monster;
4314 .PL wand-break
4315 require \(lqyes\(rq rather than \(oqy\(cq to confirm breaking
4316 a wand with the \f(CRapply\fP command;
4317 .PL eating
4318 require \(lqyes\(rq rather than \(oqy\(cq to confirm whether to
4319 continue eating;
4320 .PL Were-change
4321 require \(lqyes\(rq rather than \(oqy\(cq to confirm changing form due
4322 to lycanthropy when hero has polymorph control;
4323 .PL pray
4324 require \(oqy\(cq to confirm an attempt to pray rather
4325 than immediately praying; on by default;
4326 (to require \(lqyes\(rq rather than just \(oqy\(cq, set Confirm too);
4327 .PL trap
4328 require \(oqy\(cq to confirm an attempt to move into or onto a known trap,
4329 unless doing so is considered to be harmless;
4330 when enabled, this confirmation is also used for moving into visible
4331 gas cloud regions;
4332 (to require \(lqyes\(rq rather than just \(oqy\(cq, set Confirm too);
4333 confirmation can be skipped by using the \(oq\f(CRm\fP\(cq movement prefix;
4334 .PL swim
4335 prevent walking into water or lava; on by default; (to deliberately step
4336 onto/into such terrain when this is set, use the \(oq\f(CRm\fP\(cq
4337 movement prefix when adjacent);
4338 .PL AutoAll
4339 require confirmation when the \(oqA\(cq (Autoselect-All) choice is selected
4340 in object class filtering menus for \f(CRmenustyle:Full\fP;
4341 (to require \(lqyes\(rq rather than just \(oqy\(cq, set Confirm too);
4342 .PL Remove
4343 require selection from inventory for \(oqR\(cq and \(oqT\(cq
4344 commands even when wearing just one applicable item;
4345 .PL all
4346 turn on all of the above.
4348 By default, the pray, swim, and trap choices are enabled, the others disabled.
4349 To disable them without setting
4350 any of the other choices, use \f(CRparanoid_confirmation:none\fP.
4351 To keep them enabled while setting any of the others, you can
4352 include them in the new list, such as
4353 \f(CRparanoid_confirmation:attack pray swim Remove\fP
4354 or you can precede the first entry in the list with a plus sign,
4355 \f(CRparanoid_confirmation:+attack Remove\fP.
4356 To remove an entry that has been previously set without removing others,
4357 precede the first entry in the list with a minus sign,
4358 \f(CRparanoid_confirmation:-swim\fP.
4359 To both add some new entries and remove some old ones, you can use
4360 multiple \fIparanoid_confirmation\fP option settings, or you can
4361 use the \(oq\f(CR+\fP\(cq form and list entries to be added by their name
4362 and entries to be removed by \(oq\f(CR!\fP\(cq and name.
4363 The positive (no \(oq!\(cq) and negative (with \(oq!\(cq) entries
4364 can be intermixed.
4365 .lp pauper
4366 Start the character with no possessions (default false).  Persistent.
4367 .lp perm_invent
4368 If true, always display your current inventory in a window (default false).
4369 .lp ""
4370 This only
4371 makes sense for windowing system interfaces that implement this feature.
4372 For those that do, the
4373 .op perminv_mode
4374 option can be used to refine what gets displayed
4375 for \fIperm_invent\fP.
4376 Setting that to a value other than \fInone\fP
4377 while \fIperm_invent\fP is false will change it to true.
4378 .lp perminv_mode
4379 Augments the
4380 .op perm_invent
4381 option.
4382 Value is one of
4383 .PS "\f(CRin-use\fP"
4384 .PL "\f(CRnone\fP"
4385 behave as if \fIperm_invent\fP is false;
4386 .PL "\f(CRall\fP"
4387 show all inventory except for gold;
4388 .PL "\f(CRfull\fP"
4389 show full inventory including gold;
4390 .PL "\f(CRin-use\fP"
4391 only show items which are in use (worn, wielded, lit lamp).
4392 .\" %if these get uncommented, change .PS argument to "\f(CRgold+grid\fP"
4393 .\" %and the terminator for in-use to semi-colon.
4394 .\" .PL "\f(CRon+grid\fP"
4395 .\" special for tty only, show \fIall\fP plus unused inventory letters;
4396 .\" .PL "\f(CRgold+grid\fP"
4397 .\" special for tty only, show \fIfull\fP plus unused inventory letters.
4399 Default is \fInone\fP but if \fIperm_invent\fP gets set to true
4400 while it is \fInone\fP it will be changed to \fIall\fP.
4401 .lp ""
4402 Note: if gold has been equipped in quiver/ammo-pouch then it will be
4403 included for \fIall\fP despite that mode normally omitting gold.
4404 .\" petattr is a wincap option but we'll document it here...
4405 .lp "petattr "
4406 Specifies one or more text highlighting attributes to use when showing
4407 pets on the map.
4408 Effectively a superset of the
4409 .op hilite_pet
4410 boolean option.
4411 Curses or tty interface only; value is one of
4412 none, bold, dim, underline, italic, blink, and inverse.
4413 Some of those choices might not work,
4414 depending upon terminal hardware or terminal emulation software.
4415 .lp "pettype "
4416 Specify the type of your initial pet, if you are playing a character class
4417 that uses multiple types of pets; or choose to have no initial pet at all.
4418 Possible values are \(lqcat\(rq, \(lqdog\(rq, \(lqhorse\(rq, and \(lqnone\(rq.
4419 If the choice is not allowed for the role you are currently playing,
4420 it will be silently ignored.
4421 For example, \(lqhorse\(rq will only be honored when playing a knight.
4422 Cannot be set with the \(oq\f(CRO\fP\(cq command.
4423 .lp pickup_burden
4424 When you pick up an item that would exceed this encumbrance
4425 level (Unencumbered, Burdened, streSsed, straiNed, overTaxed,
4426 or overLoaded), you will be asked if you want to continue.
4427 (Default \(oqS\(cq).
4428 Persistent.
4429 .lp pickup_stolen
4430 If this option is on and
4431 .op autopickup
4432 is also on, try to pick up things that a monster stole from you, even if they
4433 aren't in
4434 .op pickup_types
4435 or match an autopickup exception.
4436 Default is on.
4437 Persistent.
4438 .lp pickup_thrown
4439 If this option is on and
4440 .op autopickup
4441 is also on, try to pick up things that you threw, even if they aren't in
4442 .op pickup_types
4443 or match an autopickup exception.
4444 Default is on.
4445 Persistent.
4446 .lp pickup_types
4447 Specify the object types to be picked up when
4448 .op autopickup
4449 is on.
4450 Default is all types.
4451 Persistent.
4452 .lp ""
4453 The value is a list of object symbols, such as
4454 \f(CRpickup_types:$?!\fP to pick up gold, scrolls, and potions.
4455 You can use
4456 .op autopickup_exception
4457 configuration file lines to further refine \f(CRautopickup\fP behavior.
4458 .lp ""
4459 There is no way to set \f(CRpickup_types\fP to \(lq\fInone\fP\(rq.
4460 (Setting it to an empty value reverts to \(lq\fIall\fP\(rq.)
4461 If you want to avoid automatically picking up any types of items but do
4462 want to have \f(CRautopickup\fP on in order to have
4463 \f(CRautopickup_exception\fP settings control what you do and don't pick
4464 up, you can set \f(CRpickup_types\fP to \(oq\f(CR.\fP\(cq.
4465 That is the type symbol for \fIvenom\fP and you won't come across
4466 any venom items so won't unintentionally pick such up.
4467 .lp pile_limit
4468 When walking across a pile of objects on the floor, threshold at which
4469 the message \(lqthere are few/several/many objects here\(rq is given instead
4470 of showing a popup list of those objects.
4471 A value of 0 means \(lqno limit\(rq
4472 (always list the objects); a value of 1 effectively means \(lqnever show
4473 the objects\(rq since the pile size will always be at least that big;
4474 default value is 5.
4475 Persistent.
4476 .lp playmode
4477 Values are \(lqnormal\(rq, \(lqexplore\(rq, or \(lqdebug\(rq.
4478 Allows selection of explore mode (also known as discovery mode) or debug
4479 mode (also known as wizard mode) instead of normal play.
4480 Debug mode might only be allowed for someone logged in under a particular
4481 user name (on multi-user systems) or specifying a particular character
4482 name (on single-user systems) or it might be disabled entirely.  Requesting
4483 it when not allowed or not possible results in explore mode instead.
4484 Default is normal play.
4485 .lp pushweapon
4486 Using the \(oqw\(cq (wield) command when already wielding
4487 something pushes the old item into your alternate weapon slot (default off).
4488 Likewise for the \(oqa\(cq (apply) command if it causes the applied item to
4489 become wielded.
4490 Persistent.
4491 .lp query_menu
4492 Use a menu when asked specific yes/no queries, instead of a prompt.
4493 .lp quick_farsight
4494 When set, usually prevents the \(lqyou sense your surroundings\(rq message
4495 where play pauses to allow you to browse the map whenever clairvoyance
4496 randomly activates.
4497 Some situations, such as being underwater or engulfed, ignore this option.
4498 It does not affect the clairvoyance spell where pausing to examine revealed
4499 objects or monsters is less intrusive.
4500 Default is off.  Persistent.
4501 .lp "race    "
4502 Selects your race (for example, \f(CRrace:human\fP).
4503 Choices are \f(CRhuman\fP, \f(CRdwarf\fP, \f(CRelf\fP, \f(CRgnome\fP, and
4504 \f(CRorc\fP but most roles restrict which of the non-human races are allowed.
4506 .op role
4507 for a description of how to use negation to exclude choices.
4508 .lp ""
4509 Default is random.
4510 Cannot be set with the \(oq\f(CRO\fP\(cq command.
4511 Persistent.
4512 .lp rest_on_space
4513 Make the space bar a synonym for the \(oq.\(cq (#wait) command (default off).
4514 Persistent.
4515 .lp "role    "
4516 Pick your type of character (for example, \f(CRrole:Samurai\fP);
4517 synonym for
4518 .op character.
4520 .op name
4521 for an alternate method of specifying your role.
4522 .\" Normally only the first letter of the value is examined; \(oqr\(cq is an
4523 .\" exception with \(lqRogue\(rq, \(lqRanger\(rq, and \(lqrandom\(rq values.
4524 .lp ""
4525 This option can also be used to limit selection when role is chosen
4526 randomly.
4527 Use a space-separated list of roles and either negate each one or negate
4528 the option itself instead.
4529 Negation is accomplished in the same manner as with \fIboolean options\fP,
4530 by prefixing the option or its value(s) with \(oq!\(cq or \(lqno\(rq.
4531 .BR 0
4532 Examples:
4534 .ft CR \" constant-width Roman
4535 OPTIONS=role:!arc !bar !kni
4536 OPTIONS=!role:arc bar kni
4537 .ft \" revert to previous font
4539 There can be multiple instances of the
4540 .op role
4541 option if they're all negations.
4542 .\" Only one positive value is allowed, and if present, it overrides any
4543 .\" negations.
4544 .lp ""
4545 Default is \f(CRrandom\fP.
4546 Cannot be set with the \(oq\f(CRO\fP\(cq command.
4547 Persistent.
4548 .lp roguesymset
4549 This option may be used to select one of the named symbol sets found
4550 within \(lqsymbols\(rq to alter the symbols displayed on the screen
4551 on the rogue level.
4552 .lp "rlecomp "
4553 When writing out a save file, perform run length compression of the map.
4554 Not all ports support run length compression. It has no
4555 effect on reading an existing save file.
4556 .lp "runmode "
4557 Controls the amount of screen updating for the map window when engaged
4558 in multi-turn movement (running via shift+direction or control+direction
4559 and so forth, or via the travel command or mouse click).
4560 The possible values are:
4561 .PS teleport
4562 .PL teleport
4563 update the map after movement has finished;
4564 .PL run
4565 update the map after every seven or so steps;
4566 .PL walk
4567 update the map after each step;
4568 .PL crawl
4569 like walk, but pause briefly after each step.
4571 This option only affects the game's screen display, not the actual
4572 results of moving.
4573 The default is \(lqrun\(rq; versions prior to 3.4.1 used \(lqteleport\(rq only.
4574 Whether or not the effect is noticeable will
4575 depend upon the window port used or on the type of terminal.
4576 Persistent.
4577 .lp safe_pet
4578 Prevent you from (knowingly) attacking your pets (default on).
4579 Persistent.
4580 .lp safe_wait
4581 Prevents you from waiting or searching when next to a hostile monster
4582 (default on). Persistent.
4583 .lp sanity_check
4584 Evaluate monsters, objects, and map prior to each turn (default off).
4585 Debug mode only.
4586 .lp "scores  "
4587 Control what parts of the score list you are shown at the end (for example
4588 \(lqscores:5 top scores/4 around my score/own scores\(rq).
4589 Only the first letter of each category (\(oqt\(cq, \(oqa\(cq, or \(oqo\(cq)
4590 is necessary.
4591 Persistent.
4592 .lp showdamage
4593 Whenever your character takes damage, show a message of the damage taken,
4594 and the amount of hit points left.
4595 .lp "showexp "
4596 Show your accumulated experience points on bottom line (default off).
4597 Persistent.
4598 .lp showrace
4599 Display yourself as the glyph for your race, rather than the glyph
4600 for your role (default off).
4601 Note that this setting affects only
4602 the appearance of the display, not the way the game treats you.
4603 Persistent.
4604 .lp showscore
4605 Show your approximate accumulated score on bottom line (default off).
4606 By default, this feature is suppressed when building the program.
4607 Persistent.
4608 .lp showvers
4609 Include the game's version number on the status lines (default off).
4610 Potentially useful if you switch between different versions or variants,
4611 or you are making screenshots or streaming video.
4612 Using the
4613 .op statuslines:3
4614 option is recommended so that there will be more room available for
4615 status information, unless you're using nethack's \fIQt\fP interface
4616 or your terminal emulator window displays fewer than 25 lines.
4617 Persistent.
4618 .lp "silent  "
4619 Suppress terminal beeps (default on).
4620 Persistent.
4621 .lp sortdiscoveries
4622 Controls the sorting behavior for the output of the \(oq\f(CR\\\fP\(cq
4623 and \(oq\f(CR\`\fP\(cq commands.
4624 Persistent.
4625 .lp ""
4626 The possible values are:
4627 .PS \f(CRo\fP
4628 .PL \f(CRo\fP
4629 list object types by class, in discovery order within each class;
4630 default;
4631 .PL \f(CRs\fP
4632 list object types by
4633 .op sortloot
4634 classification: by class, by sub-class within class for classes which
4635 have substantial groupings (like helmets, boots, gloves, and so forth
4636 for armor), with object types partly-discovered via assigned name coming
4637 before fully identified types;
4638 .PL \f(CRc\fP
4639 list by class, alphabetically within each class;
4640 .PL \f(CRa\fP
4641 list alphabetically across all classes.
4643 Can be interactively set via the \(oq\f(CRO\fP\(cq command or via using
4644 the \(oq\f(CRm\fP\(cq prefix before the \(oq\f(CR\\\fP\(cq
4645 or \(oq\f(CR\`\fP\(cq command.
4646 .lp sortloot
4647 Controls the sorting behavior of the pickup lists for inventory
4648 and #loot commands and some others.  Persistent.
4649 .lp ""
4650 The possible values are:
4651 .PS none \" note: with proportional font, "none" is wider than "full" or "loot"
4652 .PL full
4653 always sort the lists;
4654 .PL loot
4655 only sort the lists that don't use inventory letters, like with
4656 the #loot and pickup commands;
4657 .PL none
4658 show lists the traditional way without sorting;
4659 default.
4661 .lp sortpack
4662 Sort the pack contents by type when displaying inventory (default on).
4663 Persistent.
4664 .lp sortvanquished
4665 Controls the sorting behavior for the output of the #vanquished command
4666 and also for the #genocided command.
4667 Persistent.
4668 .lp ""
4669 The possible values are:
4670 .PS \f(CRC\fP
4671 .PL \f(CRt\fP
4672 traditional\(emorder by monster level; ties are broken by internal
4673 monster index;
4674 default;
4675 .PL \f(CRd\fP
4676 order by monster difficulty rating; ties broken by internal index;
4677 .PL \f(CRa\fP
4678 order alphabetically, first any unique monsters then all the others;
4679 .\" note: 'A' and 'C' can be set in RC file or NETHACKOPTIONS but not by 'O'
4680 .\" .PL \f(CRA\fP
4681 .\" order alphabetically, unique monsters intermixed with other monsters;
4682 .\" .PL \f(CRC\fP
4683 .\" order by monster class, by high to low level within each class;
4684 .PL \f(CRc\fP
4685 order by monster class, by low to high level within each class;
4686 .PL \f(CRn\fP
4687 order by count, high to low; ties are broken by internal monster index;
4688 .PL \f(CRz\fP
4689 order by count, low to high; ties broken by internal index.
4691 Can be interactively set via the \(oq\f(CRm O\fP\(cq command or via using
4692 the \(oq\f(CRm\fP\(cq prefix before either the #vanquished command
4693 or the #genocided command.
4694 .lp "sounds "
4695 Allow sounds to be emitted from an integrated sound library (default on).
4696 .lp "sparkle "
4697 Display a sparkly effect when a monster (including yourself) is hit by an
4698 attack to which it is resistant (default on).
4699 Persistent.
4700 .lp spot_monsters
4701 Show a message when hero notices a monster (default is off).
4702 .lp standout
4703 Boldface monsters and \(lq\fB\-\-More\-\-\fP\(rq (default off).
4704 Persistent.
4705 .lp statushilites
4706 Controls how many turns status hilite behaviors highlight the field.
4707 If negated or set to zero, disables status hiliting.
4708 See \(lqConfiguring Status Hilites\(rq for further information.
4709 .lp status_updates
4710 Allow updates to the status lines at the bottom of the screen (default true).
4711 .lp suppress_alert
4712 This option may be set to a NetHack version level to suppress
4713 alert notification messages about feature changes for that
4714 and prior versions (for example \(lqsuppress_alert:3.3.1\(rq).
4715 .lp "symset  "
4716 This option may be used to select one of the named symbol sets found within
4717 \(lqsymbols\(rq to alter the symbols displayed on the screen.
4718 Use \(lqsymset:default\(rq to explicitly select the default symbols.
4719 .lp "time    "
4720 Show the elapsed game time in turns on bottom line (default off).
4721 Persistent.
4722 .lp timed_delay
4723 When pausing momentarily for display effect, such as with explosions and
4724 moving objects, use a timer rather than sending extra characters to the
4725 screen.
4726 (Applies to \(lqtty\(rq and \(lqcurses\(rq interfaces only; \(lqX11\(rq interface always
4727 uses a timer-based delay.
4728 The default is on if configured into the program.)
4729 Persistent.
4730 .lp "tips    "
4731 Show some helpful tips during gameplay (default on).
4732 Persistent.
4733 .lp tombstone
4734 Draw a tombstone graphic upon your death (default on).
4735 Persistent.
4736 .lp toptenwin
4737 Put the ending display in a NetHack window instead of on stdout (default off).
4738 Setting this option makes the score list visible when a windowing version
4739 of NetHack is started without a parent window, but it no longer leaves
4740 the score list around after game end on a terminal or emulating window.
4741 .lp "travel  "
4742 Allow the travel command via mouse click (default on).
4743 Turning this option off will prevent the game from attempting unintended
4744 moves if you make inadvertent mouse clicks on the map window.
4745 Does not affect traveling via the \(oq\f(CR_\fP\(cq (\(lq#travel\(rq) command.
4746 Persistent.
4747 ." .lp travel_debug
4748 ." Display intended path during each step of travel (default off).
4749 ." Debug mode only.
4750 .lp tutorial
4751 Play a tutorial level at the start of the game.
4752 Setting this option on or off in the config file will skip the query.
4753 .lp "verbose "
4754 Provide more commentary during the game (default on).  Persistent.
4755 .lp whatis_coord
4756 When using the \(oq/\(cq or \(oq;\(cq commands to look around on the map with
4757 .op autodescribe
4758 on, display coordinates after the description.
4759 Also works in other situations where you are asked to pick a location.
4760 .lp ""
4761 The possible settings are:
4764 .CC c "compass (\(lqeast\(rq or \(lq3s\(rq or \(lq2n,4w\(rq);"
4765 .CC f "full compass (\(lqeast\(rq or \(lq3south\(rq or \(lq2north,4west\(rq);"
4766 .CC m "map <x,y> (map column x=0 is not used);"
4767 .CC s "screen [row,column] (row is offset to match tty usage);"
4768 .CC n "none (no coordinates shown) [default]."
4772 .op whatis_coord
4773 option is also used with the \(lq/m\(rq, \(lq/M\(rq, \(lq/o\(rq,
4774 and \(lq/O\(rq sub-commands of \(oq/\(cq,
4775 where the \(lqnone\(rq setting is overridden with \(lqmap\(rq.
4776 .lp whatis_filter
4777 When getting a location on the map, and using the keys to cycle through
4778 next and previous targets, allows filtering the possible targets.
4781 .CC n "no filtering [default]"
4782 .CC v "in view only"
4783 .CC a "in same area only"
4786 The area-filter tries to be slightly
4787 predictive\(emif
4788 you're standing on a doorway, it will consider the area on the side of
4789 the door you were last moving towards.
4790 .lp ""
4791 Filtering can also be changed when getting a location with the
4792 \(lqgetpos.filter\(rq key.
4793 .lp whatis_menu
4794 When getting a location on the map, and using a key to cycle through
4795 next and previous targets, use a menu instead to pick a target.
4796 (default off)
4797 .lp whatis_moveskip
4798 When getting a location on the map, and using shifted movement keys or
4799 meta-digit keys to fast-move, instead of moving 8 units at a time,
4800 move by skipping the same glyphs.
4801 (default off)
4802 .lp windowtype
4803 When the program has been built to support multiple interfaces,
4804 select which one to use, such as \(lqtty\(rq or \(lqX11\(rq
4805 (default depends on build-time settings; use \(lq#version\(rq to check).
4806 Cannot be set with the \(oq\f(CRO\fP\(cq command.
4807 .lp ""
4808 When used, it should be the first option set since its value might
4809 enable or disable the availability of various other options.
4810 For multiple lines in a configuration file, that would be the first
4811 non-comment line.
4812 For a comma-separated list in NETHACKOPTIONS or an OPTIONS line in a
4813 configuration file,
4814 that would
4815 be the \fIrightmost\fP option in the list.
4816 .lp wizweight
4817 Augment object descriptions with their objects' weight (default off).
4818 Debug mode only.
4819 .lp zerocomp
4820 When writing out a save file, perform zero-comp compression of the
4821 contents. Not all ports support zero-comp compression. It has no effect
4822 on reading an existing save file.
4823 .hn 2
4824 Window Port Customization options
4826 Here are explanations of the various options that are
4827 used to customize and change the characteristics of the
4828 windowtype that you have chosen.
4829 Character strings that are too long may be truncated.
4830 Not all window ports will adjust for all settings listed
4831 here.  You can safely add any of these options to your configuration
4832 file, and if the window port is capable of adjusting to
4833 suit your preferences, it will attempt to do so. If it
4834 can't it will silently ignore it.  You can find out if an
4835 option is supported by the window port that you are currently
4836 using by checking to see if it shows up in the Options list.
4837 Some options are dynamic and can be specified during the game
4838 with the \(oqO\(cq command.
4839 .lp align_message
4840 Where to align or place the message window (top, bottom, left, or right)
4841 .lp align_status
4842 Where to align or place the status window (top, bottom, left, or right).
4843 .lp ascii_map
4844 .hw DECgraphics IBMgraphics \" don't hyphenate these
4845 If NetHack can, it should display the map using simple
4846 characters (letters and punctuation) rather than \fItiles\fP graphics.
4847 In some cases, characters can be augmented with line-drawing symbols;
4848 use the
4849 .op symset
4850 option to select a symbol set such as \fIDECgraphics\fP
4851 or \fIIBMgraphics\fP if your display supports them.
4852 Setting
4853 .op ascii_map
4854 to \fITrue\fP forces
4855 .op tiled_map
4856 to be \fIFalse\fP.
4857 .lp "color   "
4858 If NetHack can, it should display color if it can for different monsters,
4859 objects, and dungeon features (default on).
4860 .lp eight_bit_tty
4861 If NetHack can, it should pass eight-bit character values (for example,
4862 specified with the
4863 .op traps
4864 option) straight through to your terminal (default off).
4865 .lp font_map
4866 if NetHack can, it should use a font by the chosen name for the map window.
4867 .lp font_menu
4868 If NetHack can, it should use a font by the chosen name for menu windows.
4869 .lp font_message
4870 If NetHack can, it should use a font by the chosen name for the message window.
4871 .lp font_status
4872 If NetHack can, it should use a font by the chosen name for the status window.
4873 .lp font_text
4874 If NetHack can, it should use a font by the chosen name for text windows.
4875 .lp font_size_map
4876 If NetHack can, it should use this size font for the map window.
4877 .lp font_size_menu
4878 If NetHack can, it should use this size font for menu windows.
4879 .lp font_size_message
4880 If NetHack can, it should use this size font for the message window.
4881 .lp font_size_status
4882 If NetHack can, it should use this size font for the status window.
4883 .lp font_size_text
4884 If NetHack can, it should use this size font for text windows.
4885 .lp fullscreen
4886 If NetHack can, it should try to display on the entire screen rather than
4887 in a window.
4888 .lp "guicolor "
4889 Use color text and/or highlighting attributes when displaying some
4890 non-map data (such as menu selector letters).
4891 Curses interface only; default is on.
4892 .lp large_font
4893 If NetHack can, it should use a large font.
4894 .lp map_mode
4895 If NetHack can, it should display the map in the manner specified.
4896 .lp player_selection
4897 If NetHack can, it should pop up dialog boxes, or use prompts for character
4898 selection.
4899 .lp popup_dialog
4900 If NetHack can, it should pop up dialog boxes for input.
4901 .lp preload_tiles
4902 If NetHack can, it should preload tiles into memory.
4903 For example, in the protected mode MS-DOS version, control whether tiles
4904 get pre-loaded into RAM at the start of the game.  Doing so
4905 enhances performance of the tile graphics, but uses more memory. (default on).
4906 Cannot be set with the \(oq\f(CRO\fP\(cq command.
4907 .lp scroll_amount
4908 If NetHack can, it should scroll the display by this number of cells
4909 when the hero reaches the scroll_margin.
4910 .lp scroll_margin
4911 If NetHack can, it should scroll the display when the hero or cursor
4912 is this number of cells away from the edge of the window.
4913 .lp selectsaved
4914 If NetHack can, it should display a menu of existing saved games for the
4915 player to choose from at game startup, if it can.
4916 Not all ports support this option.
4917 .lp softkeyboard
4918 Display an onscreen keyboard.
4919 Handhelds are most likely to support this option.
4920 .lp splash_screen
4921 If NetHack can, it should display an opening splash screen when it starts
4922 up (default yes).
4923 .lp statuslines
4924 Number of lines for traditional below-the-map status display.
4925 Acceptable values are \f(CR2\fP and \f(CR3\fP (default is \f(CR2\fP).
4926 .lp ""
4927 When set to \f(CR3\fP, the \f(CRtty\fP interface moves some fields around and
4928 mainly shows status conditions on their own line.
4929 A display capable of showing at least 25 lines is recommended.
4930 The value can be toggled back and forth during the game with the
4931 \(oq\f(CRO\fP\(cq command.
4932 .lp ""
4933 The \f(CRcurses\fP interface does likewise if the
4934 .op align_status
4935 option is set to \fItop\fP or \fIbottom\fP but ignores
4936 .op statuslines
4937 when set to \fIleft\fP or \fIright\fP.
4938 .lp ""
4939 The \f(CRQt\fP interface already displays more than 3 lines for status
4940 so uses the
4941 .op statuslines
4942 value differently.
4943 A value of \f(CR3\fP renders status in the \f(CRQt\fP interface's
4944 original format, with the status window spread out vertically.
4945 A value of \f(CR2\fP makes status be slightly condensed, moving some
4946 fields to different lines to eliminate one whole line, reducing the
4947 height needed.
4948 (If NetHack has been built using a version of \f(CRQt\fP
4949 older than \f(CRqt-5.9\fP,
4950 .op statuslines
4951 can only be set in the run-time configuration file or via NETHACKOPTIONS,
4952 not during play with the \(oq\f(CRO\fP\(cq command.)
4953 .lp "term_cols\ \ \fIand\fP"
4954 .lp term_rows
4955 Curses interface only.
4956 Number of columns and rows to use for the display.
4957 Curses will attempt to resize to the values specified but will settle
4958 for smaller sizes if they are too big.
4959 Default is the current window size.
4960 .lp tile_file
4961 Specify the name of an alternative tile file to override the default.
4962 .lp ""
4963 Note: the X11 interface uses X resources rather than NetHack's options
4964 to select an alternate tile file.
4965 See \f(CRNetHack.ad\fP, the sample X \(lqapplication defaults\(rq file.
4966 .lp tile_height
4967 Specify the preferred height of each tile in a tile capable port.
4968 .lp tile_width
4969 Specify the preferred width of each tile in a tile capable port
4970 .lp tiled_map
4971 If NetHack can, it should display the map using \fItiles\fP graphics
4972 rather than simple characters (letters and punctuation, possibly
4973 augmented by line-drawing symbols).
4974 Setting
4975 .op tiled_map
4976 to \fITrue\fP forces
4977 .op ascii_map
4978 to be \fIFalse\fP.
4979 .lp use_darkgray
4980 Use bold black instead of blue for black glyphs (TTY only).
4981 .lp use_inverse
4982 If NetHack can, it should display inverse when the game specifies it.
4983 .lp vary_msgcount
4984 If NetHack can, it should display this number of messages at a time in
4985 the message window.
4986 .lp windowborders
4987 Whether to draw boxes around the map, status area, message area, and
4988 persistent inventory window if enabled.
4989 Curses interface only.
4990 Acceptable values are
4993 .CC 0 "off, never show borders"
4994 .CC 1 "on, always show borders"
4995 .CC 2 "auto, on if display is at least (24+2)x(80+2) [default]"
4996 .CC 3 "on, except forced off for perm_invent"
4997 .CC 4 "auto, except forced off for perm_invent"
5000 .lp ""
5001 (The 26x82 size threshold for \(oq2\(cq refers to number of rows and
5002 columns of the display.
5003 A width of at least 110 columns (80+2+26+2) is needed to show borders if
5004 .op align_status
5005 is set to \f(CRleft\fP or \f(CRright\fP.)
5006 .lp ""
5007 The persistent inventory window, when enabled, can grow until it is
5008 too big to fit on most displays, resulting in truncation of its contents.
5009 If borders are forced on (1) or the display is big enough to show them (2),
5010 setting the value to 3 or 4 instead will keep borders for the map, message,
5011 and status windows but have room for two additional lines of inventory
5012 plus widen each inventory line by two columns.
5013 .lp windowcolors
5014 If NetHack can, it should display all windows of a particular style
5015 with the specified foreground and background colors.
5016 Windows GUI and curses windowport only.
5017 The format is
5019 .lp "\f(CROPTION=windowcolors:\fIstyle foreground\f(CR/\fIbackground\fR"
5021 .lp ""
5022 where \fIstyle\fP is one of \(lqmenu\(rq, \(lqmessage\(rq, \(lqstatus\(rq,
5023 or \(lqtext\(rq, and
5024 \fIforeground\fP and \fIbackground\fP are colors, either numeric (hash
5025 sign followed by three pairs of hexadecimal digits, \fI#rrggbb\fP),
5026 one of the named colors (black, red, green, brown,
5027 blue, magenta, cyan, orange, bright-green, yellow, bright-blue,
5028 bright-magenta, bright-cyan, white, gray, purple,
5029 silver, maroon, fuchsia, lime, olive, navy, teal, aqua),
5030 or (for Windows only) one of Windows UI colors (trueblack, activeborder,
5031 activecaption, appworkspace, background, btnface, btnshadow, btntext,
5032 captiontext, graytext, greytext, highlight, highlighttext,
5033 inactiveborder, inactivecaption, menu, menutext, scrollbar,
5034 window, windowframe, windowtext).
5035 .lp wraptext
5036 If NetHack can, it should wrap long lines of text if they don't fit in
5037 the visible area of the window.
5038 .hn 2
5039 Crash Report Options
5041 Please note that NetHack does not send \fBany\fP information off your
5042 computer unless you manually click submit on a form.
5044 .lp "OPTION=crash_email:\fIemail_address\fP
5045 .lp "OPTION=crash_name:\fIyour_name\fP
5047 These options are used only to save you some typing on the crash
5048 report and #bugreport forms.
5050 .lp "OPTION=crash_urlmax:\fIbytes\fP
5052 This option is used to limit the length of the URLs generated and is only
5053 needed if your browser cannot handle arbitrarily long URLs.
5054 .hn 2
5055 Platform-specific Customization options
5057 Here are explanations of options that are used by specific platforms or ports
5058 to customize and change the port behavior.
5059 .lp altkeyhandling
5060 Select an alternate way to handle keystrokes (Win32 tty NetHack only).
5061 The name of the handling type is one of \(lqdefault\(rq, \(lqray\(rq,
5062 \(lq340\(rq.
5063 .lp "altmeta "
5064 On systems where this option is available, it can be
5065 set to tell NetHack to convert a two character sequence beginning with
5066 ESC into a meta-shifted version of the second character (default off).
5067 .lp ""
5068 This conversion is only done for commands, not for other input prompts.
5069 Note that typing one or more digits as a count prefix prior to a
5070 command\(empreceded by \fBn\fP if the
5071 .op number_pad
5072 option is set\(emis
5073 also subject to this conversion, so attempting to
5074 abort the count by typing ESC will leave NetHack waiting for another
5075 character to complete the two character sequence.
5076 Type a second ESC to finish cancelling such a count.
5077 At other prompts a single ESC suffices.
5078 .lp "BIOS    "
5079 Use BIOS calls to update the screen
5080 display quickly and to read the keyboard (allowing the use of arrow
5081 keys to move) on machines with an IBM PC compatible BIOS ROM (default off,
5082 OS/2, PC, and ST NetHack only).
5083 .lp "rawio   "
5084 Force raw (non-cbreak) mode for faster output and more
5085 bulletproof input (MS-DOS sometimes treats \(oq\(haP\(cq as a printer toggle
5086 without it) (default off, OS/2, PC, and ST NetHack only).
5087 Note:  DEC Rainbows hang if this is turned on.
5088 Cannot be set with the \(oq\f(CRO\fP\(cq command.
5089 .lp subkeyvalue
5090 (Win32 tty NetHack only).
5091 May be used to alter the value of keystrokes that the operating system
5092 returns to NetHack to help compensate for international keyboard issues.
5093 OPTIONS=subkeyvalue:171/92
5094 will return 92 to NetHack, if 171 was originally going to be returned.
5095 You can use multiple subkeyvalue assignments in the configuration file
5096 if needed.
5097 Cannot be set with the \(oq\f(CRO\fP\(cq command.
5098 .lp video
5099 Set the video mode used (PC NetHack only).
5100 Values are \(lqautodetect\(rq, \(lqdefault\(rq, \(lqvga\(rq, or \(lqvesa\(rq.
5101 Setting \(lqvesa\(rq will cause the game to display tiles, using the full
5102 capability of the VGA hardware.
5103 Setting \(lqvga\(rq will cause the game to display tiles, fixed at 640x480
5104 in 16 colors, a mode that is compatible with all VGA hardware. Third party
5105 tilesets will probably not work.
5106 Setting \(lqautodetect\(rq attempts \(lqvesa\(rq, then \(lqvga\(rq, and
5107 finally sets \(lqdefault\(rq if neither of those modes works.
5108 Cannot be set with the \(oq\f(CRO\fP\(cq command.
5109 .lp video_height
5110 Set the VGA mode resolution height (MS-DOS only, with video:vesa)
5111 .lp video_width
5112 Set the VGA mode resolution width (MS-DOS only, with video:vesa)
5113 .lp videocolors
5114 Set the color palette for PC systems using NO_TERMS
5115 (default 4-2-6-1-5-3-15-12-10-14-9-13-11, (PC NetHack only).
5116 The order of colors is red, green, brown, blue, magenta, cyan,
5117 bright.white, bright.red, bright.green, yellow, bright.blue,
5118 bright.magenta, and bright.cyan.
5119 Cannot be set with the \(oq\f(CRO\fP\(cq command.
5120 .lp videoshades
5121 Set the intensity level of the three gray scales available
5122 (default dark normal light, PC NetHack only).
5123 If the game display is difficult to read, try adjusting these scales;
5124 if this does not correct the problem, try !color.
5125 Cannot be set with the \(oq\f(CRO\fP\(cq command.
5126 .hn 2
5127 Regular Expressions
5129 Regular expressions are normally POSIX extended regular expressions. It is
5130 possible to compile NetHack without regular expression support on a platform
5131 where there is no regular expression library. While this is not true of any
5132 modern platform, if your NetHack was built this way, patterns are instead glob
5133 patterns; regardless, this document refers to both as \(oqregular
5134 expressions.\(cq
5135 This applies to Autopickup exceptions, Message types, Menu colors,
5136 and User sounds.
5137 .hn 2
5138 Configuring Autopickup Exceptions
5140 You can further refine the behavior of the
5141 .op autopickup
5142 option beyond what is available through the
5143 .op pickup_types
5144 option.
5146 By placing
5147 .op autopickup_exception
5148 lines in your configuration
5149 file, you can define patterns to be checked when the game is about to
5150 autopickup something.
5151 .lp autopickup_exception
5152 Sets an exception to the
5153 .op pickup_types
5154 option.
5156 .op autopickup_exception
5157 option should be followed by a regular expression to be used as a pattern to
5158 match against the singular form of the description of an object at your
5159 location.
5160 .lp ""
5161 In addition, some characters are treated specially if they occur as the first
5162 character in the pattern, specifically:
5165 .CC < "always pickup an object that matches rest of pattern;"
5166 .CC > "never pickup an object that matches rest of pattern."
5170 .op autopickup_exception
5171 rules are processed in the order in which they appear in your configuration
5172 file, thus allowing a later rule to override an earlier rule.
5173 .lp ""
5174 Exceptions can be set with the \(oqO\(cq command, but because they are not
5175 included in your configuration file, they won't be in effect if you save
5176 and then restore your game.
5177 .op autopickup_exception
5178 rules and not saved with the game.
5179 .\" end of ``.lp autopickup_exception'' entry; continue enclosing page...
5180 .\" use .lp "text" to make an unindented paragraph ("text" should be short)
5181 .lp "Here are some examples:"
5184 .ft CR
5185 autopickup_exception="<*arrow"
5186 autopickup_exception=">*corpse"
5187 autopickup_exception=">* cursed*"
5191 .\" (this paragraph would look better unindented but can't use .lp hack...)
5193 The first example above will result in autopickup of any type of arrow.
5194 The second example results in the exclusion of any corpse from autopickup.
5195 The last example results in the exclusion of items known to be cursed from
5196 autopickup.
5197 .hn 2
5198 Changing Key Bindings
5200 It is possible to change the default key bindings of some special commands,
5201 menu accelerator keys, and extended commands, by using BIND stanzas in the
5202 configuration file.
5203 Format is key, followed by the command to bind to, separated by a colon.
5204 The key can be a single character (\(lqx\(rq), a control key (\(lq\(haX\(rq,
5205 \(lqC-x\(rq), a meta key (\(lqM-x\(rq), a mouse button,
5206 or a three-digit decimal ASCII code.
5208 For example:
5211 BIND=\(haX:getpos.autodescribe
5212 BIND=\\:menu_first_page
5213 BIND=v:loot
5217 .lp "Extended command keys"
5218 You can bind multiple keys to the same extended command.
5219 Unbind a key by using \(lqnothing\(rq as the extended command to bind to.
5220 You can also bind the \(lq<esc>\(rq, \(lq<enter>\(rq, and \(lq<space>\(rq keys.
5221 .lp "Menu accelerator keys"
5222 The menu control or accelerator keys can also be rebound via OPTIONS lines
5223 in the configuration file.
5224 You cannot bind object symbols or selection letters into menu accelerators.
5225 Some interfaces only support some of the menu accelerators.
5226 .lp "Mouse buttons"
5227 You can bind \(lqmouse1\(rq or \(lqmouse2\(rq to \(lqnothing\(rq,
5228 \(lqtherecmdmenu\(rq, \(lqclicklook\(rq, or \(lqmouseaction\(rq.
5229 .lp "Special command keys"
5230 Below are the special commands you can rebind.
5231 Some of them can be bound to
5232 same keys with no problems, others are in the same \(lqcontext\(rq,
5233 and if bound to same keys, only one of those commands will be available.
5234 Special command can only be bound to a single key.
5236 .lp count
5237 Prefix key to start a count, to repeat a command this many times.
5238 With
5239 .op number_pad
5240 only.
5241 Default is \(oqn\(cq.
5242 .lp getdir.help
5243 When asked for a direction, the key to show the help.
5244 Default is \(oq?\(cq.
5245 .lp getdir.mouse
5246 When asked for a direction, the key to initiate a simulated mouse click.
5247 You will be asked to pick a location.
5248 Use movement keystrokes to move the cursor around the map, then type
5249 the getpos.pick.once key (default \(oq\f(CR,\fP\(cq)
5250 or the getpos.pick key (default \(oq\f(CR.\fP\(cq)
5251 to finish as if performing a left or right click.
5252 Only useful when using the \f(CR#therecmdmenu\fP command.
5253 Default is \(oq_\(cq. \" underscore
5254 .lp getdir.self
5255 When asked for a direction, the key to target yourself.
5256 Default is \(oq.\(cq.
5257 .lp getdir.self2
5258 When asked for a direction, an alternate key to target yourself.
5259 Default is \(oqs\(cq.
5260 .lp getpos.autodescribe
5261 When asked for a location, the key to toggle autodescribe.
5262 Default is \(oq#\(cq.
5263 .lp getpos.all.next
5264 When asked for a location, the key to go to next closest interesting thing.
5265 Default is \(oqa\(cq.
5266 .lp getpos.all.prev
5267 When asked for a location, the key to go to previous closest interesting
5268 thing.
5269 Default is \(oqA\(cq.
5270 .lp getpos.door.next
5271 When asked for a location, the key to go to next closest door or doorway.
5272 Default is \(oqd\(cq.
5273 .lp getpos.door.prev
5274 When asked for a location, the key to go to previous closest door or doorway.
5275 Default is \(oqD\(cq.
5276 .lp getpos.help
5277 When asked for a location, the key to show help.
5278 Default is \(oq?\(cq.
5279 .lp getpos.mon.next
5280 When asked for a location, the key to go to next closest monster.
5281 Default is \(oqm\(cq.
5282 .lp getpos.mon.prev
5283 When asked for a location, the key to go to previous closest monster.
5284 Default is \(oqM\(cq.
5285 .lp getpos.obj.next
5286 When asked for a location, the key to go to next closest object.
5287 Default is \(oqo\(cq.
5288 .lp getpos.obj.prev
5289 When asked for a location, the key to go to previous closest object.
5290 Default is \(oqO\(cq.
5291 .lp getpos.menu
5292 When asked for a location, and using one of the next or previous keys to
5293 cycle through targets, toggle showing a menu instead.
5294 Default is \(oq!\(cq.
5295 .lp getpos.moveskip
5296 When asked for a location, and using the shifted movement keys or meta-digit
5297 keys to fast-move around, move by skipping the same glyphs instead of
5298 by 8 units.
5299 Default is \(oq*\(cq.
5300 .lp getpos.filter
5301 When asked for a location, change the filtering mode when using one of
5302 the next or previous keys to cycle through targets.
5303 Toggles between no
5304 filtering, in view only, and in the same area only.
5305 Default is \(oq\(dq\(cq. \" double quote
5306 .lp getpos.pick
5307 When asked for a location, the key to choose the location, and possibly
5308 ask for more info.
5309 When simulating a mouse click after being asked for a direction (see
5310 getdir.mouse above), the key to use to respond as right click.
5311 Default is \(oq.\(cq.
5312 .lp getpos.pick.once
5313 When asked for a location, the key to choose the location, and skip asking
5314 for more info.
5315 When simulating a mouse click after being asked for a direction,
5316 the key to respond as left click.
5317 Default is \(oq,\(cq.
5318 .lp getpos.pick.quick
5319 When asked for a location, the key to choose the location, skip asking for
5320 more info, and exit the location asking loop.
5321 Default is \(oq;\(cq.
5322 .lp getpos.pick.verbose
5323 When asked for a location, the key to choose the location, and show more
5324 info without asking.
5325 Default is \(oq:\(cq.
5326 .lp getpos.self
5327 When asked for a location, the key to go to your location.
5328 Default is \(oq@\(cq.
5329 .lp getpos.unexplored.next
5330 When asked for a location, the key to go to next closest unexplored location.
5331 Default is \(oqx\(cq.
5332 .lp getpos.unexplored.prev
5333 When asked for a location, the key to go to previous closest unexplored
5334 location.
5335 Default is \(oqX\(cq.
5336 .lp getpos.valid
5337 When asked for a location, the key to go to show valid target locations.
5338 Default is \(oq$\(cq.
5339 .lp getpos.valid.next
5340 When asked for a location, the key to go to next closest valid location.
5341 Default is \(oqz\(cq.
5342 .lp getpos.valid.prev
5343 When asked for a location, the key to go to previous closest valid location.
5344 Default is \(oqZ\(cq.
5345 .hn 2
5346 Configuring Message Types
5348 You can change the way the messages are shown in the message area, when
5349 the message matches a user-defined pattern.
5351 In general, the configuration file entries to describe the message types
5352 look like this:
5354 MSGTYPE=type "pattern"
5356 .PS "pattern"
5357 .PL type
5358 how the message should be shown;
5359 .PL pattern
5360 the pattern to match.
5362 .lp ""
5363 The pattern should be a regular expression.
5364 .lp ""
5365 Allowed types are:
5366 .PS "norep"
5367 .PL show
5368 show message normally;
5369 .PL hide
5370 never show the message;
5371 .PL stop
5372 wait for user with more-prompt;
5373 .PL norep
5374 show the message once, but not again if no other message is shown in between.
5376 .lp ""
5377 Here's an example of message types using NetHack's internal
5378 pattern matching facility:
5381 .ft CR
5382 MSGTYPE=stop "You feel hungry."
5383 MSGTYPE=hide "You displaced *."
5387 specifies that whenever a message \(lqYou feel hungry\(rq is shown,
5388 the user is prompted with more-prompt, and a message matching
5389 \(lqYou displaced <something>.\(rq is not shown at all.
5390 .\" historical trivia:  "You displaced Fido." was the sort of message you
5391 .\" got when swapping places with your pet, but that was changed long ago...
5392 .lp ""
5393 The order of the defined MSGTYPE lines is important; the last matching
5394 rule is used. Put the general case first, exceptions below them.
5395 .hn 2
5396 Configuring Menu Colors
5398 Some platforms allow you to define colors used in menu lines when the
5399 line matches a user-defined pattern.
5400 At this time the tty, curses, win32tty and
5401 win32gui interfaces support this.
5403 In general, the configuration file entries to describe the menu color mappings
5404 look like this:
5406 .lp MENUCOLOR="pattern"=color&attribute
5408 .PS "menu color"
5409 .PL pattern
5410 the pattern to match;
5411 .PL color
5412 the color to use for lines matching the pattern;
5413 .PL attribute
5414 the attribute to use for lines matching the pattern. The attribute is
5415 optional, and if left out, you must also leave out the preceding ampersand.
5416 If no attribute is defined, no attribute is used.
5418 .lp ""
5419 The pattern should be a regular expression.
5420 .lp ""
5421 Allowed colors are black, red, green, brown, blue, magenta, cyan, gray,
5422 orange, light-green, yellow, light-blue, light-magenta, light-cyan, and white.
5423 And \f(CRno-color\fP, the default foreground color, which isn't necessarily
5424 the same as any of the other colors.
5425 .lp ""
5426 Allowed attributes are none, bold, dim, italic, underline, blink, and inverse.
5427 \(lqNormal\(rq is a synonym for \(lqnone\(rq.
5428 Note that the platform used may interpret the attributes any way it
5429 wants.
5430 .lp ""
5431 Here's an example of menu colors using NetHack's internal
5432 pattern matching facility:
5435 MENUCOLOR="* blessed *"=green
5436 MENUCOLOR="* cursed *"=red
5437 MENUCOLOR="* cursed *(being worn)"=red&underline
5440 .\" note backslash-quoted spaces to prevent line breaks within " word "
5441 specifies that any menu line with \(lq\ blessed\ \(rq contained
5442 in it will be shown in green color, lines with \(lq\ cursed\ \(rq will be
5443 shown in red, and lines with \(lq\ cursed\ \(rq followed
5444 by \(lq(being worn)\(rq
5445 on the same line will be shown in red color and underlined.
5446 You can have multiple MENUCOLOR entries in your configuration file,
5447 and the last MENUCOLOR line that matches
5448 a menu line will be used for the line.
5450 Note that if you intend to have one or more color specifications match
5451 \(lq\ uncursed\ \(rq, you will probably want to turn the
5452 .op implicit_uncursed
5453 option off so that all items known to be uncursed are actually
5454 displayed with the \(lquncursed\(rq description.
5455 .hn 2
5456 Configuring User Sounds
5458 Some platforms allow you to define sound files to be played when a message
5459 that matches a user-defined pattern is delivered to the message window.
5460 At this time the Qt port and the win32tty and win32gui ports support the
5461 use of user sounds.
5463 The following configuration file entries are relevant to mapping user sounds
5464 to messages:
5465 .lp SOUNDDIR
5466 The directory that houses the sound files to be played.
5467 .lp SOUND
5468 An entry that maps a sound file to a user-specified message pattern.
5469 Each SOUND entry is broken down into the following parts:
5470 .PS "sound index"
5471 .PL MESG
5472 message window mapping (the only one supported in 3.7.0);
5473 .PL msgtype
5474 optional; message type to use, see \(lqConfiguring Message Types\(rq
5475 .PL pattern
5476 the pattern to match;
5477 .PL "sound file"
5478 the sound file to play;
5479 .PL volume
5480 the volume to be set while playing the sound file;
5481 .PL "sound index"
5482 optional; the index corresponding to a sound file.
5484 .lp ""
5485 The pattern should be a regular expression.
5487 For example:
5490 .ft CR
5491 SOUNDDIR=C:\\nethack\\sounds
5492 SOUND=MESG "This door is locked" "lock.wav" 100
5493 SOUND=MESG hide "^You miss the " "swing.wav" 75
5497 .BR 0 \" without this, the next section seems too close to this one
5498 .hn 2
5499 Configuring Status Hilites
5501 Your copy of NetHack may have been compiled with support for
5502 \(lqStatus Hilites\(rq.
5503 If so, you can customize your game display by setting thresholds to
5504 change the color or appearance of fields in the status display.
5506 The format for defining status colors is:
5507 .SD n
5508 \f(CROPTION=hilite_status:\fIfield-name\fP/\fIbehavior\fP/\fIcolor\fP&\fIattributes\fP\fP
5511 For example, the following line in your configuration file will cause
5512 the hitpoints field to display in the color red if your hitpoints
5513 drop to or below a threshold of 30%:
5514 .SD n
5515 \f(CROPTION=hilite_status:hitpoints/<=30%/red/normal\fP
5517 (That example is actually specifying \f(CRred&normal\fP for <=30%
5518 and \f(CRno-color&normal\fP for >30%.)
5520 For another example, the following line in your configuration file will cause
5521 wisdom to be displayed red if it drops and green if it rises:
5522 .SD n
5523 \f(CROPTION=hilite_status:wisdom/down/red/up/green\fP
5526 Allowed colors are black, red, green, brown, blue, magenta, cyan, gray,
5527 orange, light-green, yellow, light-blue, light-magenta, light-cyan, and white.
5528 And \(lqno-color\(rq, the default foreground color on the display, which
5529 is not necessarily the same as black or white or any of the other colors.
5531 Allowed attributes are none, bold, dim, underline, italic, blink, and inverse.
5532 \(lqNormal\(rq is a synonym for \(lqnone\(rq; they should not be used in
5533 combination with any of the other attributes.
5535 To specify both a color and an attribute, use \(oq&\(cq to combine them.
5536 To specify multiple attributes, use \(oq+\(cq to combine those.
5537 For example: \(lqmagenta&inverse+dim\(rq.
5539 Note that the display may substitute or ignore particular attributes
5540 depending upon its capabilities, and in general may interpret the
5541 attributes any way it wants.
5542 For example, on some display systems a request for bold might yield
5543 blink or vice versa.
5544 On others, issuing an attribute request while another is already
5545 set up will replace the earlier attribute rather than combine with it.
5546 Since NetHack issues attribute requests sequentially (at least with
5547 the \f(CRtty\fP interface) rather than all at once, the only way a
5548 situation like that can be controlled is to specify just one attribute.
5550 You can adjust the appearance of the following status fields:
5552 center;
5553 c c c.
5554 .\"TABLE_START
5555 title   dungeon-level   experience-level
5556 strength        gold    experience
5557 dexterity       hitpoints       HD
5558 constitution    hitpoints-max   time
5559 intelligence    power   hunger
5560 wisdom  power-max       carrying-capacity
5561 charisma        armor-class     condition
5562 alignment               score
5563 .\"TABLE_END  Do not delete this line.
5565 .lp ""
5566 The pseudo-field \(lqcharacteristics\(rq can be used to set all six
5567 of Str, Dex, Con, Int, Wis, and Cha at once.  \(lqHD\(rq is \(lqhit dice\(rq,
5568 an approximation of experience level displayed when polymorphed.
5569 \(lqexperience\(rq, \(lqtime\(rq, and \(lqscore\(rq are conditionally
5570 displayed depending upon your other option settings.
5571 .lp ""
5572 Instead of a behavior, \(lqcondition\(rq takes the following condition flags:
5573 stone, slime, strngl, foodpois, termill, blind, deaf, stun, conf, hallu,
5574 lev, fly, and ride.
5575 You can use \(lqmajor_troubles\(rq as an alias
5576 for stone through termill, \(lqminor_troubles\(rq for blind through hallu,
5577 \(lqmovement\(rq for lev, fly, and ride, and \(lqall\(rq for every condition.
5578 .lp ""
5579 Allowed behaviors are \(lqalways\(rq, \(lqup\(rq, \(lqdown\(rq,
5580 \(lqchanged\(rq, a percentage or absolute number threshold, or
5581 text to match against.
5582 For the \fIhitpoints\fP field, the additional behavior \(lqcriticalhp\(rq
5583 is available.
5584 It overrides other behavior rules if
5585 hit points are at or below the \fImajor problem\fP threshold
5586 (which varies depending upon maximum hit points and experience level).
5588 .lp "*"
5589 \(lqalways\(rq will set the default attributes for that field.
5590 .lp "*"
5591 \(lqup\(rq, \(lqdown\(rq set the field attributes for when the field
5592 value changes upwards or downwards.
5593 This attribute times out after
5594 .op statushilites
5595 turns.
5596 .lp "*"
5597 \(lqchanged\(rq sets the field attribute for when the field value changes.
5598 This attribute times out after
5599 .op statushilites
5600 turns.
5601 (If a field has both a \(lqchanged\(rq rule and an \(lqup\(rq or \(lqdown\(rq
5602 rule which matches a change in the field's value,
5603 the \(lqup\(rq or \(lqdown\(rq one takes precedence.)
5604 .lp "*"
5605 percentage sets the field attribute when the field value
5606 matches the percentage.
5607 It is specified as a number between 0 and 100, followed by \(oq%\(cq
5608 (percent sign).
5609 If the percentage is prefixed with \(oq<=\(cq or \(oq>=\(cq,
5610 it also matches when value is below or above the percentage.
5611 Use prefix \(oq<\(cq or \(oq>\(cq to match when strictly below or above.
5612 (The numeric limit is relaxed slightly for those: \f(CR>-1%\fP
5613 and \f(CR<101%\fP are allowed.)
5614 Only four fields support percentage rules.
5615 Percentages for \(lqhitpoints\(rq and \(lqpower\(rq are
5616 straightforward; they're based on the corresponding maximum field.
5617 Percentage highlight rules are also allowed for \(lqexperience level\(rq
5618 and \(lqexperience points\(rq (valid when the
5619 .op showexp
5620 option is enabled).
5621 For those, the percentage is based on the progress from the start of
5622 the current experience level to the start of the next level.
5623 So if level 2 starts at 20 points and level 3 starts at 40 points,
5624 having 30 points is 50% and 35 points is 75%.
5625 100% is unattainable for experience because you'll gain a level and
5626 the calculations will be reset for that new level, but a rule for
5627 \f(CR=100%\fP is allowed and matches the special case of being
5628 exactly 1 experience point short of the next level.
5629 .\" (If you manage to reach level 30, there is no next level and the
5630 .\" percentage will remain at 0% no matter have many additional experience
5631 .\" points you earn.)
5632 .lp "*"
5633 absolute value sets the attribute when the field value matches
5634 that number.
5635 The number must be 0 or higher, except for \(lqarmor-class\(cq which
5636 allows negative values, and may optionally be preceded by \(oq=\(cq.
5637 If the number is preceded by \(oq<=\(cq or \(oq>=\(cq instead,
5638 it also matches when value is below or above.
5639 If the prefix is \(oq<\(cq or \(oq>\(cq, only match when strictly
5640 above or below.
5641 .lp "*"
5642 criticalhp only applies to the hitpoints field and only
5643 when current hit points are below a threshold (which varies by maximum
5644 hit points and experience level).
5645 When the threshold is met, a criticalhp rule takes precedence over all
5646 other hitpoints rules.
5647 .lp "*"
5648 text match sets the attribute when the field value
5649 matches the text.
5650 Text matches can only be used for \(lqalignment\(rq,
5651 \(lqcarrying-capacity\(rq, \(lqhunger\(rq, \(lqdungeon-level\(rq,
5652 and \(lqtitle\(rq.
5653 For title, only the role's rank title
5654 is tested; the character's name is ignored.
5657 The in-game options menu can help you determine the correct syntax for a
5658 configuration file.
5660 The whole feature can be disabled by setting option
5661 .op statushilites
5662 to 0.
5664 Example hilites:
5667 .ft CR
5668 OPTION=hilite_status: gold/up/yellow/down/brown
5669 OPTION=hilite_status: characteristics/up/green/down/red
5670 OPTION=hilite_status: hitpoints/100%/gray&normal
5671 OPTION=hilite_status: hitpoints/<100%/green&normal
5672 OPTION=hilite_status: hitpoints/<66%/yellow&normal
5673 OPTION=hilite_status: hitpoints/<50%/orange&normal
5674 OPTION=hilite_status: hitpoints/<33%/red&bold
5675 OPTION=hilite_status: hitpoints/<15%/red&inverse
5676 OPTION=hilite_status: condition/major/orange&inverse
5677 OPTION=hilite_status: condition/lev+fly/red&inverse
5681 .BR 0 \" without this, the next section seems too close to this one
5682 .hn 2
5683 Modifying NetHack Symbols
5685 NetHack can load entire symbol sets from the symbol file.
5687 The options that are used to select a particular symbol set from the
5688 symbol file are:
5689 .lp symset
5690 Set the name of the symbol set that you want to load.
5691 .lp roguesymset
5692 Set the name of the symbol set that you want to load for display
5693 on the rogue level.
5695 You can also override one or more symbols using the SYMBOLS and
5696 ROGUESYMBOLS configuration file options.
5697 Symbols are specified as name:value pairs.
5698 Note that
5699 NetHack escape-processes the value string in conventional C fashion.
5700 This means that \\ is a prefix to take the following character literally.
5701 Thus \\ needs to be represented as \\\\.
5702 The special prefix form \\m switches on the meta bit in the symbol value,
5703 and the \(ha prefix causes the following character to be treated as a
5704 control character.
5706 .\" Table is centered.
5707 .\" First line (title) is left justified and spans second and third columns;
5708 .\" it used to be centered but tended to look as if too far to the right.
5709 .\" Remaining lines are left justified in each of three columns.  First
5710 .\" line (second overall) contains column labels; the first column has a
5711 .\" dummy label of two spaces.  (That used to be "Default" but it made all
5712 .\" the lines wider because of the label's width and caused several lines
5713 .\" to be too wide when generating plain text output.  Two spaces leaves
5714 .\" some room between the symbol character and name.)  Entries in first
5715 .\" column now use constant-width Roman font to approximate TeX tt font.
5717 center;
5718 l s s
5719 l1fCR l1 l.
5720 .\"TABLE_START
5721 NetHack Symbols
5722 \ \     Symbol Name     Description
5723 \_      \_      \_
5724 \       S_air   (air)
5725 \&_     S_altar (altar)
5726 \(dq    S_amulet        (amulet)
5727 A       S_angel (angelic being)
5728 a       S_ant   (ant or other insect)
5729 \(ha    S_anti_magic_trap       (anti-magic field)
5730 [       S_armor (suit or piece of armor)
5731 [       S_armour        (suit or piece of armor)
5732 \(ha    S_arrow_trap    (arrow trap)
5733 0       S_ball  (iron ball)
5734 #       S_bars  (iron bars)
5735 B       S_bat   (bat or bird)
5736 \(ha    S_bear_trap     (bear trap)
5737 \-      S_blcorn        (bottom left corner)
5738 b       S_blob  (blob)
5739 +       S_book  (spellbook)
5740 )       S_boomleft      (boomerang open left)
5741 (       S_boomright     (boomerang open right)
5742 \`      S_boulder       (boulder)
5743 \-      S_brcorn        (bottom right corner)
5744 >       S_brdnladder    (branch ladder down)
5745 >       S_brdnstair     (branch staircase down)
5746 <       S_brupladder    (branch ladder up)
5747 <       S_brupstair     (branch staircase up)
5748 C       S_centaur       (centaur)
5749 \&_     S_chain (iron chain)
5750 #       S_cloud (cloud)
5751 c       S_cockatrice    (cockatrice)
5752 $       S_coin  (pile of coins)
5753 #       S_corr  (corridor)
5754 \-      S_crwall        (wall)
5755 #       S_darkroom      (dark room)
5756 \(ha    S_dart_trap     (dart trap)
5757 &       S_demon (major demon)
5758 *       S_digbeam       (dig beam)
5759 >       S_dnladder      (ladder down)
5760 >       S_dnstair       (staircase down)
5761 d       S_dog   (dog or other canine)
5762 D       S_dragon        (dragon)
5763 ;       S_eel   (sea monster)
5764 E       S_elemental     (elemental)
5765 #       S_engrcorr      (engraving in a corridor)
5766 \`      S_engroom       (engraving in a room)
5767 /       S_expl_tl       (explosion top left)
5768 \-      S_expl_tc       (explosion top center)
5769 \\      S_expl_tr       (explosion top right)
5770 |       S_expl_ml       (explosion middle left)
5771 \       S_expl_mc       (explosion middle center)
5772 |       S_expl_mr       (explosion middle right)
5773 \\      S_expl_bl       (explosion bottom left)
5774 \-      S_expl_bc       (explosion bottom center)
5775 /       S_expl_br       (explosion bottom right)
5776 e       S_eye   (eye or sphere)
5777 \(ha    S_falling_rock_trap     (falling rock trap)
5778 f       S_feline        (cat or other feline)
5779 \(ha    S_fire_trap     (fire trap)
5780 !       S_flashbeam     (flash beam)
5781 %       S_food  (piece of food)
5782 {       S_fountain      (fountain)
5783 F       S_fungus        (fungus or mold)
5784 *       S_gem   (gem or rock)
5785 \       S_ghost (ghost)
5786 H       S_giant (giant humanoid)
5787 G       S_gnome (gnome)
5788 \'      S_golem (golem)
5789 |       S_grave (grave)
5790 g       S_gremlin       (gremlin)
5791 \-      S_hbeam (horizontal beam [zap animation])
5792 #       S_hcdbridge     (horizontal raised drawbridge)
5793 +       S_hcdoor        (closed door in horizontal wall)
5794 \.      S_hodbridge     (horizontal lowered drawbridge)
5795 |       S_hodoor        (open door in horizontal wall)
5796 \(ha    S_hole  (hole)
5797 @       S_human (human or elf)
5798 h       S_humanoid      (humanoid)
5799 \-      S_hwall (horizontal wall)
5800 \.      S_ice   (ice)
5801 i       S_imp   (imp or minor demon)
5802 I       S_invisible     (invisible monster)
5803 J       S_jabberwock    (jabberwock)
5804 j       S_jelly (jelly)
5805 k       S_kobold        (kobold)
5806 K       S_kop   (Keystone Kop)
5807 \(ha    S_land_mine     (land mine)
5808 }       S_lava  (molten lava)
5809 }       S_lavawall      (wall of lava)
5810 l       S_leprechaun    (leprechaun)
5811 \(ha    S_level_teleporter      (level teleporter)
5812 L       S_lich  (lich)
5813 y       S_light (light)
5814 #       S_litcorr       (lit corridor)
5815 :       S_lizard        (lizard)
5816 \\      S_lslant        (diagonal beam [zap animation])
5817 \(ha    S_magic_portal  (magic portal)
5818 \(ha    S_magic_trap    (magic trap)
5819 m       S_mimic (mimic)
5820 ]       S_mimic_def     (mimic)
5821 M       S_mummy (mummy)
5822 N       S_naga  (naga)
5823 \.      S_ndoor (doorway without door)
5824 n       S_nymph (nymph)
5825 O       S_ogre  (ogre)
5826 o       S_orc   (orc)
5827 p       S_piercer       (piercer)
5828 \(ha    S_pit   (pit)
5829 #       S_poisoncloud   (poison cloud)
5830 \(ha    S_polymorph_trap        (polymorph trap)
5831 }       S_pool  (water)
5832 !       S_potion        (potion)
5833 P       S_pudding       (pudding or ooze)
5834 q       S_quadruped     (quadruped)
5835 Q       S_quantmech     (quantum mechanic)
5836 \&=     S_ring  (ring)
5837 \`      S_rock  (boulder or statue)
5838 r       S_rodent        (rodent)
5839 \(ha    S_rolling_boulder_trap  (rolling boulder trap)
5840 \.      S_room  (floor of a room)
5841 /       S_rslant        (diagonal beam [zap animation])
5842 \(ha    S_rust_trap     (rust trap)
5843 R       S_rustmonst     (rust monster or disenchanter)
5844 ?       S_scroll        (scroll)
5845 #       S_sink  (sink)
5846 \(ha    S_sleeping_gas_trap     (sleeping gas trap)
5847 S       S_snake (snake)
5848 s       S_spider        (arachnid or centipede)
5849 \(ha    S_spiked_pit    (spiked pit)
5850 \(ha    S_squeaky_board (squeaky board)
5851 0       S_ss1   (magic shield 1 of 4)
5852 #       S_ss2   (magic shield 2 of 4)
5853 @       S_ss3   (magic shield 3 of 4)
5854 *       S_ss4   (magic shield 4 of 4)
5855 \(ha    S_statue_trap   (statue trap)
5856 \       S_stone (solid rock)
5857 ]       S_strange_obj   (strange object)
5858 \-      S_sw_bc (swallow bottom center)
5859 \\      S_sw_bl (swallow bottom left)
5860 /       S_sw_br (swallow bottom right)
5861 |       S_sw_ml (swallow middle left)
5862 |       S_sw_mr (swallow middle right)
5863 \-      S_sw_tc (swallow top center)
5864 /       S_sw_tl (swallow top left)
5865 \\      S_sw_tr (swallow top right)
5866 \-      S_tdwall        (wall)
5867 \(ha    S_teleportation_trap    (teleportation trap)
5868 \\      S_throne        (opulent throne)
5869 \-      S_tlcorn        (top left corner)
5870 |       S_tlwall        (wall)
5871 (       S_tool  (useful item (pick-axe, key, lamp...))
5872 \(ha    S_trap_door     (trap door)
5873 t       S_trapper       (trapper or lurker above)
5874 \-      S_trcorn        (top right corner)
5875 #       S_tree  (tree)
5876 T       S_troll (troll)
5877 |       S_trwall        (wall)
5878 \-      S_tuwall        (wall)
5879 U       S_umber (umber hulk)
5880 \       S_unexplored    (unexplored terrain)
5881 u       S_unicorn       (unicorn or horse)
5882 <       S_upladder      (ladder up)
5883 <       S_upstair       (staircase up)
5884 V       S_vampire       (vampire)
5885 |       S_vbeam (vertical beam [zap animation])
5886 #       S_vcdbridge     (vertical raised drawbridge)
5887 +       S_vcdoor        (closed door in vertical wall)
5888 \.      S_venom (splash of venom)
5889 \(ha    S_vibrating_square      (vibrating square)
5890 \.      S_vodbridge     (vertical lowered drawbridge)
5891 \-      S_vodoor        (open door in vertical wall)
5892 v       S_vortex        (vortex)
5893 |       S_vwall (vertical wall)
5894 /       S_wand  (wand)
5895 }       S_water (water)
5896 )       S_weapon        (weapon)
5897 \(dq    S_web   (web)
5898 w       S_worm  (worm)
5899 \(ti    S_worm_tail     (long worm tail)
5900 W       S_wraith        (wraith)
5901 x       S_xan   (xan or other extraordinary insect)
5902 X       S_xorn  (xorn)
5903 Y       S_yeti  (apelike creature)
5904 Z       S_zombie        (zombie)
5905 z       S_zruty (zruty)
5906 \       S_pet_override  (any pet if ACCESSIBILITY=1 is set)
5907 \       S_hero_override (hero if ACCESSIBILITY=1 is set)
5908 .\"TABLE_END  Do not delete this line.
5910 .\" don't hyphenate file name across lines
5911 .hw sysconf
5913 .lp "Notes:"
5914 .lp "*"
5915 Several symbols in this table appear to be blank.
5916 They are the space character, except for S_pet_override
5917 and S_hero_override which don't have any default value
5918 and can only be used if enabled in the \(lqsysconf\(rq file.
5919 .lp "*"
5920 S_rock is misleadingly named; rocks and stones use S_gem.
5921 Statues and boulders are the rock being referred to, but since
5922 version 3.6.0, statues are displayed as the monster they depict.
5923 So S_rock is only used for boulders and not used at all if
5924 overridden by the more specific S_boulder.
5925 .hn 2
5926 Customizing Map Glyph Representations Using Unicode
5928 If your platform or terminal supports the display of UTF-8 character
5929 sequences, you can customize your game display by assigning Unicode
5930 codepoint values and \fIred-green-blue\fP colors to glyph
5931 representations. The customizations can be specified for use with a symset that
5932 has a UTF8 handler within the symbols file such as the enhanced1 set, or 
5933 individually within your nethack.rc file.
5935 The format for defining a glyph representation is:
5936 .SD n
5937 .ft CR
5938 OPTIONS=glyph:\fIglyphid\fP/\fIU+nnnn\fP/\fIR-G-B\fP
5942 The window port that is active needs to provide support for displaying
5943 UTF-8 character sequences and explicit red-green-blue colors in order
5944 for the glyph representation to be visible.
5945 For example, the following line in your configuration file will cause
5946 the glyph representation for glyphid G_pool to use Unicode codepoint
5947 U+224B and the color represented by R-G-B value 0-0-160:
5948 .SD n
5949 .ft CR
5950 OPTIONS=glyph:G_pool/U+224B/0-0-160
5953 The list of acceptable glyphid's can be produced by 
5954 \fBnethack \-\-dumpglyphids\fP.
5955 Individual NetHack glyphs can be specified using the G_ prefix,
5956 or you can use an S_ symbol for a glyphid and store the custom
5957 representation for all NetHack glyphs that would map to that
5958 particular symbol.
5960 You will need to select a symset with a UTF8 handler to enable the
5961 display of the customizations, such as the Enhanced symset.
5962 .hn 2
5963 Configuring NetHack for Play by the Blind
5965 NetHack can be set up to use only standard ASCII characters for making
5966 maps of the dungeons. This makes even the MS-DOS versions of NetHack
5967 (which use special line-drawing characters by default) completely
5968 accessible to the blind who use speech and/or Braille access technologies.
5969 Players will require a good working knowledge of their screen-reader's
5970 review features, and will have to know how to navigate horizontally and
5971 vertically character by character. They will also find the search
5972 capabilities of their screen-readers to be quite valuable. Be certain to
5973 examine this Guidebook before playing so you have an idea what the screen
5974 layout is like. You'll also need to be able to locate the PC cursor. It is
5975 always where your character is located. Merely searching for an @-sign will
5976 not always find your character since there are other humanoids represented
5977 by the same sign. Your screen-reader should also have a function which
5978 gives you the row and column of your review cursor and the PC cursor.
5979 These co-ordinates are often useful in giving players a better sense of the
5980 overall location of items on the screen.
5982 NetHack can also be compiled with support for sending the game messages
5983 to an external program, such as a text-to-speech synthesizer.
5984 If the \(lq#version\(rq extended command shows \(lqexternal program as a
5985 message handler\(rq, your NetHack has been compiled with the capability.
5986 When compiling NetHack from source on Linux and other POSIX systems,
5987 define MSGHANDLER to enable it.
5988 To use
5989 the capability, set the environment variable NETHACK_MSGHANDLER to an
5990 executable, which will be executed with the game message as the program's
5991 only parameter.
5993 The most crucial settings to make the game more accessible are:
5995 .lp symset:plain
5996 Load a symbol set appropriate for use by blind players.
5997 .lp menustyle:traditional
5998 This will assist in the interface to speech synthesizers.
5999 .lp nomenu_overlay
6000 Show menus on a cleared screen and aligned to the left edge.
6001 .lp number_pad
6002 A lot of speech access programs use the number-pad to review the screen.
6003 If this is the case, disable the
6004 .op number_pad
6005 option and use the traditional
6006 Rogue-like commands.
6007 .lp paranoid_confirmation:swim
6008 Prevent walking into water or lava.
6009 .lp accessiblemsg
6010 Adds direction or location information to messages.
6011 .lp spot_monsters
6012 Shows a message when hero notices a monster; combine with accessiblemsg.
6013 .lp mon_movement
6014 Shows a message when hero notices a monster movement;
6015 combine with spot_monsters and accessiblemsg.
6016 .lp autodescribe
6017 Automatically describe the terrain under the cursor when targeting.
6018 .lp mention_map
6019 Give feedback messages when interesting map locations change.
6020 .lp mention_walls
6021 Give feedback messages when walking towards a wall or when travel command
6022 was interrupted.
6023 .lp whatis_coord:compass
6024 When targeting with cursor, describe the cursor position with coordinates
6025 relative to your character.
6026 .lp whatis_filter:area
6027 When targeting with cursor, filter possible locations so only those in
6028 the same area (eg. same room, or same corridor) are considered.
6029 .lp whatis_moveskip
6030 When targeting with cursor and using fast-move, skip the same glyphs instead
6031 of moving 8 units at a time.
6032 .lp nostatus_updates
6033 Prevent updates to the status lines at the bottom of the screen, if
6034 your screen-reader reads those lines. The same information can be
6035 seen via the \(lq#attributes\(rq command.
6036 .lp showdamage
6037 Give a message of damage taken and how many hit points are left.
6038 .hn 2
6039 Global Configuration for System Administrators
6041 If NetHack is compiled with the SYSCF option, a system administrator
6042 should set up a global configuration; this is a file in the
6043 same format as the traditional per-user configuration file (see above).
6044 This file should be named sysconf and placed in the same directory as
6045 the other NetHack support files.
6046 The options recognized in this file are listed below.  Any option not
6047 set uses a compiled-in default (which may not be appropriate for your
6048 system).
6050 .\"  '\ =\ Word'  follow each option name with space+equals+space+first
6051 .\"               word of sentence in a way that won't have spaces inserted
6052 .\"               there if that line is padded from left to right;
6053 .\"               essentially, "OPTION = Word" becomes one token as far
6054 .\"               as filling and justifying are concerned
6056 WIZARDS\ =\ A space-separated list of user names who are allowed to
6057 play in debug mode (commonly referred to as wizard mode).
6058 A value of a single
6059 asterisk (*) allows anyone to start a game in debug mode.
6061 SHELLERS\ =\ A list of users who are allowed to use the shell
6062 escape command (!).  The syntax is the same as WIZARDS.
6064 EXPLORERS\ =\ A list of users who are allowed to use the explore mode.
6065 The syntax is the same as WIZARDS.
6067 MSGHANDLER\ =\ A path and filename of executable.  Whenever a message-window
6068 message is shown, NetHack runs this program.  The program will get
6069 the message as the only parameter.
6071 MAXPLAYERS\ =\ Limit the maximum number of games that can be running
6072 at the same time.
6074 SAVEFORMAT\ =\ A list of up to two save file formats separated by space. 
6075 The first format in the list will written as well as read. The second format 
6076 will be read only if no save file in the first format exists.
6077 Valid choices are \(lqhistorical\(rq for binary writing of entire structs, 
6078 \(lqlendian\(rq for binary writing of each field in little-endian order,
6079 \(lqascii\(rq for writing the save file content in ascii text.
6081 BONESFORMAT\ =\ A list of up to two bones file formats separated by space. 
6082 The first format in the list will written as well as read. The second format 
6083 will be read only if no bones files in the first format exist.
6084 Valid choices are \(lqhistorical\(rq for binary writing of entire structs, 
6085 \(lqlendian\(rq for binary writing of each field in little-endian order,
6086 \(lqascii\(rq for writing the bones file content in ascii text.
6088 SUPPORT\ =\ A string explaining how to get local support (no default value).
6090 RECOVER\ =\ A string explaining how to recover a game on this system
6091 (no default value).
6093 SEDUCE\ =\ 0 or 1 to disable or enable, respectively, the SEDUCE option.
6094 When disabled, incubi and succubi behave like nymphs.
6096 CHECK_PLNAME\ =\ Setting this to 1 will make the EXPLORERS, WIZARDS, and
6097 SHELLERS check for the player name instead of the user's login name.
6099 CHECK_SAVE_UID\ =\ 0 or 1 to disable or enable, respectively, the UID
6100 (used identification number) checking for save files (to verify that the
6101 user who is restoring is the same one who saved).
6103 The following four options affect the score file:
6106 PERSMAX\ =\ Maximum number of entries for one person.
6108 ENTRYMAX\ =\ Maximum number of entries in the score file.
6110 POINTSMIN\ =\ Minimum number of points to get an entry in the score file.
6112 PERS_IS_UID\ =\ 0 or 1 to use user names or numeric userids, respectively,
6113 to identify unique people for the score file.
6115 HIDEUSAGE\ =\ 0 or 1 to control whether the help menu entry for command
6116 line usage is shown or suppressed.
6118 MAX_STATUENAME_RANK\ =\ Maximum number of score file entries to use for
6119 random statue names (default is 10).
6121 ACCESSIBILITY\ =\ 0 or 1 to disable or enable, respectively, the ability
6122 for players to set S_pet_override and S_hero_override symbols in their
6123 configuration file.
6125 PORTABLE_DEVICE_PATHS\ =\ 0 or 1 Windows OS only, the game will look
6126 for all of its external files, and write to all of its output files in
6127 one place rather than at the standard locations.
6129 DUMPLOGFILE\ =\ A filename where the end-of-game dumplog is saved.
6130 Not defining this will prevent dumplog from being created.
6131 Only available if your game is compiled with DUMPLOG.
6132 Allows the following placeholders:
6133 .in +4n
6134 .\" note: %M is not an entry in the table, but 'M' is the widest letter
6135 .PS %M
6136 .\" \f(CR = set font to constant-width Roman; approximation of {\tt ...} in TeX
6137 .PL \f(CR%%\fP
6138 literal \(oq\f(CR%\fP\(cq
6139 .PL \f(CR%v\fP
6140 version (eg. \(lq\f(CR3.7.0\-0\fP\(rq)
6141 .PL \f(CR%u\fP
6142 game UID
6143 .PL \f(CR%t\fP
6144 game start time, UNIX timestamp format
6145 .PL \f(CR%T\fP
6146 current time, UNIX timestamp format
6147 .PL \f(CR%d\fP
6148 game start time, YYYYMMDDhhmmss format
6149 .PL \f(CR%D\fP
6150 current time, YYYYMMDDhhmmss format
6151 .PL \f(CR%n\fP
6152 player name
6153 .PL \f(CR%N\fP
6154 first character of player name
6156 .in -4n
6158 LIVELOG\ =\ A bit-mask of types of events that should be written to
6159 the \fIlivelog\fP file if one is present.
6160 The sample \fIsysconf\fP file accompanying the program contains a
6161 comment which lists the meaning of the various bits used.
6162 Intended for server systems supporting simultaneous play by multiple
6163 players (to be clear, each one running a separate single player game),
6164 for displaying their game progress to observers.
6165 Only relevant if the program was built with LIVELOG enabled.
6166 When available, it should be left commented out on single player
6167 installations because over time the file could grow to be extremely
6168 large unless it is actively maintained.
6171 CRASHREPORTURL\ =\ If set to
6172 \f(CRhttps://www.nethack.org/links/cr-37BETA.html\fP
6173 and support is compiled in, brings up a browser window pre-populated with
6174 the information needed to report a problem if the game panics or ends
6175 up in an internally inconsistent state, or if the #bugreport command is
6176 invoked.
6177 .hn 1
6178 Scoring
6180 NetHack maintains a list of the top scores or scorers on your machine,
6181 depending on how it is set up.  In the latter case, each account on
6182 the machine can post only one non-winning score on this list.  If
6183 you score higher than someone else on this list, or better your
6184 previous score, you will be inserted in the proper place under your
6185 current name.  How many scores are kept can also be set up when
6186 NetHack is compiled.
6188 Your score is chiefly based upon how much experience you gained, how
6189 much loot you accumulated, how deep you explored, and how the game
6190 ended.  If you quit the game, you escape with all of your gold intact.
6191 If, however, you get killed in the Mazes of Menace, the guild will
6192 only hear about 90% of your gold when your corpse is discovered
6193 (adventurers have been known to collect finder's fees).  So, consider
6194 whether you want to take one last hit at that monster and possibly
6195 live, or quit and stop with whatever you have.  If you quit, you keep
6196 all your gold, but if you swing and live, you might find more.
6198 If you just want to see what the current top players/games list is, you
6199 can type \fBnethack \-s all\fP on most versions.
6201 .hn 1
6202 Explore mode
6204 NetHack is an intricate and difficult game.
6205 Novices might falter
6206 in fear, aware of their ignorance of the means to survive.
6207 Well, fear not.
6208 Your dungeon comes equipped with an \(lqexplore\(rq or \(lqdiscovery\(rq
6209 mode that enables you to keep old save files and cheat death, at the
6210 paltry cost of not getting on the high score list.
6212 There are two ways of enabling explore mode.
6213 One is to start the game with the
6214 .op \-X
6215 command-line switch or with the
6216 .op playmode:explore
6217 option.
6218 The other is to issue the \(lq#exploremode\(rq extended command while
6219 already playing the game.
6220 Starting a new game in explore mode provides your
6221 character with a wand of wishing in initial inventory; switching
6222 during play does not.
6223 The other benefits of explore mode are left for
6224 the trepid reader to discover.
6226 .hn 2
6227 Debug mode
6229 Debug mode, also known as wizard mode, is undocumented aside from this
6230 brief description and the various \(lqdebug mode only\(rq commands listed
6231 among the command descriptions.
6232 It is intended for tracking down problems within the
6233 program rather than to provide god-like powers to your character, and
6234 players who attempt debugging are expected to figure out how to use it
6235 themselves.
6236 It is initiated by starting the game with the
6237 .op \-D
6238 command-line switch or with the
6239 .op playmode:debug
6240 option.
6242 For some systems, the player must be logged in
6243 under a particular user name to be allowed to use debug mode; for others,
6244 the hero must be given a particular character name (but may be any role;
6245 there's no connection between \(lqwizard mode\(rq and the Wizard role).
6246 Attempting to start a game in debug mode when not allowed
6247 or not available will result in falling back to explore mode instead.
6250 Credits
6252 The original \fIhack\fP game was modeled on the Berkeley
6254 \fIrogue\fP game.  Large portions of this document were shamelessly
6255 cribbed from \fIA Guide to the Dungeons of Doom\fP, by Michael C. Toy
6256 and Kenneth C. R. C. Arnold.  Small portions were adapted from
6257 \fIFurther Exploration of the Dungeons of Doom\fP, by Ken Arromdee.
6259 NetHack is the product of literally scores of people's work.
6260 Main events in the course of the game development are described below:
6263 \fBJay Fenlason\fP wrote the original Hack, with help from
6264 \fBKenny Woodland\fP, \fBMike Thome\fP, and \fBJon Payne\fP.
6266 \fBAndries Brouwer\fP did a major re-write while at
6267 Stichting Mathematisch Centrum (now Centrum Wiskunde & Informatica),
6268 transforming Hack into a very different game.
6269 He published the Hack source code for use on
6271 systems by posting that to Usenet
6272 newsgroup \fInet.sources\fP (later renamed \fIcomp.sources\fP)
6273 releasing version 1.0 in December of 1984, then versions 1.0.1, 1.0.2,
6274 and finally 1.0.3 in July of 1985.
6275 Usenet newsgroup \fInet.games.hack\fP (later
6276 renamed \fIrec.games.hack\fP, eventually replaced
6277 by \fIrec.games.roguelike.nethack\fP)
6278 was created for discussing it.
6280 \fBDon G. Kneller\fP ported Hack 1.0.3 to Microsoft C and MS-DOS, producing PC
6281 HACK 1.01e, added support for DEC Rainbow graphics in version 1.03g, and went
6282 on to produce at least four more versions (3.0, 3.2, 3.51, and 3.6;
6283 note that these are old Hack version numbers, not contemporary NetHack ones).
6285 \fBR. Black\fP ported PC HACK 3.51 to Lattice C and the Atari 520/1040ST,
6286 producing ST Hack 1.03.
6288 \fBMike Stephenson\fP merged these various versions back together,
6289 incorporating many of the added features, and produced NetHack version 1.4
6290 in 1987.
6291 He then coordinated a cast of thousands in enhancing and debugging
6292 NetHack 1.4 and released NetHack versions 2.2 and 2.3.
6293 Like Hack, they were released by posting their source code to Usenet where
6294 they remained available in various archives accessible
6295 via \fIftp\fP and \fIuucp\fP after expiring from the newsgroup.
6297 Later, Mike coordinated a major re-write of the game, heading a
6298 team which included \fBKen Arromdee\fP, \fBJean-Christophe Collet\fP,
6299 \fBSteve Creps\fP, \fBEric Hendrickson\fP, \fBIzchak Miller\fP,
6300 \fBEric S. Raymond\fP, \fBJohn Rupley\fP,
6301 \fBMike Threepoint\fP, and \fBJanet Walz\fP, to produce NetHack 3.0c.
6303 NetHack 3.0 was ported to the Atari by \fBEric R. Smith\fP, to OS/2 by
6304 \fBTimo Hakulinen\fP, and to VMS by \fBDavid Gentzel\fP.  The three of them
6305 and \fBKevin Darcy\fP later joined the main NetHack Development Team to produce
6306 subsequent revisions of 3.0.
6308 \fBOlaf Seibert\fP ported NetHack 2.3 and 3.0 to the Amiga.
6309 \fBNorm Meluch\fP, \fBStephen Spackman\fP and \fBPierre Martineau\fP designed
6310 overlay code for PC NetHack 3.0.  \fBJohnny Lee\fP ported
6311 NetHack 3.0 to the Macintosh.  Along with various other Dungeoneers, they
6312 continued to enhance the PC, Macintosh, and Amiga ports through the later
6313 revisions of 3.0.
6315 Version 3.0 went through ten relatively rapidly released \(lqpatch-level\(rq
6316 revisions.
6317 Versions at the time were known as 3.0 for the base release and variously
6318 as \(lq3.0a\(rq through \(lq3.0j\(rq,
6319 \(lq3.0\ patchlevel\ 1\(rq through \(lq3.0\ patchlevel\ 10\(rq,
6320 or \(lq3.0pl1\(rq through \(lq3.0pl10\(rq
6321 rather than 3.0.0 and 3.0.1 through 3.0.10;
6322 the three component numbering scheme began to be used with 3.1.0.
6324 Headed by \fBMike Stephenson\fP and coordinated by \fBIzchak Miller\fP and
6325 \fBJanet Walz\fP, the NetHack Development Team which now included
6326 \fBKen Arromdee\fP,
6327 \fBDavid Cohrs\fP, \fBJean-Christophe Collet\fP, \fBKevin Darcy\fP,
6328 \fBMatt Day\fP, \fBTimo Hakulinen\fP, \fBSteve Linhart\fP, \fBDean Luick\fP,
6329 \fBPat Rankin\fP, \fBEric Raymond\fP, and \fBEric Smith\fP undertook a
6330 radical revision of 3.0.
6331 They re-structured the game's design, and re-wrote major
6332 parts of the code.
6333 They added multiple dungeons, a new display, special
6334 individual character quests, a new endgame and many other new features, and
6335 produced NetHack 3.1.
6336 Version 3.1.0 was released in January of 1993.
6338 \fBKen Lorber\fP, \fBGregg Wonderly\fP and \fBGreg Olson\fP, with help
6339 from \fBRichard Addison\fP, \fBMike Passaretti\fP, and \fBOlaf Seibert\fP,
6340 developed NetHack 3.1 for the Amiga.
6342 \fBNorm Meluch\fP and \fBKevin Smolkowski\fP, with help from
6343 \fBCarl Schelin\fP, \fBStephen Spackman\fP, \fBSteve VanDevender\fP,
6344 and \fBPaul Winner\fP, ported NetHack 3.1 to the PC.
6346 \fBJon W{tte\fP and \fBHao-yang Wang\fP, with help from \fBRoss Brown\fP,
6347 \fBMike Engber\fP, \fBDavid Hairston\fP, \fBMichael Hamel\fP,
6348 \fBJonathan Handler\fP, \fBJohnny Lee\fP, \fBTim Lennan\fP, \fBRob Menke\fP,
6349 and \fBAndy Swanson\fP, developed NetHack 3.1 for the Macintosh,
6350 porting it for MPW.  Building on their development, \fBBart House\fP
6351 added a Think C port.
6353 \fBTimo Hakulinen\fP ported NetHack 3.1 to OS/2.  \fBEric Smith\fP
6354 ported NetHack 3.1 to the Atari.  \fBPat Rankin\fP, with help from
6355 \fBJoshua Delahunty\fP, was responsible for the VMS version of NetHack 3.1.
6356 \fBMichael Allison\fP ported NetHack 3.1 to Windows NT.
6358 \fBDean Luick\fP, with help from \fBDavid Cohrs\fP, developed
6359 NetHack 3.1 for X11.
6360 It drew the map as text rather than graphically but
6361 included \f(CRnh10.bdf\fP, an optionally used custom X11 font which has
6362 tiny images in place of letters and punctuation, a precursor of tiles.
6363 Those images don't extend to individual monster and object types, just
6364 replacements for monster and object classes (so one custom image for all
6365 \(lq\f(CRa\fP\(rq insects and another for all \(lq\f(CR[\fP\(rq armor and so
6366 forth, not separate images for beetles and ants or for cloaks and boots).
6368 \fBWarwick Allison\fP wrote a graphically displayed version of NetHack
6369 for the Atari where the tiny pictures were described as \(lqicons\(rq and
6370 were distinct for specific types of monsters and objects rather than just
6371 their classes.
6372 He contributed them to the \fBNetHack Development Team\fP which rechristened
6373 them \(lqtiles\(rq, original usage which has subsequently been picked up
6374 by various other games.
6375 NetHack's tiles support was then implemented on other platforms
6376 (initially MS-DOS but eventually Windows, Qt, and X11 too).
6378 The 3.2 NetHack Development Team, comprised of \fBMichael Allison\fP, \fBKen
6379 Arromdee\fP, \fBDavid Cohrs\fP, \fBJessie Collet\fP, \fBSteve Creps\fP,
6380 \fBKevin Darcy\fP, \fBTimo Hakulinen\fP, \fBSteve Linhart\fP, \fBDean
6381 Luick\fP, \fBPat Rankin\fP, \fBEric Smith\fP, \fBMike Stephenson\fP,
6382 \fBJanet Walz\fP, and \fBPaul Winner\fP, released version 3.2.0 in April of
6383 1996.
6385 Version 3.2 marked the tenth anniversary of the formation of the
6386 development team.
6387 In a testament to their dedication to the game, all thirteen members
6388 of the original NetHack Development Team remained on the team at the
6389 start of work on that release.
6390 During the interval between the release of 3.1.3
6391 and 3.2.0, one of the founding members of the NetHack Development Team,
6392 \fBDr. Izchak Miller\fP, was diagnosed with cancer and passed away.
6393 That release of the
6394 game was dedicated to him by the development and porting teams.
6396 Version 3.2 proved to be more stable than previous versions.
6397 Many bugs were fixed, abuses eliminated, and game features tuned for
6398 better game play.
6400 During the lifespan of NetHack 3.1 and 3.2, several enthusiasts
6401 of the game added
6402 their own modifications to the game and made these \(lqvariants\(rq publicly
6403 available:
6405 \fBTom Proudfoot\fP and \fBYuval Oren\fP created NetHack++,
6406 which was quickly renamed NetHack--
6407 when some people incorrectly assumed that it was a conversion of the
6408 \fIC\fP source code to \fIC++\fP.
6409 Working independently, \fBStephen White\fP wrote NetHack Plus.
6410 \fBTom Proudfoot\fP later merged NetHack Plus
6411 and his own NetHack-- to produce SLASH.
6412 \fBLarry Stewart-Zerba\fP and \fBWarwick Allison\fP improved the spell
6413 casting system with the Wizard Patch.
6414 \fBWarwick Allison\fP also ported NetHack to use the Qt interface.
6416 \fBWarren Cheung\fP combined SLASH with the Wizard Patch to produce Slash'EM,
6417 and with the help of \fBKevin Hugo\fP, added more features.
6418 Kevin later joined the NetHack Development Team and incorporated the best
6419 of these ideas into NetHack 3.3.
6421 The final update to 3.2 was the bug fix release 3.2.3, which was released
6422 simultaneously with 3.3.0 in December 1999 just in time for the Year 2000.
6423 Because of the newer version, 3.2.3 was released as a source code patch only,
6424 without any ready-to-play distribution for systems that usually had such.
6426 (To anyone considering resurrecting an old version:  all versions before
6427 3.2.3 had a \fIY2K\fP bug.
6428 The high scores file and the log file contained
6429 dates which were formatted using a two-digit year, and 1999's year 99 was
6430 followed by 2000's year 100.
6431 That got written out successfully but it
6432 unintentionally introduced an extra column in the file layout which prevented
6433 score entries from being read back in correctly, interfering with insertion
6434 of new high scores and with retrieval of old character names to use for
6435 random ghost and statue names in the current game.)
6437 The 3.3 NetHack Development Team, consisting of
6438 \fBMichael Allison\fP, \fBKen Arromdee\fP,
6439 \fBDavid Cohrs\fP, \fBJessie Collet\fP, \fBSteve Creps\fP, \fBKevin Darcy\fP,
6440 \fBTimo Hakulinen\fP, \fBKevin Hugo\fP, \fBSteve Linhart\fP, \fBKen Lorber\fP,
6441 \fBDean Luick\fP, \fBPat Rankin\fP, \fBEric Smith\fP, \fBMike Stephenson\fP,
6442 \fBJanet Walz\fP, and \fBPaul Winner\fP, released 3.3.0 in
6443 December 1999 and 3.3.1 in August of 2000.
6445 Version 3.3 offered many firsts. It was the first version to separate race
6446 and profession. The Elf class was removed in preference to an elf race,
6447 and the races of dwarves, gnomes, and orcs made their first appearance in
6448 the game alongside the familiar human race.  Monk and Ranger roles joined
6449 Archeologists, Barbarians, Cavemen, Healers, Knights, Priests, Rogues,
6450 Samurai,
6451 Tourists, Valkyries and of course, Wizards.  It was also the first version
6452 to allow you to ride a steed, and was the first version to have a publicly
6453 available web-site listing all the bugs that had been discovered.  Despite
6454 that constantly growing bug list, 3.3 proved stable enough to last for
6455 more than a year and a half.
6457 The 3.4 NetHack Development Team initially consisted of
6458 \fBMichael Allison\fP, \fBKen Arromdee\fP,
6459 \fBDavid Cohrs\fP, \fBJessie Collet\fP, \fBKevin Hugo\fP, \fBKen Lorber\fP,
6460 \fBDean Luick\fP, \fBPat Rankin\fP, \fBMike Stephenson\fP,
6461 \fBJanet Walz\fP, and \fBPaul Winner\fP, with \fB Warwick Allison\fP joining
6462 just before the release of NetHack 3.4.0 in March 2002.
6464 As with version 3.3, various people contributed to the game as a whole as
6465 well as supporting ports on the different platforms that NetHack runs on:
6467 \fBPat Rankin\fP maintained 3.4 for VMS.
6469 \fBMichael Allison\fP maintained NetHack 3.4 for the MS-DOS platform.
6470 \fBPaul Winner\fP and \fBYitzhak Sapir\fP provided encouragement.
6472 \fBDean Luick\fP, \fBMark Modrall\fP, and \fBKevin Hugo\fP maintained
6473 and enhanced the Macintosh port of 3.4.
6475 \fBMichael Allison\fP, \fBDavid Cohrs\fP, \fBAlex Kompel\fP,
6476 \fBDion Nicolaas\fP, and
6477 \fBYitzhak Sapir\fP maintained and enhanced 3.4 for the Microsoft Windows
6478 platform.
6479 \fBAlex Kompel\fP contributed a new graphical interface for the Windows port.
6480 \fBAlex Kompel\fP also contributed a Windows CE port for 3.4.1.
6482 \fBRon Van Iwaarden\fP was the sole maintainer of NetHack for OS/2 the past
6483 several releases. Unfortunately Ron's last OS/2 machine stopped working in
6484 early 2006. A great many thanks to Ron for keeping NetHack alive on OS/2
6485 all these years.
6487 \fBJanne Salmijarvi\fP and \fBTeemu Suikki\fP maintained and
6488 enhanced the Amiga port of 3.4 after \fBJanne Salmijarvi\fP resurrected
6489 it for 3.3.1.
6491 \fBChristian \(lqMarvin\(rq Bressler\fP maintained 3.4 for the Atari after he
6492 resurrected it for 3.3.1.
6494 The release of NetHack 3.4.3 in December 2003 marked the beginning of a
6495 long release hiatus. 3.4.3 proved to be a remarkably stable version that
6496 provided continued enjoyment by the community for more than a decade. The
6497 NetHack Development Team slowly and quietly continued to work on the game behind the scenes
6498 during the tenure of 3.4.3. It was during that same period that several new
6499 variants emerged within the NetHack community. Notably sporkhack by
6500 \fBDerek S. Ray\fP, unnethack by \fBPatric Mueller\fP, nitrohack and its
6501 successors originally by \fBDaniel Thaler\fP and then by \fBAlex Smith\fP,
6502 and Dynahack by \fBTung Nguyen\fP.
6503 Some of those variants continue to be
6504 developed, maintained, and enjoyed by the community to this day.
6506 In September 2014, an interim snapshot of the code under development was
6507 released publicly by other parties.
6508 Since that code was a work-in-progress
6509 and had not gone through the process of debugging it as a suitable release,
6510 it was decided that the version numbers present on that code snapshot would
6511 be retired and never used in an official NetHack release.
6512 An announcement was posted on the NetHack Development Team's official
6513 .UR nethack.org
6514 website to that effect,
6515 stating that there would never be a 3.4.4, 3.5, or 3.5.0 official release
6516 version.
6518 In January 2015, preparation began for the release of NetHack 3.6.
6520 At the beginning of development for what would eventually get released
6521 as 3.6.0, the NetHack Development Team consisted of \fBWarwick Allison\fP,
6522 \fBMichael Allison\fP, \fBKen Arromdee\fP,
6523 \fBDavid Cohrs\fP, \fBJessie Collet\fP,
6524 \fBKen Lorber\fP, \fBDean Luick\fP, \fBPat Rankin\fP,
6525 \fBMike Stephenson\fP, \fBJanet Walz\fP, and \fBPaul Winner\fP.
6526 In early 2015, ahead of the release of 3.6.0, new members
6527 \fBSean Hunt\fP, \fBPasi Kallinen\fP, and \fBDerek S. Ray\fP
6528 joined the NetHack Development Team.
6530 Near the end of the development of 3.6.0, one of the significant
6531 inspirations for many of the humorous and fun features found in the
6532 game, author Terry Pratchett, passed away.
6533 NetHack 3.6.0 introduced a tribute to him.
6535 3.6.0 was released in December 2015, and merged work done by the development
6536 team since the release of 3.4.3 with some of the beloved community
6537 patches. Many bugs were fixed and some code was restructured.
6539 The NetHack Development Team, as well as \fBSteve VanDevender\fP and
6540 \fBKevin Smolkowski\fP, ensured that NetHack 3.6 continued to operate on
6541 various
6543 flavors and maintained the X11 interface.
6545 \fBKen Lorber\fP, \fBHaoyang Wang\fP, \fBPat Rankin\fP, and \fBDean Luick\fP
6546 maintained the port of NetHack 3.6 for MacOS.
6548 \fBMichael Allison\fP, \fBDavid Cohrs\fP, \fBBart House\fP,
6549 \fBPasi Kallinen\fP, \fBAlex Kompel\fP, \fBDion Nicolaas\fP,
6550 \fBDerek S. Ray\fP and \fBYitzhak Sapir\fP maintained the port of
6551 NetHack 3.6 for Microsoft Windows.
6553 \fBPat Rankin\fP attempted to keep the VMS port running for NetHack 3.6,
6554 hindered by limited access. \fBKevin Smolkowski\fP has updated and tested it
6555 for the most recent version of OpenVMS (V8.4 as of this writing) on Alpha
6556 and Integrity (aka Itanium aka IA64) but not VAX.
6558 \fBRay Chason\fP resurrected the MS-DOS port for 3.6 and contributed the
6559 necessary updates to the community at large.
6561 In late April 2018, several hundred bug fixes for 3.6.0 and
6562 some new features were assembled and released as NetHack 3.6.1.
6563 The NetHack Development Team at the time of release of 3.6.1 consisted of
6564 \fBWarwick Allison\fP, \fBMichael Allison\fP, \fBKen Arromdee\fP,
6565 \fBDavid Cohrs\fP, \fBJessie Collet\fP, \fBPasi Kallinen\fP,
6566 \fBKen Lorber\fP, \fBDean Luick\fP, \fBPatric Mueller\fP,
6567 \fBPat Rankin\fP, \fBDerek S. Ray\fP, \fBAlex Smith\fP,
6568 \fBMike Stephenson\fP, \fBJanet Walz\fP, and \fBPaul Winner\fP.
6570 In early May 2019, another 320 bug fixes along with some enhancements and
6571 the adopted curses window port, were released as 3.6.2.
6573 \fBBart House\fP, who had contributed to the game as a porting team
6574 participant for decades, joined the NetHack Development Team in late May 2019.
6576 NetHack 3.6.3 was released on December 5, 2019 containing over 190 bug
6577 fixes to NetHack 3.6.2.
6579 NetHack 3.6.4 was released on December 18, 2019 containing a security fix
6580 and a few bug fixes.
6582 NetHack 3.6.5 was released on January 27, 2020 containing some security fixes
6583 and a small number of bug fixes.
6585 NetHack 3.6.6 was released on March 8, 2020 containing a security fix and
6586 some bug fixes.
6588 NetHack 3.6.7 was released on February 16, 2023 containing a security fix and
6589 some bug fixes.
6591 The official NetHack web site is maintained by \fBKen Lorber\fP
6593 .UR https://www.nethack.org/ .
6594 .BR 1
6596 .hn 2
6597 Special Thanks
6599 On behalf of the NetHack community, thank you very much once
6600 again to \fBM. Drew Streib\fP and \fBPasi Kallinen\fP for providing a
6601 public NetHack server at nethack.alt.org. Thanks to \fBKeith Simpson\fP
6602 and \fBAndy Thomson\fP for hardfought.org. Thanks to all those
6603 unnamed dungeoneers who invest their time and effort into annual
6604 NetHack tournaments such as Junethack, The November NetHack Tournament,
6605 and in days past, devnull.net (gone for now, but not forgotten).
6606 .\" .pg
6607 .\" .ce
6608 .\" - - - - - - - - - -\ \ \ \ \" when centered, the dashes look a little too
6609 .\" .                          \" far to right, so pad them with a few spaces
6610 .BR 1
6612 .hn 2
6613 Dungeoneers
6615 From time to time, some depraved individual out there in netland sends a
6616 particularly intriguing modification to help out with the game.  The NetHack
6617 Development Team sometimes makes note of the names of the worst of these
6618 miscreants in this, the list of Dungeoneers:
6619 .BR 1
6622 center;
6623 c2 c2 c.
6624 .\"TABLE_START
6625 Adam Aronow     J. Ali Harlow   Mikko Juola
6626 Alex Kompel     Janet Walz      Nathan Eady
6627 Alex Smith      Janne Salmijarvi        Norm Meluch
6628 Andreas Dorn    Jean-Christophe Collet  Olaf Seibert
6629 Andy Church     Jeff Bailey     Pasi Kallinen
6630 Andy Swanson    Jochen Erwied   Pat Rankin
6631 Andy Thomson    John Kallen     Patric Mueller
6632 Ari Huttunen    John Rupley     Paul Winner
6633 Bart House      John S. Bien    Pierre Martineau
6634 Benson I. Margulies     Johnny Lee      Ralf Brown
6635 Bill Dyer       Jon W{tte       Ray Chason
6636 Boudewijn Waijers       Jonathan Handler        Richard Addison
6637 Bruce Cox       Joshua Delahunty        Richard Beigel
6638 Bruce Holloway  Karl Garrison   Richard P. Hughey
6639 Bruce Mewborne  Keizo Yamamoto  Rob Menke
6640 Carl Schelin    Keith Simpson   Robin Bandy
6641 Chris Russo     Ken Arnold      Robin Johnson
6642 David Cohrs     Ken Arromdee    Roderick Schertler
6643 David Damerell  Ken Lorber      Roland McGrath
6644 David Gentzel   Ken Washikita   Ron Van Iwaarden
6645 David Hairston  Kevin Darcy     Ronnen Miller
6646 Dean Luick      Kevin Hugo      Ross Brown
6647 Del Lamb        Kevin Sitze     Sascha Wostmann
6648 Derek S. Ray    Kevin Smolkowski        Scott Bigham
6649 Deron Meranda   Kevin Sweet     Scott R. Turner
6650 Dion Nicolaas   Lars Huttar     Sean Hunt
6651 Dylan O'Donnell Leon Arnott     Stephen Spackman
6652 Eric Backus     M. Drew Streib  Stefan Thielscher
6653 Eric Hendrickson        Malcolm Ryan    Stephen White
6654 Eric R. Smith   Mark Gooderum   Steve Creps
6655 Eric S. Raymond Mark Modrall    Steve Linhart
6656 Erik Andersen   Marvin Bressler Steve VanDevender
6657 Fredrik Ljungdahl       Matthew Day     Teemu Suikki
6658 Frederick Roeber        Merlyn LeRoy    Tim Lennan
6659 Gil Neiger      Michael Allison Timo Hakulinen
6660 Greg Laskin     Michael Feir    Tom Almy
6661 Greg Olson      Michael Hamel   Tom West
6662 Gregg Wonderly  Michael Sokolov Warren Cheung
6663 Hao-yang Wang   Mike Engber     Warwick Allison
6664 Helge Hafting   Mike Gallop     Yitzhak Sapir
6665 Irina Rempt-Drijfhout   Mike Passaretti
6666 Izchak Miller   Mike Stephenson
6667 .\"TABLE_END  Do not delete this line.
6669 .BR 1
6671 .\"Microsoft and MS-DOS are registered trademarks of Microsoft Corporation.
6672 .\"Lattice is a trademark of Lattice, Inc.
6673 .\"Atari and 1040ST are trademarks of Atari, Inc.
6674 .\"Amiga is a trademark of Commodore-Amiga, Inc
6675 .sm "Brand and product names are trademarks or registered trademarks \
6676 of their respective holders."
6677 .\"EOF