diff --git a/doc/Guidebook.mn b/doc/Guidebook.mn index df74d38c5..8caad2099 100644 --- a/doc/Guidebook.mn +++ b/doc/Guidebook.mn @@ -5,7 +5,7 @@ .ds vr "NetHack 3.6 .ds f0 "\*(vr .ds f1 -.ds f2 "April 5, 2018 +.ds f2 "April 7, 2018 .\" labeled paragraph start (should be part of tmac.n, but I don't want to .\" make changes to that file) .\" .PS word @@ -4285,7 +4285,7 @@ SPECIAL THANKS .pg On behalf of the NetHack community, thank you very much once again to \fBM. Drew Streib\fP, \fBPasi Kallinen\fP and \fBRobin Bandy\fP -for providing publci NetHack servers at nethack.alt.org and devnull.net +for providing public NetHack servers at nethack.alt.org and devnull.net and/or for hosting annual NetHack tournaments. .pg - - - - - - - - - - diff --git a/doc/Guidebook.tex b/doc/Guidebook.tex index c4b8f8a09..f53884017 100644 --- a/doc/Guidebook.tex +++ b/doc/Guidebook.tex @@ -45,7 +45,7 @@ %.au \author{Original version - Eric S. Raymond\\ (Edited and expanded for 3.6 by Mike Stephenson and others)} -\date{April 5, 2018} +\date{April 7, 2018} \maketitle diff --git a/doc/Guidebook.txt b/doc/Guidebook.txt index dfde235b4..308a7aa2b 100644 --- a/doc/Guidebook.txt +++ b/doc/Guidebook.txt @@ -1,4686 +1,4654 @@ + A Guide to the Mazes of Menace + (Guidebook for NetHack) + + Original version - Eric S. Raymond + (Edited and expanded for 3.6 by Mike Stephenson and others) + +Preface - Version 3.6 + + This version of the game is special in a particular way. +Near the end of the development of 3.6, one of the significant +inspirations for many of the humorous and fun features found in +the game, author Terry Pratchett, passed away. We have dedicated +this version of the game in his memory. + +1. Introduction + + Recently, you have begun to find yourself unfulfilled and +distant in your daily occupation. Strange dreams of prospecting, +stealing, crusading, and combat have haunted you in your sleep +for many months, but you aren't sure of the reason. You wonder +whether you have in fact been having those dreams all your life, +and somehow managed to forget about them until now. Some nights +you awaken suddenly and cry out, terrified at the vivid recollec- +tion of the strange and powerful creatures that seem to be lurk- +ing behind every corner of the dungeon in your dream. Could +these details haunting your dreams be real? As each night pass- +es, you feel the desire to enter the mysterious caverns near the +ruins grow stronger. Each morning, however, you quickly put the +idea out of your head as you recall the tales of those who en- +tered the caverns before you and did not return. Eventually you +can resist the yearning to seek out the fantastic place in your +dreams no longer. After all, when other adventurers came back +this way after spending time in the caverns, they usually seemed +better off than when they passed through the first time. And who +was to say that all of those who did not return had not just kept +going? + + Asking around, you hear about a bauble, called the Amulet of +Yendor by some, which, if you can find it, will bring you great +wealth. One legend you were told even mentioned that the one who +finds the amulet will be granted immortality by the gods. The +amulet is rumored to be somewhere beyond the Valley of Gehennom, +deep within the Mazes of Menace. Upon hearing the legends, you +immediately realize that there is some profound and undiscovered +reason that you are to descend into the caverns and seek out that +amulet of which they spoke. Even if the rumors of the amulet's + +powers are untrue, you decide that you should at least be able to +sell the tales of your adventures to the local minstrels for a +tidy sum, especially if you encounter any of the terrifying and +magical creatures of your dreams along the way. You spend one +last night fortifying yourself at the local inn, becoming more +and more depressed as you watch the odds of your success being +posted on the inn's walls getting lower and lower. + + In the morning you awake, collect your belongings, and set +off for the dungeon. After several days of uneventful travel, +you see the ancient ruins that mark the entrance to the Mazes of +Menace. It is late at night, so you make camp at the entrance +and spend the night sleeping under the open skies. In the morn- +ing, you gather your gear, eat what may be your last meal out- +side, and enter the dungeon... + +2. What is going on here? + + You have just begun a game of NetHack. Your goal is to grab +as much treasure as you can, retrieve the Amulet of Yendor, and +escape the Mazes of Menace alive. + + Your abilities and strengths for dealing with the hazards of +adventure will vary with your background and training: + + Archeologists understand dungeons pretty well; this enables +them to move quickly and sneak up on the local nasties. They +start equipped with the tools for a proper scientific expedition. + + Barbarians are warriors out of the hinterland, hardened to +battle. They begin their quests with naught but uncommon +strength, a trusty hauberk, and a great two-handed sword. + + Cavemen and Cavewomen start with exceptional strength but, +unfortunately, with neolithic weapons. + + Healers are wise in medicine and apothecary. They know the +herbs and simples that can restore vitality, ease pain, anes- +thetize, and neutralize poisons; and with their instruments, they +can divine a being's state of health or sickness. Their medical +practice earns them quite reasonable amounts of money, with which +they enter the dungeon. + + Knights are distinguished from the common skirmisher by +their devotion to the ideals of chivalry and by the surpassing +excellence of their armor. + + Monks are ascetics, who by rigorous practice of physical and +mental disciplines have become capable of fighting as effectively +without weapons as with. They wear no armor but make up for it +with increased mobility. + + Priests and Priestesses are clerics militant, crusaders ad- +vancing the cause of righteousness with arms, armor, and arts +thaumaturgic. Their ability to commune with deities via prayer +occasionally extricates them from peril, but can also put them in +it. + + Rangers are most at home in the woods, and some say slightly +out of place in a dungeon. They are, however, experts in archery +as well as tracking and stealthy movement. + + Rogues are agile and stealthy thieves, with knowledge of +locks, traps, and poisons. Their advantage lies in surprise, +which they employ to great advantage. + + Samurai are the elite warriors of feudal Nippon. They are +lightly armored and quick, and wear the dai-sho, two swords of +the deadliest keenness. + + Tourists start out with lots of gold (suitable for shopping +with), a credit card, lots of food, some maps, and an expensive +camera. Most monsters don't like being photographed. + + Valkyries are hardy warrior women. Their upbringing in the +harsh Northlands makes them strong, inures them to extremes of +cold, and instills in them stealth and cunning. + + Wizards start out with a knowledge of magic, a selection of +magical items, and a particular affinity for dweomercraft. Al- +though seemingly weak and easy to overcome at first sight, an ex- +perienced Wizard is a deadly foe. + + You may also choose the race of your character: + + Dwarves are smaller than humans or elves, but are stocky and +solid individuals. Dwarves' most notable trait is their great +expertise in mining and metalwork. Dwarvish armor is said to be +second in quality not even to the mithril armor of the Elves. + + Elves are agile, quick, and perceptive; very little of what +goes on will escape an Elf. The quality of Elven craftsmanship +often gives them an advantage in arms and armor. + + Gnomes are smaller than but generally similar to dwarves. +Gnomes are known to be expert miners, and it is known that a se- +cret underground mine complex built by this race exists within +the Mazes of Menace, filled with both riches and danger. + + Humans are by far the most common race of the surface world, +and are thus the norm to which other races are often compared. +Although they have no special abilities, they can succeed in any +role. + + Orcs are a cruel and barbaric race that hate every living +thing (including other orcs). Above all others, Orcs hate Elves + +with a passion unequalled, and will go out of their way to kill +one at any opportunity. The armor and weapons fashioned by the +Orcs are typically of inferior quality. + +3. What do all those things on the screen mean? + + On the screen is kept a map of where you have been and what +you have seen on the current dungeon level; as you explore more +of the level, it appears on the screen in front of you. + + When NetHack's ancestor rogue first appeared, its screen +orientation was almost unique among computer fantasy games. +Since then, screen orientation has become the norm rather than +the exception; NetHack continues this fine tradition. Unlike +text adventure games that accept commands in pseudo-English sen- +tences and explain the results in words, NetHack commands are all +one or two keystrokes and the results are displayed graphically +on the screen. A minimum screen size of 24 lines by 80 columns +is recommended; if the screen is larger, only a 21x80 section +will be used for the map. + + NetHack can even be played by blind players, with the assis- +tance of Braille readers or speech synthesisers. Instructions +for configuring NetHack for the blind are included later in this +document. + + NetHack generates a new dungeon every time you play it; even +the authors still find it an entertaining and exciting game de- +spite having won several times. + + NetHack offers a variety of display options. The options +available to you will vary from port to port, depending on the +capabilities of your hardware and software, and whether various +compile-time options were enabled when your executable was creat- +ed. The three possible display options are: a monochrome charac- +ter interface, a color character interface, and a graphical in- +terface using small pictures called tiles. The two character in- +terfaces allow fonts with other characters to be substituted, but +the default assignments use standard ASCII characters to repre- +sent everything. There is no difference between the various dis- +play options with respect to game play. Because we cannot repro- +duce the tiles or colors in the Guidebook, and because it is com- +mon to all ports, we will use the default ASCII characters from +the monochrome character display when referring to things you +might see on the screen during your game. + + In order to understand what is going on in NetHack, first +you must understand what NetHack is doing with the screen. The +NetHack screen replaces the ``You see ...'' descriptions of text +adventure games. Figure 1 is a sample of what a NetHack screen +might look like. The way the screen looks for you depends on +your platform. + +-------------------------------------------------------------------- + The bat bites! + + ------ + |....| ---------- + |.<..|####...@...$.| + |....-# |...B....+ + |....| |.d......| + ------ -------|-- + + Player the Rambler St:12 Dx:7 Co:18 In:11 Wi:9 Ch:15 Neutral + Dlvl:1 $:0 HP:9(12) Pw:3(3) AC:10 Exp:1/19 T:257 Weak + +-------------------------------------------------------------------- + Figure 1 + +3.1. The status lines (bottom) + + The bottom two lines of the screen contain several cryptic +pieces of information describing your current status. If either +status line becomes longer than the width of the screen, you +might not see all of it. Here are explanations of what the vari- +ous status items mean (though your configuration may not have all +the status items listed below): + +Rank + Your character's name and professional ranking (based on the + experience level, see below). + +Strength + A measure of your character's strength; one of your six ba- + sic attributes. A human character's attributes can range + from 3 to 18 inclusive; non-humans may exceed these limits + (occasionally you may get super-strengths of the form 18/xx, + and magic can also cause attributes to exceed the normal + limits). The higher your strength, the stronger you are. + Strength affects how successfully you perform physical + tasks, how much damage you do in combat, and how much loot + you can carry. + +Dexterity + Dexterity affects your chances to hit in combat, to avoid + traps, and do other tasks requiring agility or manipulation + of objects. + +Constitution + Constitution affects your ability to recover from injuries + and other strains on your stamina. When strength is low or + modest, constitution also affects how much you can carry. + With sufficiently high strength, the contribution to carry- + ing capacity from your constitution no longer matters. + +Intelligence + Intelligence affects your ability to cast spells and read + spellbooks. + +Wisdom + Wisdom comes from your practical experience (especially when + dealing with magic). It affects your magical energy. + +Charisma + Charisma affects how certain creatures react toward you. In + particular, it can affect the prices shopkeepers offer you. + +Alignment + Lawful, Neutral, or Chaotic. Often, Lawful is taken as good + and Chaotic as evil, but legal and ethical do not always co- + incide. Your alignment influences how other monsters react + toward you. Monsters of a like alignment are more likely to + be non-aggressive, while those of an opposing alignment are + more likely to be seriously offended at your presence. + +Dungeon Level + How deep you are in the dungeon. You start at level one and + the number increases as you go deeper into the dungeon. + Some levels are special, and are identified by a name and + not a number. The Amulet of Yendor is reputed to be some- + where beneath the twentieth level. + +Gold + The number of gold pieces you are openly carrying. Gold + which you have concealed in containers is not counted. + +Hit Points + Your current and maximum hit points. Hit points indicate + how much damage you can take before you die. The more you + get hit in a fight, the lower they get. You can regain hit + points by resting, or by using certain magical items or + spells. The number in parentheses is the maximum number + your hit points can reach. + +Power + Spell points. This tells you how much mystic energy (mana) + you have available for spell casting. Again, resting will + regenerate the amount available. +Armor Class + A measure of how effectively your armor stops blows from un- + friendly creatures. The lower this number is, the more ef- + fective the armor; it is quite possible to have negative ar- + mor class. +Experience + Your current experience level and experience points. As you + adventure, you gain experience points. At certain experi- + ence point totals, you gain an experience level. The more + experienced you are, the better you fight and withstand mag- + ical attacks. Many dungeons show only your experience level + here. +Time + The number of turns elapsed so far, displayed if you have + the time option set. +Status + Hunger: your current hunger status. Values are Satiated, + Not Hungry (or Normal), Hungry, Weak, and Fainting. Not + shown when Normal. + Encumbrance: an indication of how what you are carrying af- + fects your ability to move. Values are Unencumbered, Encum- + bered, Stressed, Strained, Overtaxed, and Overloaded. Not + shown when Unencumbered. + Fatal conditions: Stone (aka Petrifying, turning to stone), + Slime (turning into green slime), Strngl (being strangled), + FoodPois (suffering from acute food poisoning), TermIll + (suffering from a terminal illness). - A Guide to the Mazes of Menace - (Guidebook for NetHack) + Non-fatal conditions: Blind (can't see), Deaf (can't hear), + Stun (stunned), Conf (confused), Hallu (hallucinating). + Movement modifiers: Lev (levitating), Fly (flying), Ride + (riding). - Original version - Eric S. Raymond - (Edited and expanded for 3.6 by Mike Stephenson and others) + Other conditions and modifiers exist, but there isn't enough + room to display them with the other status fields. The `^X' + command shows all relevant status conditions. +3.2. The message line (top) + The top line of the screen is reserved for messages that de- +scribe things that are impossible to represent visually. If you +see a ``--More--'' on the top line, this means that NetHack has +another message to display on the screen, but it wants to make +certain that you've read the one that is there first. To read +the next message, just press the space bar. - Preface - Version 3.6 + To change how and what messages are shown on the message +line, see ``Configuring Message Types`` and the verbose option. - This version of the game is special in a particular way. - Near the end of the development of 3.6, one of the significant - inspirations for many of the humorous and fun features found in - the game, author Terry Pratchett, passed away. We have dedicated - this version of the game in his memory. +3.3. The map (rest of the screen) - 1. Introduction + The rest of the screen is the map of the level as you have +explored it so far. Each symbol on the screen represents some- +thing. You can set various graphics options to change some of +the symbols the game uses; otherwise, the game will use default +symbols. Here is a list of what the default symbols mean: - Recently, you have begun to find yourself unfulfilled and - distant in your daily occupation. Strange dreams of prospecting, - stealing, crusading, and combat have haunted you in your sleep - for many months, but you aren't sure of the reason. You wonder - whether you have in fact been having those dreams all your life, - and somehow managed to forget about them until now. Some nights - you awaken suddenly and cry out, terrified at the vivid recollec- - tion of the strange and powerful creatures that seem to be lurk- - ing behind every corner of the dungeon in your dream. Could - these details haunting your dreams be real? As each night pass- - es, you feel the desire to enter the mysterious caverns near the - ruins grow stronger. Each morning, however, you quickly put the - idea out of your head as you recall the tales of those who en- - tered the caverns before you and did not return. Eventually you - can resist the yearning to seek out the fantastic place in your - dreams no longer. After all, when other adventurers came back - this way after spending time in the caverns, they usually seemed - better off than when they passed through the first time. And who - was to say that all of those who did not return had not just kept - going? +- and | + The walls of a room, or an open door. Or a grave (|). +. The floor of a room, ice, or a doorless doorway. - Asking around, you hear about a bauble, called the Amulet of - Yendor by some, which, if you can find it, will bring you great - wealth. One legend you were told even mentioned that the one who - finds the amulet will be granted immortality by the gods. The - amulet is rumored to be somewhere beyond the Valley of Gehennom, - deep within the Mazes of Menace. Upon hearing the legends, you - immediately realize that there is some profound and undiscovered - reason that you are to descend into the caverns and seek out that - amulet of which they spoke. Even if the rumors of the amulet's +# A corridor, or iron bars, or a tree, or possibly a kitchen + sink (if your dungeon has sinks), or a drawbridge. +> Stairs down: a way to the next level. - NetHack Guidebook 1 +< Stairs up: a way to the previous level. ++ A closed door, or a spellbook containing a spell you may be + able to learn. +@ Your character or a human. +$ A pile of gold. +^ A trap (once you have detected it). - NetHack Guidebook 2 +) A weapon. +[ A suit or piece of armor. +% Something edible (not necessarily healthy). - powers are untrue, you decide that you should at least be able to - sell the tales of your adventures to the local minstrels for a - tidy sum, especially if you encounter any of the terrifying and - magical creatures of your dreams along the way. You spend one - last night fortifying yourself at the local inn, becoming more - and more depressed as you watch the odds of your success being - posted on the inn's walls getting lower and lower. +? A scroll. +/ A wand. - In the morning you awake, collect your belongings, and set - off for the dungeon. After several days of uneventful travel, - you see the ancient ruins that mark the entrance to the Mazes of - Menace. It is late at night, so you make camp at the entrance - and spend the night sleeping under the open skies. In the morn- - ing, you gather your gear, eat what may be your last meal out- - side, and enter the dungeon... += A ring. +! A potion. - 2. What is going on here? +( A useful item (pick-axe, key, lamp...). - You have just begun a game of NetHack. Your goal is to grab - as much treasure as you can, retrieve the Amulet of Yendor, and - escape the Mazes of Menace alive. +" An amulet or a spider web. - Your abilities and strengths for dealing with the hazards of - adventure will vary with your background and training: +* A gem or rock (possibly valuable, possibly worthless). - Archeologists understand dungeons pretty well; this enables - them to move quickly and sneak up on the local nasties. They - start equipped with the tools for a proper scientific expedition. +` A boulder or statue. - Barbarians are warriors out of the hinterland, hardened to - battle. They begin their quests with naught but uncommon - strength, a trusty hauberk, and a great two-handed sword. +0 An iron ball. - Cavemen and Cavewomen start with exceptional strength but, - unfortunately, with neolithic weapons. +_ An altar, or an iron chain. - Healers are wise in medicine and apothecary. They know the - herbs and simples that can restore vitality, ease pain, anes- - thetize, and neutralize poisons; and with their instruments, they - can divine a being's state of health or sickness. Their medical - practice earns them quite reasonable amounts of money, with which - they enter the dungeon. +{ A fountain. - Knights are distinguished from the common skirmisher by - their devotion to the ideals of chivalry and by the surpassing - excellence of their armor. +} A pool of water or moat or a pool of lava. - Monks are ascetics, who by rigorous practice of physical and - mental disciplines have become capable of fighting as effectively - without weapons as with. They wear no armor but make up for it - with increased mobility. +\ An opulent throne. +a-zA-Z and other symbols + Letters and certain other symbols represent the various in- + habitants of the Mazes of Menace. Watch out, they can be + nasty and vicious. Sometimes, however, they can be helpful. +I This marks the last known location of an invisible or other- + wise unseen monster. Note that the monster could have + moved. The `F' and `m' commands may be useful here. - NetHack 3.6 February 22, 2016 + You need not memorize all these symbols; you can ask the +game what any symbol represents with the `/' command (see the +next section for more info). +4. Commands + Commands can be initiated by typing one or two characters to +which the command is bound to, or typing the command name in the +extended commands entry. Some commands, like ``search'', do not +require that any more information be collected by NetHack. Other +commands might require additional information, for example a di- +rection, or an object to be used. For those commands that re- +quire additional information, NetHack will present you with ei- +ther a menu of choices or with a command line prompt requesting +information. Which you are presented with will depend chiefly on +how you have set the menustyle option. + For example, a common question, in the form ``What do you +want to use? [a-zA-Z ?*]'', asks you to choose an object you are +carrying. Here, ``a-zA-Z'' are the inventory letters of your +possible choices. Typing `?' gives you an inventory list of +these items, so you can see what each letter refers to. In this +example, there is also a `*' indicating that you may choose an +object not on the list, if you wanted to use something unexpect- +ed. Typing a `*' lists your entire inventory, so you can see the +inventory letters of every object you're carrying. Finally, if +you change your mind and decide you don't want to do this command +after all, you can press the ESC key to abort the command. + You can put a number before some commands to repeat them +that many times; for example, ``10s'' will search ten times. If +you have the number_pad option set, you must type `n' to prefix a +count, so the example above would be typed ``n10s'' instead. +Commands for which counts make no sense ignore them. In addi- +tion, movement commands can be prefixed for greater control (see +below). To cancel a count or a prefix, press the ESC key. - NetHack Guidebook 3 + The list of commands is rather long, but it can be read at +any time during the game through the `?' command, which accesses +a menu of helpful texts. Here are the default key bindings for +your reference: +? Help menu: display one of several help texts available. +/ The ``whatis'' command, to tell what a symbol represents. + You may choose to specify a location or type a symbol (or + even a whole word) to explain. Specifying a location is + done by moving the cursor to a particular spot on the map + and then pressing one of `.', `,', `;', or `:'. `.' will + explain the symbol at the chosen location, conditionally + check for ``More info?'' depending upon whether the help op- + tion is on, and then you will be asked to pick another loca- + tion; `,' will explain the symbol but skip any additional + information, then let you pick another location; `;' will + skip additional info and also not bother asking you to + choose another location to examine; `:' will show additional + info, if any, without asking for confirmation. When picking + a location, pressing the ESC key will terminate this com- + mand, or pressing `?' will give a brief reminder about how + it works. - Priests and Priestesses are clerics militant, crusaders ad- - vancing the cause of righteousness with arms, armor, and arts - thaumaturgic. Their ability to commune with deities via prayer - occasionally extricates them from peril, but can also put them in - it. + If the autodescribe option is on, a short description of + what you see at each location is shown as you move the cur- + sor. Typing `#' while picking a location will toggle that + option on or off. The whatis_coord option controls whether + the short description includes map coordinates. - Rangers are most at home in the woods, and some say slightly - out of place in a dungeon. They are, however, experts in archery - as well as tracking and stealthy movement. + Specifying a name rather than a location always gives any + additional information available about that name. - Rogues are agile and stealthy thieves, with knowledge of - locks, traps, and poisons. Their advantage lies in surprise, - which they employ to great advantage. + You may also request a description of nearby monsters, all + monsters currently displayed, nearby objects, or all ob- + jects. The whatis_coord option controls which format of map + coordinate is included with their descriptions. - Samurai are the elite warriors of feudal Nippon. They are - lightly armored and quick, and wear the dai-sho, two swords of - the deadliest keenness. +& Tell what a command does. - Tourists start out with lots of gold (suitable for shopping - with), a credit card, lots of food, some maps, and an expensive - camera. Most monsters don't like being photographed. +< Go up to the previous level (if you are on a staircase or + ladder). - Valkyries are hardy warrior women. Their upbringing in the - harsh Northlands makes them strong, inures them to extremes of - cold, and instills in them stealth and cunning. +> Go down to the next level (if you are on a staircase or lad- + der). + +[yuhjklbn] + Go one step in the direction indicated (see Figure 2). If + you sense or remember a monster there, you will fight the + monster instead. Only these one-step movement commands + cause you to fight monsters; the others (below) are + ``safe.'' + + y k u 7 8 9 + \ | / \ | / + h- . -l 4- . -6 + / | \ / | \ + b j n 1 2 3 + (if number_pad is set) + + Figure 2 + +[YUHJKLBN] + Go in that direction until you hit a wall or run into some- + thing. + +m[yuhjklbn] + Prefix: move without picking up objects or fighting (even + if you remember a monster there). + + A few non-movement commands use the `m' prefix to request + operating via menu (to temporarily override the + menustyle:Traditional option). Primarily useful for `,' + (pickup) when there is only one class of objects present + (where there won't be any ``what kinds of objects?'' prompt, + so no opportunity to answer `m' at that prompt). + + A few other commands (eat food, offer sacrifice, apply tin- + ning-kit) use the `m' prefix to skip checking for applicable + objects on the floor and go straight to checking inventory, + or (for ``#loot'' to remove a saddle), skip containers and + go straight to adjacent monsters. The prefix will make + ``#travel'' command show a menu of interesting targets in + sight. + +F[yuhjklbn] + Prefix: fight a monster (even if you only guess one is + there). - Wizards start out with a knowledge of magic, a selection of - magical items, and a particular affinity for dweomercraft. Al- - though seemingly weak and easy to overcome at first sight, an ex- - perienced Wizard is a deadly foe. +M[yuhjklbn] + Prefix: move far, no pickup. - You may also choose the race of your character: +g[yuhjklbn] + Prefix: move until something interesting is found. + +G[yuhjklbn] or [yuhjklbn] + Prefix: same as `g', but forking of corridors is not con- + sidered interesting. - Dwarves are smaller than humans or elves, but are stocky and - solid individuals. Dwarves' most notable trait is their great - expertise in mining and metalwork. Dwarvish armor is said to be - second in quality not even to the mithril armor of the Elves. +_ Travel to a map location via a shortest-path algorithm. - Elves are agile, quick, and perceptive; very little of what - goes on will escape an Elf. The quality of Elven craftsmanship - often gives them an advantage in arms and armor. + The shortest path is computed over map locations the hero + knows about (e.g. seen or previously traversed). If there + is no known path, a guess is made instead. Stops on most of + the same conditions as the `G' command, but without picking + up objects, similar to the `M' command. For ports with + mouse support, the command is also invoked when a mouse- + click takes place on a location other than the current posi- + tion. + +. Wait or rest, do nothing for one turn. - Gnomes are smaller than but generally similar to dwarves. - Gnomes are known to be expert miners, and it is known that a se- - cret underground mine complex built by this race exists within - the Mazes of Menace, filled with both riches and danger. +a Apply (use) a tool (pick-axe, key, lamp...). - Humans are by far the most common race of the surface world, - and are thus the norm to which other races are often compared. - Although they have no special abilities, they can succeed in any - role. + If used on a wand, that wand will be broken, releasing its + magic in the process. Confirmation is required. - Orcs are a cruel and barbaric race that hate every living - thing (including other orcs). Above all others, Orcs hate Elves +A Remove one or more worn items, such as armor. + Use `T' (take off) to take off only one piece of armor or + `R' (remove) to take off only one accessory. - NetHack 3.6 February 22, 2016 +^A Redo the previous command. +c Close a door. +C Call (name) a monster, an individual object, or a type of + object. + Same as extended command ``#name''. +^C Panic button. Quit the game. - NetHack Guidebook 4 +d Drop something. + Ex. ``d7a'' means drop seven items of object a. +D Drop several things. - with a passion unequalled, and will go out of their way to kill - one at any opportunity. The armor and weapons fashioned by the - Orcs are typically of inferior quality. + In answer to the question - 3. What do all those things on the screen mean? + ``What kinds of things do you want to drop? [!%= BUCXaium]'' - On the screen is kept a map of where you have been and what - you have seen on the current dungeon level; as you explore more - of the level, it appears on the screen in front of you. + you should type zero or more object symbols possibly fol- + lowed by `a' and/or `i' and/or `u' and/or `m'. In addition, + one or more of the blessed/uncursed/cursed groups may be + typed. - When NetHack's ancestor rogue first appeared, its screen - orientation was almost unique among computer fantasy games. - Since then, screen orientation has become the norm rather than - the exception; NetHack continues this fine tradition. Unlike - text adventure games that accept commands in pseudo-English sen- - tences and explain the results in words, NetHack commands are all - one or two keystrokes and the results are displayed graphically - on the screen. A minimum screen size of 24 lines by 80 columns - is recommended; if the screen is larger, only a 21x80 section - will be used for the map. + DB - drop all objects known to be blessed. + DU - drop all objects known to be uncursed. + DC - drop all objects known to be cursed. + DX - drop all objects of unknown B/U/C status. + Da - drop all objects, without asking for confirmation. + Di - examine your inventory before dropping anything. + Du - drop only unpaid objects (when in a shop). + Dm - use a menu to pick which object(s) to drop. + D%u - drop only unpaid food. - NetHack can even be played by blind players, with the assis- - tance of Braille readers or speech synthesisers. Instructions - for configuring NetHack for the blind are included later in this - document. +^D Kick something (usually a door). - NetHack generates a new dungeon every time you play it; even - the authors still find it an entertaining and exciting game de- - spite having won several times. +e Eat food. - NetHack offers a variety of display options. The options - available to you will vary from port to port, depending on the - capabilities of your hardware and software, and whether various - compile-time options were enabled when your executable was creat- - ed. The three possible display options are: a monochrome charac- - ter interface, a color character interface, and a graphical in- - terface using small pictures called tiles. The two character in- - terfaces allow fonts with other characters to be substituted, but - the default assignments use standard ASCII characters to repre- - sent everything. There is no difference between the various dis- - play options with respect to game play. Because we cannot repro- - duce the tiles or colors in the Guidebook, and because it is com- - mon to all ports, we will use the default ASCII characters from - the monochrome character display when referring to things you - might see on the screen during your game. + Normally checks for edible item(s) on the floor, then if + none are found or none are chosen, checks for edible item(s) + in inventory. Precede `e' with the `m' prefix to bypass at- + tempting to eat anything off the floor. - In order to understand what is going on in NetHack, first - you must understand what NetHack is doing with the screen. The - NetHack screen replaces the ``You see ...'' descriptions of text - adventure games. Figure 1 is a sample of what a NetHack screen - might look like. The way the screen looks for you depends on - your platform. +E Engrave a message on the floor. + E- - write in the dust with your fingers. + Engraving the word ``Elbereth'' will cause most monsters to + not attack you hand-to-hand (but if you attack, you will rub + it out); this is often useful to give yourself a breather. + (This feature may be compiled out of the game, so your ver- + sion might not have it.) +f Fire one of the objects placed in your quiver (or quiver + sack, or that you have at the ready). You may select ammu- + nition with a previous `Q' command, or let the computer pick + something appropriate if autoquiver is true. - NetHack 3.6 February 22, 2016 +i List your inventory (everything you're carrying). +I List selected parts of your inventory, usually be specifying + the character for a particular set of objects, like `[' for + armor or `!' for potions. + I* - list all gems in inventory; + Iu - list all unpaid items; + Ix - list all used up items that are on your shopping bill; + IB - list all items known to be blessed; + IU - list all items known to be uncursed; + IC - list all items known to be cursed; + IX - list all items whose bless/curse status is known; + I$ - count your money. +o Open a door. +O Set options. - NetHack Guidebook 5 + A menu showing the current option values will be displayed. + You can change most values simply by selecting the menu en- + try for the given option (ie, by typing its letter or click- + ing upon it, depending on your user interface). For the + non-boolean choices, a further menu or prompt will appear + once you've closed this menu. The available options are + listed later in this Guidebook. Options are usually set be- + fore the game rather than with the `O' command; see the sec- + tion on options below. +^O Show overview or show dungeon layout + In normal play and in explore mode, a shortcut for the + ``#overview'' extended command to list interesting dungeon + levels visited. - -------------------------------------------------------------------- - The bat bites! + In debug mode, an extra command which lists the placement of + all special levels. - ------ - |....| ---------- - |.<..|####...@...$.| - |....-# |...B....+ - |....| |.d......| - ------ -------|-- +p Pay your shopping bill. +P Put on an accessory (ring, amulet, or blindfold). + This command may also be used to wear armor. The prompt for + which inventory item to use will only list accessories, but + choosing an unlisted item of armor will attempt to wear it. + (See the `W' command below. It lists armor as the inventory + choices but will accept an accessory and attempt to put that + on.) - Player the Rambler St:12 Dx:7 Co:18 In:11 Wi:9 Ch:15 Neutral - Dlvl:1 $:0 HP:9(12) Pw:3(3) AC:10 Exp:1/19 T:257 Weak +^P Repeat previous message. - -------------------------------------------------------------------- - Figure 1 + Subsequent ^P's repeat earlier messages. The behavior can + be varied via the msg_window option. +q Quaff (drink) something (potion, water, etc). - 3.1. The status lines (bottom) +Q Select an object for your quiver, quiver sack, or just gen- + erally at the ready (only one of these is available at a + time). You can then throw this (or one of these) using the + `f' command. - The bottom two lines of the screen contain several cryptic - pieces of information describing your current status. If either - status line becomes longer than the width of the screen, you - might not see all of it. Here are explanations of what the vari- - ous status items mean (though your configuration may not have all - the status items listed below): + (In versions prior to 3.3 this was the command to quit the + game, which has been moved to ``#quit''.) - Rank - Your character's name and professional ranking (based on the - experience level, see below). +r Read a scroll or spellbook. - Strength - A measure of your character's strength; one of your six ba- - sic attributes. A human character's attributes can range - from 3 to 18 inclusive; non-humans may exceed these limits - (occasionally you may get super-strengths of the form 18/xx, - and magic can also cause attributes to exceed the normal - limits). The higher your strength, the stronger you are. - Strength affects how successfully you perform physical - tasks, how much damage you do in combat, and how much loot - you can carry. +R Remove a worn accessory (ring, amulet, or blindfold). - Dexterity - Dexterity affects your chances to hit in combat, to avoid - traps, and do other tasks requiring agility or manipulation - of objects. + If you're wearing more than one, you'll be prompted for + which one to remove. When you're only wearing one, then by + default it will be removed without asking, but you can set + the paranoid_confirmation option to require a prompt. - Constitution - Constitution affects your ability to recover from injuries - and other strains on your stamina. When strength is low or - modest, consitution also affects how much you can carry. - With sufficiently high strength, the contribution to carry- - ing capacity from your constitution no longer matters. + This command may also be used to take off armor. The prompt + for which inventory item to remove only lists worn acces- + sories, but an item of worn armor can be chosen. (See the + `T' command below. It lists armor as the inventory choices + but will accept an accessory and attempt to remove it.) +^R Redraw the screen. - NetHack 3.6 February 22, 2016 +s Search for secret doors and traps around you. It usually + takes several tries to find something. +S Save (and suspend) the game. The game will be restored au- + tomatically the next time you play. +t Throw an object or shoot a projectile. +T Take off armor. + If you're wearing more than one piece, you'll be prompted + for which one to take off. (Note that this treats a cloak + covering a suit and/or a shirt, or a suit covering a shirt, + as if the underlying items weren't there.) When you're only + wearing one, then by default it will be taken off without - NetHack Guidebook 6 + asking, but you can set the paranoid_confirmation option to + require a prompt. + This command may also be used to remove accessories. The + prompt for which inventory item to take off only lists worn + armor, but a worn accessory can be chosen. (See the `R' + command above. It lists accessories as the inventory choic- + es but will accept an item of armor and attempt to take it + off.) +^T Teleport, if you have the ability. - Intelligence - Intelligence affects your ability to cast spells and read - spellbooks. +v Display version number. - Wisdom - Wisdom comes from your practical experience (especially when - dealing with magic). It affects your magical energy. +V Display the game history. - Charisma - Charisma affects how certain creatures react toward you. In - particular, it can affect the prices shopkeepers offer you. +w Wield weapon. - Alignment - Lawful, Neutral, or Chaotic. Often, Lawful is taken as good - and Chaotic as evil, but legal and ethical do not always co- - incide. Your alignment influences how other monsters react - toward you. Monsters of a like alignment are more likely to - be non-aggressive, while those of an opposing alignment are - more likely to be seriously offended at your presence. + w- - wield nothing, use your bare hands. - Dungeon Level - How deep you are in the dungeon. You start at level one and - the number increases as you go deeper into the dungeon. - Some levels are special, and are identified by a name and - not a number. The Amulet of Yendor is reputed to be some- - where beneath the twentieth level. + Some characters can wield two weapons at once; use the `X' + command (or the ``#twoweapon'' extended command) to do so. - Gold - The number of gold pieces you are openly carrying. Gold - which you have concealed in containers is not counted. +W Wear armor. - Hit Points - Your current and maximum hit points. Hit points indicate - how much damage you can take before you die. The more you - get hit in a fight, the lower they get. You can regain hit - points by resting, or by using certain magical items or - spells. The number in parentheses is the maximum number - your hit points can reach. + This command may also be used to put on an accessory (ring, + amulet, or blindfold). The prompt for which inventory item + to use will only list armor, but choosing an unlisted acces- + sory will attempt to put it on. (See the `P' command above. + It lists accessories as the inventory choices but will ac- + cept an item of armor and attempt to wear it.) - Power - Spell points. This tells you how much mystic energy (mana) - you have available for spell casting. Again, resting will - regenerate the amount available. +x Exchange your wielded weapon with the item in your alternate + weapon slot. - Armor Class - A measure of how effectively your armor stops blows from un- - friendly creatures. The lower this number is, the more ef- - fective the armor; it is quite possible to have negative ar- - mor class. + The latter is used as your secondary weapon when engaging in + two-weapon combat. Note that if one of these slots is emp- + ty, the exchange still takes place. - Experience - Your current experience level and experience points. As you - adventure, you gain experience points. At certain experi- - ence point totals, you gain an experience level. The more +X Toggle two-weapon combat, if your character can do it. Also + available via the ``#twoweapon'' extended command. + (In versions prior to 3.6 this was the command to switch + from normal play to "explore mode", also known as "discovery + mode", which has now been moved to ``#exploremode''.) - NetHack 3.6 February 22, 2016 +^X Display basic information about your character. + Displays name, role, race, gender (unless role name makes + that redundant, such as Caveman or Priestess), and align- + ment, along with your patron deity and his or her opposi- + tion. It also shows most of the various items of informa- + tion from the status line(s) in a less terse form, including + several additional things which don't appear in the normal + status display due to space considerations. +z Zap a wand. + z. - to aim at yourself, use `.' for the direction. - NetHack Guidebook 7 +Z Zap (cast) a spell. + Z. - to cast at yourself, use `.' for the direction. +^Z Suspend the game (UNIX(R) versions with job control only). - experienced you are, the better you fight and withstand mag- - ical attacks. Many dungeons show only your experience level - here. +: Look at what is here. - Time - The number of turns elapsed so far, displayed if you have - the time option set. +; Show what type of thing a visible symbol corresponds to. - Status - Hunger: your current hunger status. Values are Satiated, - Not Hungry (or Normal), Hungry, Weak, and Fainting. Not - shown when Normal. +, Pick up some things from the floor beneath you. - Encumbrance: an indication of how what your are carrying af- - fects your ability to move. Values are Unencumbered, Encum- - bered, Stressed, Strained, Overtaxed, and Overloaded. Not - shown when Unencumbered. + May be preceded by `m' to force a selection menu. - Fatal conditions: Stone (aka Petrifying, turning to stone), - Slime (turning into green slime), Strngl (being strangled), - FoodPois (suffering from acute food poisoning), TermIll - (suffering from a terminal illness). +@ Toggle the autopickup option on and off. - Non-fatal conditions: Blind (can't see), Deaf (can't hear), - Stun (stunned), Conf (confused), Hallu (hallucinating). +^ Ask for the type of a trap you found earlier. - Movement modifiers: Lev (levitating), Fly (flying), Ride - (riding). +) Tell what weapon you are wielding. - Other conditions and modifiers exist, but there isn't enough - room to display them with the other status fields. The `^X' - command shows all relevant status conditions. +[ Tell what armor you are wearing. - 3.2. The message line (top) += Tell what rings you are wearing. - The top line of the screen is reserved for messages that de- - scribe things that are impossible to represent visually. If you - see a ``--More--'' on the top line, this means that NetHack has - another message to display on the screen, but it wants to make - certain that you've read the one that is there first. To read - the next message, just press the space bar. +" Tell what amulet you are wearing. - To change how and what messages are shown on the message - line, see ``Configuring Message Types`` and the verbose option. +( Tell what tools you are using. - 3.3. The map (rest of the screen) +* Tell what equipment you are using. - The rest of the screen is the map of the level as you have - explored it so far. Each symbol on the screen represents some- - thing. You can set various graphics options to change some of - the symbols the game uses; otherwise, the game will use default - symbols. Here is a list of what the default symbols mean: + Combines the preceding five type-specific commands into one. +$ Count your gold pieces. ++ List the spells you know. + Using this command, you can also rearrange the order in + which your spells are listed, either by sorting the entire + list or by picking one spell from the menu then picking an- + other to swap places with it. Swapping pairs of spells + changes their casting letters, so the change lasts after the + current `+' command finishes. Sorting the whole list is + temporary. To make the most recent sort order persist be- + yond the current `+' command, choose the sort option again + and then pick "reassign casting letters". (Any spells - NetHack 3.6 February 22, 2016 +__________ +(R)UNIX is a registered trademark of AT&T. + learned after that will be added to the end of the list + rather than be inserted into the sorted ordering.) +\ Show what types of objects have been discovered. +` Show discovered types for one class of objects. +! Escape to a shell. - NetHack Guidebook 8 +# Perform an extended command. + As you can see, the authors of NetHack used up all the let- +ters, so this is a way to introduce the less frequently used com- +mands. What extended commands are available depends on what fea- +tures the game was compiled with. +#adjust + Adjust inventory letters (most useful when the fixinv option + is ``on''). Autocompletes. Default key is 'M-a'. - - and | - The walls of a room, or an open door. Or a grave (|). + This command allows you to move an item from one particular + inventory slot to another so that it has a letter which is + more meaningful for you or that it will appear in a particu- + lar location when inventory listings are displayed. You can + move to a currently empty slot, or if the destination is oc- + cupied--and won't merge--the item there will swap slots with + the one being moved. ``#adjust'' can also be used to split + a stack of objects; when choosing the item to adjust, enter + a count prior to its letter. - . The floor of a room, ice, or a doorless doorway. + Adjusting without a count used to collect all compatible + stacks when moving to the destination. That behavior has + been changed; to gather compatible stacks, ``#adjust'' a + stack into its own inventory slot. If it has a name as- + signed, other stacks with the same name or with no name will + merge provided that all their other attributes match. If it + does not have a name, only other stacks with no name are el- + igible. In either case, otherwise compatible stacks with a + different name will not be merged. This contrasts with us- + ing ``#adjust'' to move from one slot to a different slot. + In that situation, moving (no count given) a compatible + stack will merge if either stack has a name when the other + doesn't and give that name to the result, while splitting + (count given) will ignore the source stack's name when de- + ciding whether to merge with the destination stack. - # A corridor, or iron bars, or a tree, or possibly a kitchen - sink (if your dungeon has sinks), or a drawbridge. +#annotate + Allows you to specify one line of text to associate with the + current dungeon level. All levels with annotations are dis- + played by the ``#overview'' command. Autocompletes. Default + key is 'M-A', and '^N' if number_pad is on. - > Stairs down: a way to the next level. +#apply + Apply (use) a tool such as a pick-axe, a key, or a lamp. De- + fault key is 'a'. - < Stairs up: a way to the previous level. + If the tool used acts on items on the floor, using the `m' + prefix skips those items. - + A closed door, or a spellbook containing a spell you may be - able to learn. + If used on a wand, that wand will be broken, releasing its + magic in the process. Confirmation is required. - @ Your character or a human. +#attributes + Show your attributes. Default key is '^X'. - $ A pile of gold. +#autopickup + Toggle the autopickup -option on/off. Default key is '@'. - ^ A trap (once you have detected it). +#call + Call (name) a monster, or an object in inventory, on the + floor, or in the discoveries list, or add an annotation for + the current level (same as ``#annotate''). Default key is + 'C'. - ) A weapon. +#cast + Cast a spell. Default key is 'Z'. - [ A suit or piece of armor. +#chat + Talk to someone. Default key is 'M-c'. - % Something edible (not necessarily healthy). +#close + Close a door. Default key is 'c'. - ? A scroll. +#conduct + List voluntary challenges you have maintained. Autocom- + pletes. Default key is 'M-C'. - / A wand. + See the section below entitled ``Conduct'' for details. - = A ring. +#dip + Dip an object into something. Autocompletes. Default key is + 'M-d'. - ! A potion. +#down + Go down a staircase. Default key is '>'. - ( A useful item (pick-axe, key, lamp...). +#drop + Drop an item. Default key is 'd'. - " An amulet or a spider web. +#droptype + Drop specific item types. Default key is 'D'. - * A gem or rock (possibly valuable, possibly worthless). +#eat + Eat something. Default key is 'e'. The `m' prefix skips + eating items on the floor. - ` A boulder or statue. +#engrave + Engrave writing on the floor. Default key is 'E'. - 0 An iron ball. +#enhance + Advance or check weapon and spell skills. Autocompletes. De- + fault key is 'M-e'. + +#exploremode + Enter the explore mode. - _ An altar, or an iron chain. +#fire + Fire ammunition from quiver. Default key is 'f'. - { A fountain. +#force + Force a lock. Autocompletes. Default key is 'M-f'. - } A pool of water or moat or a pool of lava. +#glance + Show what type of thing a map symbol corresponds to. Default + key is ';'. - \ An opulent throne. +#help + Show the help menu. Default key is '?', and 'h' if num- + ber_pad is on. +#herecmdmenu + Show a menu of possible actions in your current location. +#history + Show long version and game history. Default key is 'V'. +#inventory + Show your inventory. Default key is 'i'. - NetHack 3.6 February 22, 2016 +#inventtype + Inventory specific item types. Default key is 'I'. +#invoke + Invoke an object's special powers. Autocompletes. Default + key is 'M-i'. +#jump + Jump to another location. Autocompletes. Default key is 'M- + j', and 'j' if number_pad is on. +#kick + Kick something. Default key is '^D', and 'k' if number_pad + is on. +#known + Show what object types have been discovered. Default key is + '\'. - NetHack Guidebook 9 +#knownclass + Show discovered types for one class of objects. Default key + is '`'. +#levelchange + Change your experience level. Autocompletes. Wizard-mode on- + ly. - a-zA-Z and other symbols - Letters and certain other symbols represent the various in- - habitants of the Mazes of Menace. Watch out, they can be - nasty and vicious. Sometimes, however, they can be helpful. +#lightsources + Show mobile light sources. Autocompletes. Wizard-mode only. - I This marks the last known location of an invisible or other- - wise unseen monster. Note that the monster could have - moved. The `F' and `m' commands may be useful here. +#look + Look at what is here, under you. Default key is ':'. - You need not memorize all these symbols; you can ask the - game what any symbol represents with the `/' command (see the - next section for more info). +#loot + Loot a box or bag on the floor beneath you, or the saddle + from a steed standing next to you. Autocompletes. Precede + with the `m' prefix to skip containers at your location and + go directly to removing a saddle. Default key is 'M-l', and + 'l' if number_pad is on. +#monpolycontrol + Control monster polymorphs. Autocompletes. Wizard-mode only. - 4. Commands +#monster + Use a monster's special ability (when polymorphed into mon- + ster form). Autocompletes. Default key is 'M-m'. - Commands are initiated by typing one or two characters. - Some commands, like ``search'', do not require that any more in- - formation be collected by NetHack. Other commands might require - additional information, for example a direction, or an object to - be used. For those commands that require additional information, - NetHack will present you with either a menu of choices or with a - command line prompt requesting information. Which you are pre- - sented with will depend chiefly on how you have set the menustyle - option. +#name + Name a monster, an individual object, or a type of object. + Same as #call. Autocompletes. Default keys are 'N', 'M-n', + and 'M-N'. - For example, a common question, in the form ``What do you - want to use? [a-zA-Z ?*]'', asks you to choose an object you are - carrying. Here, ``a-zA-Z'' are the inventory letters of your - possible choices. Typing `?' gives you an inventory list of - these items, so you can see what each letter refers to. In this - example, there is also a `*' indicating that you may choose an - object not on the list, if you wanted to use something unexpect- - ed. Typing a `*' lists your entire inventory, so you can see the - inventory letters of every object you're carrying. Finally, if - you change your mind and decide you don't want to do this command - after all, you can press the ESC key to abort the command. +#offer + Offer a sacrifice to the gods. Autocompletes. Default key is + 'M-o'. The `m' prefix skips offering items on the altar. - You can put a number before some commands to repeat them - that many times; for example, ``10s'' will search ten times. If - you have the number_pad option set, you must type `n' to prefix a - count, so the example above would be typed ``n10s'' instead. - Commands for which counts make no sense ignore them. In addi- - tion, movement commands can be prefixed for greater control (see - below). To cancel a count or a prefix, press the ESC key. + You'll need to find an altar to have any chance at success. + Corpses of recently killed monsters are the fodder of + choice. - The list of commands is rather long, but it can be read at - any time during the game through the `?' command, which accesses - a menu of helpful texts. Here are the commands for your refer- - ence: +#open + Open a door. Default key is 'o'. - ? Help menu: display one of several help texts available. +#options + Show and change option settings. Default key is 'O'. +#overview + Display information you've discovered about the dungeon. + Any visited level (unless forgotten due to amnesia) with an + annotation is included, and many things (altars, thrones, + fountains, and so on; extra stairs leading to another dun- + geon branch) trigger an automatic annotation. If dungeon + overview is chosen during end-of-game disclosure, every vis- + ited level will be included regardless of annotations. Auto- + completes. Default keys are '^O', and 'M-O'. +#panic + Test the panic routine. Autocompletes. Wizard-mode only. +#pay + Pay your shopping bill. Default key is 'p'. - NetHack 3.6 February 22, 2016 +#pickup + Pick up things at the current location. Default key is ','. + The `m' prefix forces use of a menu. +#polyself + Polymorph self. Autocompletes. Wizard-mode only. +#pray + Pray to the gods for help. Autocompletes. Default key is 'M- + p'. + Praying too soon after receiving prior help is a bad idea. + (Hint: entering the dungeon alive is treated as having re- + ceived help. You probably shouldn't start off a new game by + praying right away.) Since using this command by accident + can cause trouble, there is an option to make you confirm + your intent before praying. It is enabled by default, and + you can reset the paranoid_confirmation option to disable + it. +#prevmsg + Show previously displayed game messages. Default key is + '^P'. - NetHack Guidebook 10 +#puton + Put on an accessory (ring, amulet, etc). Default key is 'P'. +#quaff + Quaff (drink) something. Default key is 'q'. +#quit + Quit the program without saving your game. Autocompletes. + Default key is 'M-q'. - / The ``what-is'' command, to tell what a symbol represents. - You may choose to specify a location or type a symbol (or - even a whole word) to explain. Specifying a location is - done by moving the cursor to a particular spot on the map - and then pressing one of `.', `,', `;', or `:'. `.' will - explain the symbol at the chosen location, conditionally - check for ``More info?'' depending upon whether the help op- - tion is on, and then you will be asked to pick another loca- - tion; `,' will explain the symbol but skip any additional - information, then let you pick another location; `;' will - skip additional info and also not bother asking you to - choose another location to examine; `:' will show additional - info, if any, without asking for confirmation. When picking - a location, pressing the ESC key will terminate this com- - mand, or pressing `?' will give a brief reminder about how - it works. + Since using this command by accident would throw away the + current game, you are asked to confirm your intent before + quitting. By default a response of 'y' acknowledges that + intent. You can set the paranoid_confirmation option to re- + quire a response of "yes" instead. - If the autodescribe option is on, a short description of - what you see at each location is shown as you move the cur- - sor. Typing `#' while picking a location will toggle that - option on or off. The whatis_coord option controls whether - the short description includes map coordinates. +#quiver + Select ammunition for quiver. Default key is 'Q'. - Specifying a name rather than a location always gives any - additional information available about that name. +#read + Read a scroll, a spellbook, or something else. Default key + is 'r'. - You may also request a description of nearby monsters, all - monsters currently displayed, nearby objects, or all ob- - jects. The whatis_coord option controls which format of map - coordinate is included with their descriptions. +#redraw + Redraw the screen. Default key is '^R', and '^L' if num- + ber_pad is on. - & Tell what a command does. +#remove + Remove an accessory (ring, amulet, etc). Default key is 'R'. - < Go up to the previous level (if you are on a staircase or - ladder). +#ride + Ride (or stop riding) a saddled creature. Autocompletes. De- + fault key is 'M-R'. - > Go down to the next level (if you are on a staircase or lad- - der). +#rub + Rub a lamp or a stone. Autocompletes. Default key is 'M-r'. - [yuhjklbn] - Go one step in the direction indicated (see Figure 2). If - you sense or remember a monster there, you will fight the - monster instead. Only these one-step movement commands - cause you to fight monsters; the others (below) are - ``safe.'' +#save + Save the game. Default key is 'S'. - y k u 7 8 9 - \ | / \ | / - h- . -l 4- . -6 - / | \ / | \ - b j n 1 2 3 - (if number_pad is set) +#search + Search for traps and secret doors around you. Default key is + 's'. - Figure 2 +#seeall + Show all equipment in use. Default key is '*'. +#seeamulet + Show the amulet currently worn. Default key is '"'. - NetHack 3.6 February 22, 2016 +#seearmor + Show the armor currently worn. Default key is '['. +#seegold + Count your gold. Default key is '$'. +#seenv + Show seen vectors. Autocompletes. Wizard-mode only. +#seerings + Show the ring(s) currently worn. Default key is '='. +#seespells + List and reorder known spells. Default key is '+'. - NetHack Guidebook 11 +#seetools + Show the tools currently in use. Default key is '('. +#seetrap + Show the type of a trap near you. Default key is '^'. +#seeweapon + Show the weapon currently wielded. Default key is ')'. - [YUHJKLBN] - Go in that direction until you hit a wall or run into some- - thing. +#shell + Do a shell escape. Default key is '!'. - m[yuhjklbn] - Prefix: move without picking up objects or fighting (even - if you remember a monster there) +#sit + Sit down. Autocompletes. Default key is 'M-s'. - F[yuhjklbn] - Prefix: fight a monster (even if you only guess one is - there) +#stats + Show memory statistics. Autocompletes. Wizard-mode only. - M[yuhjklbn] - Prefix: move far, no pickup. +#suspend + Suspend the game. Default key is '^Z'. - g[yuhjklbn] - Prefix: move until something interesting is found. +#swap + Swap wielded and secondary weapons. Default key is 'x'. - G[yuhjklbn] or [yuhjklbn] - Prefix: same as `g', but forking of corridors is not con- - sidered interesting. +#takeoff + Take off one piece of armor. Default key is 'T'. - _ Travel to a map location via a shortest-path algorithm. +#takeoffall + Remove all armor. Default key is 'A'. - The shortest path is computed over map locations the hero - knows about (e.g. seen or previously traversed). If there - is no known path, a guess is made instead. Stops on most of - the same conditions as the `G' command, but without picking - up objects, similar to the `M' command. For ports with - mouse support, the command is also invoked when a mouse- - click takes place on a location other than the current posi- - tion. +#teleport + Teleport around the level. Default key is '^T'. - . Rest, do nothing for one turn. +#terrain + Show bare map without displaying monsters, objects, or + traps. Autocompletes. - a Apply (use) a tool (pick-axe, key, lamp...). +#therecmdmenu + Show a menu of possible actions in a location next to you. - A Remove one or more worn items, such as armor. +#throw + Throw something. Default key is 't'. - Use `T' (take off) to take off only one piece of armor or - `R' (remove) to take off only one accessory. +#timeout + Look at the timeout queue. Autocompletes. Wizard-mode only. - ^A Redo the previous command. +#tip + Tip over a container (bag or box) to pour out its contents. + Autocompletes. Default key is 'M-T'. The `m' prefix makes + the command use a menu. - c Close a door. +#travel + Travel to a specific location on the map. Default key is + '_'. Using the ``request menu'' prefix shows a menu of in- + teresting targets in sight without asking to move the cur- + sor. When picking a target with cursor and the autodescribe + -option is on, the top line will show "(no travel path)" if + your character does not know of a path to that location. - C Call (name) a monster, an individual object, or a type of - object. +#turn + Turn undead away. Autocompletes. Default key is 'M-t'. - Same as extended command ``#name''. +#twoweapon + Toggle two-weapon combat on or off. Autocompletes. Default + keys are 'X', and 'M-2'. - ^C Panic button. Quit the game. + Note that you must use suitable weapons for this type of + combat, or it will be automatically turned off. +#untrap + Untrap something (trap, door, or chest). Default key is 'M- + u', and 'u' if number_pad is on. + In some circumstances it can also be used to rescue trapped + monsters. +#up + Go up a staircase. Default key is '<'. - NetHack 3.6 February 22, 2016 +#vanquished + List vanquished monsters. Autocompletes. Wizard-mode only. +#version + Print compile time options for this version of NetHack. Au- + tocompletes. Default key is 'M-v'. +#versionshort + Show version string. Default key is 'v'. +#vision + Show vision array. Autocompletes. Wizard-mode only. +#wait + Rest one move while doing nothing. Default key is '.', and ' + ' if rest_on_space is on. - NetHack Guidebook 12 +#wear + Wear a piece of armor. Default key is 'W'. +#whatdoes + Tell what a key does. Default key is '&'. +#whatis + Show what type of thing a symbol corresponds to. Default key + is '/'. - d Drop something. +#wield + Wield a weapon. Default key is 'w'. - Ex. ``d7a'' means drop seven items of object a. +#wipe + Wipe off your face. Autocompletes. Default key is 'M-w'. - D Drop several things. +#wizdebug_bury + Bury objects under and around you. Autocompletes. Wizard- + mode only. - In answer to the question +#wizdebug_traveldisplay + Toggle travel display. Autocompletes. Wizard-mode only. - ``What kinds of things do you want to drop? [!%= BUCXaium]'' +#wizdetect + Search a room. Autocompletes. Wizard-mode only. Default key + is '^E'. - you should type zero or more object symbols possibly fol- - lowed by `a' and/or `i' and/or `u' and/or `m'. In addition, - one or more of the blessed/uncursed/cursed groups may be - typed. +#wizgenesis + Create a monster. Autocompletes. Wizard-mode only. Default + key is '^G'. - DB - drop all objects known to be blessed. - DU - drop all objects known to be uncursed. - DC - drop all objects known to be cursed. - DX - drop all objects of unknown B/U/C status. - Da - drop all objects, without asking for confirmation. - Di - examine your inventory before dropping anything. - Du - drop only unpaid objects (when in a shop). - Dm - use a menu to pick which object(s) to drop. - D%u - drop only unpaid food. +#wizidentify + Identify all items in inventory. Autocompletes. Wizard-mode + only. Default key is '^I'. - ^D Kick something (usually a door). +#wizintrinsic + Set intrinsic. Autocompletes. Wizard-mode only. - e Eat food. +#wizlevelport + Teleport to another level. Autocompletes. Wizard-mode only. + Default key is '^V'. - E Engrave a message on the floor. +#wizmap + Map the level. Autocompletes. Wizard-mode only. Default key + is '^F'. - E- - write in the dust with your fingers. +#wizrumorcheck + Verify rumor boundaries. Autocompletes. Wizard-mode only. - Engraving the word ``Elbereth'' will cause most monsters to - not attack you hand-to-hand (but if you attack, you will rub - it out); this is often useful to give yourself a breather. - (This feature may be compiled out of the game, so your ver- - sion might not have it.) +#wizsmell + Smell monster. Autocompletes. Wizard-mode only. - f Fire one of the objects placed in your quiver (or quiver - sack, or that you have at the ready). You may select ammu- - nition with a previous `Q' command, or let the computer pick - something appropriate if autoquiver is true. +#wizwhere + Show locations of special levels. Autocompletes. Wizard-mode + only. - i List your inventory (everything you're carrying). +#wizwish + Wish for something. Autocompletes. Wizard-mode only. Default + key is '^W'. - I List selected parts of your inventory, usually be specifying - the character for a particular set of objects, like `[' for - armor or `!' for potions. +#wmode + Show wall modes. Autocompletes. Wizard-mode only. +#zap + Zap a wand. Default key is 'z'. +#? + Help menu: get the list of available extended commands. + If your keyboard has a meta key (which, when pressed in com- +bination with another key, modifies it by setting the `meta' +[8th, or `high'] bit), you can invoke many extended commands by +meta-ing the first letter of the command. In NT, OS/2, PC and ST +NetHack, the `Alt' key can be used in this fashion; on the Amiga, +set the altmeta option to get this behavior. On other systems, +if typing `Alt' plus another key transmits a two character se- +quence consisting of an Escape followed by the other key, you may +set the altmeta option to have NetHack combine them into +meta+key. +M-? #? (not supported by all platforms) +M-2 #twoweapon (unless the number_pad option is enabled) - NetHack 3.6 February 22, 2016 +M-a #adjust +M-A #annotate +M-c #chat +M-C #conduct +M-d #dip - NetHack Guidebook 13 +M-e #enhance +M-f #force +M-i #invoke - I* - list all gems in inventory; - Iu - list all unpaid items; - Ix - list all used up items that are on your shopping bill; - IB - list all items known to be blessed; - IU - list all items known to be uncursed; - IC - list all items known to be cursed; - IX - list all items whose bless/curse status is known; - I$ - count your money. +M-j #jump - o Open a door. +M-l #loot - O Set options. +M-m #monster - A menu showing the current option values will be displayed. - You can change most values simply by selecting the menu en- - try for the given option (ie, by typing its letter or click- - ing upon it, depending on your user interface). For the - non-boolean choices, a further menu or prompt will appear - once you've closed this menu. The available options are - listed later in this Guidebook. Options are usually set be- - fore the game rather than with the `O' command; see the sec- - tion on options below. +M-n #name - p Pay your shopping bill. +M-o #offer - P Put on an accessory (ring, amulet, or blindfold). +M-O #overview - This command may also be used to wear armor. The prompt for - which inventory item to use will only list accessories, but - choosing an unlisted item of armor will attempt to wear it. - (See the `W' command below. It lists armor as the inventory - choices but will accept an accessory and attempt to put that - on.) +M-p #pray - ^P Repeat previous message. +M-q #quit - Subsequent ^P's repeat earlier messages. The behavior can - be varied via the msg_window option. +M-r #rub - q Quaff (drink) something (potion, water, etc). +M-R #ride - Q Select an object for your quiver, quiver sack, or just gen- - erally at the ready (only one of these is available at a - time). You can then throw this (or one of these) using the - `f' command. +M-s #sit - (In versions prior to 3.3 this was the command to quit the - game, which has been moved to ``#quit''.) +M-t #turn - r Read a scroll or spellbook. +M-T #tip - R Remove a worn accessory (ring, amulet, or blindfold). +M-u #untrap +M-v #version +M-w #wipe + If the number_pad option is on, some additional letter com- +mands are available: - NetHack 3.6 February 22, 2016 +h #help +j #jump +k #kick +l #loot +N #name - NetHack Guidebook 14 +u #untrap +5. Rooms and corridors + Rooms and corridors in the dungeon are either lit or dark. +Any lit areas within your line of sight will be displayed; dark +areas are only displayed if they are within one space of you. +Walls and corridors remain on the map as you explore them. - If you're wearing more than one, you'll be prompted for - which one to remove. When you're only wearing one, then by - default it will be removed without asking, but you can set - the paranoid_confirmation option to require a prompt. + Secret corridors are hidden. You can find them with the `s' +(search) command. - This command may also be used to take off armor. The prompt - for which inventory item to remove only lists worn acces- - sories, but an item of worn armor can be chosen. (See the - `T' command below. It lists armor as the inventory choices - but will accept an accessory and attempt to remove it.) +5.1. Doorways - ^R Redraw the screen. + Doorways connect rooms and corridors. Some doorways have no +doors; you can walk right through. Others have doors in them, +which may be open, closed, or locked. To open a closed door, use +the `o' (open) command; to close it again, use the `c' (close) +command. - s Search for secret doors and traps around you. It usually - takes several tries to find something. + You can get through a locked door by using a tool to pick +the lock with the `a' (apply) command, or by kicking it open with +the `^D' (kick) command. - S Save (and suspend) the game. The game will be restored au- - tomatically the next time you play. + Open doors cannot be entered diagonally; you must approach +them straight on, horizontally or vertically. Doorways without +doors are not restricted in this fashion. - t Throw an object or shoot a projectile. + Doors can be useful for shutting out monsters. Most mon- +sters cannot open doors, although a few don't need to (ex. ghosts +can walk through doors). - T Take off armor. + Secret doors are hidden. You can find them with the `s' +(search) command. Once found they are in all ways equivalent to - If you're wearing more than one piece, you'll be prompted - for which one to take off. (Note that this treats a cloak - covering a suit and/or a shirt, or a suit covering a shirt, - as if the underlying items weren't there.) When you're only - wearing one, then by default it will be taken off without - asking, but you can set the paranoid_confirmation option to - require a prompt. +normal doors. - This command may also be used to remove accessories. The - prompt for which inventory item to take off only lists worn - armor, but a worn accessory can be chosen. (See the `R' - command above. It lists accessories as the inventory choic- - es but will accept an item of armor and attempt to take it - off.) +5.2. Traps (`^') - ^T Teleport, if you have the ability. + There are traps throughout the dungeon to snare the unwary +delver. For example, you may suddenly fall into a pit and be +stuck for a few turns trying to climb out. Traps don't appear on +your map until you see one triggered by moving onto it, see some- +thing fall into it, or you discover it with the `s' (search) com- +mand. Monsters can fall prey to traps, too, which can be a very +useful defensive strategy. - v Display version number. + There is a special pre-mapped branch of the dungeon based on +the classic computer game ``Sokoban.'' The goal is to push the +boulders into the pits or holes. With careful foresight, it is +possible to complete all of the levels according to the tradi- +tional rules of Sokoban. Some allowances are permitted in case +the player gets stuck; however, they will lower your luck. - V Display the game history. +5.3. Stairs and ladders (`<', `>') - w Wield weapon. + In general, each level in the dungeon will have a staircase +going up (`<') to the previous level and another going down (`>') +to the next level. There are some exceptions though. For in- +stance, fairly early in the dungeon you will find a level with +two down staircases, one continuing into the dungeon and the oth- +er branching into an area known as the Gnomish Mines. Those +mines eventually hit a dead end, so after exploring them (if you +choose to do so), you'll need to climb back up to the main dun- +geon. - w- - wield nothing, use your bare hands. + When you traverse a set of stairs, or trigger a trap which +sends you to another level, the level you're leaving will be de- +activated and stored in a file on disk. If you're moving to a +previously visited level, it will be loaded from its file on disk +and reactivated. If you're moving to a level which has not yet +been visited, it will be created (from scratch for most random +levels, from a template for some ``special'' levels, or loaded +from the remains of an earlier game for a ``bones'' level as +briefly described below). Monsters are only active on the cur- +rent level; those on other levels are essentially placed into +stasis. + + Ordinarily when you climb a set of stairs, you will arrive +on the corresponding staircase at your destination. However, +pets (see below) and some other monsters will follow along if +they're close enough when you travel up or down stairs, and occa- +sionally one of these creatures will displace you during the +climb. When that occurs, the pet or other monster will arrive on +the staircase and you will end up nearby. + + Ladders serve the same purpose as staircases, and the two +types of inter-level connections are nearly indistinguishable +during game play. + +5.4. Shops and shopping + + Occasionally you will run across a room with a shopkeeper +near the door and many items lying on the floor. You can buy +items by picking them up and then using the `p' command. You can +inquire about the price of an item prior to picking it up by us- +ing the ``#chat'' command while standing on it. Using an item +prior to paying for it will incur a charge, and the shopkeeper +won't allow you to leave the shop until you have paid any debt +you owe. + + You can sell items to a shopkeeper by dropping them to the +floor while inside a shop. You will either be offered an amount +of gold and asked whether you're willing to sell, or you'll be +told that the shopkeeper isn't interested (generally, your item +needs to be compatible with the type of merchandise carried by +the shop). + + If you drop something in a shop by accident, the shopkeeper +will usually claim ownership without offering any compensation. +You'll have to buy it back if you want to reclaim it. + + Shopkeepers sometimes run out of money. When that happens, +you'll be offered credit instead of gold when you try to sell +something. Credit can be used to pay for purchases, but it is +only good in the shop where it was obtained; other shopkeepers +won't honor it. (If you happen to find a "credit card" in the +dungeon, don't bother trying to use it in shops; shopkeepers will +not accept it.) + + The `$' command, which reports the amount of gold you are +carrying (in inventory, not inside bags or boxes), will also show +current shop debt or credit, if any. The `Iu' command lists un- +paid items (those which still belong to the shop) if you are car- +rying any. The `Ix' command shows an inventory-like display of +any unpaid items which have been used up, along with other shop +fees, if any. + +5.4.1. Shop idiosyncracies + + Several aspects of shop behavior might be unexpected. + +* The price of a given item can vary due to a variety of factors. + +* A shopkeeper treats the spot immediately inside the door as if + it were outside the shop. + +* While the shopkeeper watches you like a hawk, he will generally + ignore any other customers. + +* If a shop is "closed for inventory", it will not open of its + own accord. + +* Shops do not get restocked with new items, regardless of inven- + tory depletion. + +6. Monsters + + Monsters you cannot see are not displayed on the screen. +Beware! You may suddenly come upon one in a dark place. Some +magic items can help you locate them before they locate you +(which some monsters can do very well). + + The commands `/' and `;' may be used to obtain information +about those monsters who are displayed on the screen. The com- +mand ``#name'' (by default bound to `C'), allows you to assign a +name to a monster, which may be useful to help distinguish one +from another when multiple monsters are present. Assigning a +name which is just a space will remove any prior name. + + The extended command ``#chat'' can be used to interact with +an adjacent monster. There is no actual dialog (in other words, +you don't get to choose what you'll say), but chatting with some +monsters such as a shopkeeper or the Oracle of Delphi can produce +useful results. + +6.1. Fighting + + If you see a monster and you wish to fight it, just attempt +to walk into it. Many monsters you find will mind their own +business unless you attack them. Some of them are very dangerous +when angered. Remember: discretion is the better part of valor. + + In most circumstances, if you attempt to attack a peaceful +monster by moving into its location, you'll be asked to confirm +your intent. By default an answer of 'y' acknowledges that in- +tent, which can be error prone if you're using 'y' to move. You +can set the paranoid_confirmation option to require a response of +"yes" instead. + + If you can't see a monster (if it is invisible, or if you +are blinded), the symbol `I' will be shown when you learn of its +presence. If you attempt to walk into it, you will try to fight +it just like a monster that you can see; of course, if the mon- +ster has moved, you will attack empty air. If you guess that the +monster has moved and you don't wish to fight, you can use the +`m' command to move without fighting; likewise, if you don't re- +member a monster but want to try fighting anyway, you can use the +`F' command. + +6.2. Your pet + + You start the game with a little dog (`d'), cat (`f'), or +pony (`u'), which follows you about the dungeon and fights mon- +sters with you. Like you, your pet needs food to survive. It +usually feeds itself on fresh carrion and other meats. If you're + +worried about it or want to train it, you can feed it, too, by +throwing it food. A properly trained pet can be very useful un- +der certain circumstances. + + Your pet also gains experience from killing monsters, and +can grow over time, gaining hit points and doing more damage. +Initially, your pet may even be better at killing things than +you, which makes pets useful for low-level characters. + + Your pet will follow you up and down staircases if it is +next to you when you move. Otherwise your pet will be stranded +and may become wild. Similarly, when you trigger certain types +of traps which alter your location (for instance, a trap door +which drops you to a lower dungeon level), any adjacent pet will +accompany you and any non-adjacent pet will be left behind. Your +pet may trigger such traps itself; you will not be carried along +with it even if adjacent at the time. + +6.3. Steeds + + Some types of creatures in the dungeon can actually be rid- +den if you have the right equipment and skill. Convincing a wild +beast to let you saddle it up is difficult to say the least. +Many a dungeoneer has had to resort to magic and wizardry in or- +der to forge the alliance. Once you do have the beast under your +control however, you can easily climb in and out of the saddle +with the ``#ride'' command. Lead the beast around the dungeon +when riding, in the same manner as you would move yourself. It +is the beast that you will see displayed on the map. + + Riding skill is managed by the ``#enhance'' command. See +the section on Weapon proficiency for more information about +that. + + Use the `a' (apply) command and pick a saddle in your inven- +tory to attempt to put that saddle on an adjacent creature. If +successful, it will be transferred to that creature's inventory. + + Use the ``#loot'' command while adjacent to a saddled crea- +ture to try to remove the saddle from that creature. If success- +ful, it will be transferred to your inventory. + +6.4. Bones levels + + You may encounter the shades and corpses of other adventur- +ers (or even former incarnations of yourself!) and their personal +effects. Ghosts are hard to kill, but easy to avoid, since +they're slow and do little damage. You can plunder the deceased +adventurer's possessions; however, they are likely to be cursed. +Beware of whatever killed the former player; it is probably still +lurking around, gloating over its last victory. + +7. Objects + + When you find something in the dungeon, it is common to want +to pick it up. In NetHack, this is accomplished automatically by +walking over the object (unless you turn off the autopickup op- +tion (see below), or move with the `m' prefix (see above)), or +manually by using the `,' command. + + If you're carrying too many items, NetHack will tell you so +and you won't be able to pick up anything more. Otherwise, it +will add the object(s) to your pack and tell you what you just +picked up. + + As you add items to your inventory, you also add the weight +of that object to your load. The amount that you can carry de- +pends on your strength and your constitution. The stronger and +sturdier you are, the less the additional load will affect you. +There comes a point, though, when the weight of all of that stuff +you are carrying around with you through the dungeon will encum- +ber you. Your reactions will get slower and you'll burn calories +faster, requiring food more frequently to cope with it. Eventu- +ally, you'll be so overloaded that you'll either have to discard +some of what you're carrying or collapse under its weight. + + NetHack will tell you how badly you have loaded yourself. +The symbols `Burdened', `Stressed', `Strained', `Overtaxed' and +`Overloaded' are displayed on the bottom line display to indicate +your condition. + + When you pick up an object, it is assigned an inventory let- +ter. Many commands that operate on objects must ask you to find +out which object you want to use. When NetHack asks you to +choose a particular object you are carrying, you are usually pre- +sented with a list of inventory letters to choose from (see Com- +mands, above). + + Some objects, such as weapons, are easily differentiated. +Others, like scrolls and potions, are given descriptions which +vary according to type. During a game, any two objects with the +same description are the same type. However, the descriptions +will vary from game to game. + + When you use one of these objects, if its effect is obvious, +NetHack will remember what it is for you. If its effect isn't +extremely obvious, you will be asked what you want to call this +type of object so you will recognize it later. You can also use +the ``#name'' command, for the same purpose at any time, to name +all objects of a particular type or just an individual object. +When you use ``#name'' on an object which has already been named, +specifying a space as the value will remove the prior name in- +stead of assigning a new one. + +7.1. Curses and Blessings + + Any object that you find may be cursed, even if the object +is otherwise helpful. The most common effect of a curse is being +stuck with (and to) the item. Cursed weapons weld themselves to +your hand when wielded, so you cannot unwield them. Any cursed +item you wear is not removable by ordinary means. In addition, +cursed arms and armor usually, but not always, bear negative en- +chantments that make them less effective in combat. Other cursed +objects may act poorly or detrimentally in other ways. + + Objects can also be blessed. Blessed items usually work +better or more beneficially than normal uncursed items. For ex- +ample, a blessed weapon will do more damage against demons. + + Objects which are neither cursed nor blessed are referred to +as uncursed. They could just as easily have been described as +unblessed, but the uncursed designation is what you will see +within the game. A ``glass half full versus glass half empty'' +situation; make of that what you will. + + There are magical means of bestowing or removing curses upon +objects, so even if you are stuck with one, you can still have +the curse lifted and the item removed. Priests and Priestesses +have an innate sensitivity to this property in any object, so +they can more easily avoid cursed objects than other character +roles. + + An item with unknown status will be reported in your inven- +tory with no prefix. An item which you know the state of will be +distinguished in your inventory by the presence of the word +``cursed'', ``uncursed'' or ``blessed'' in the description of the +item. In some cases ``uncursed'' will be omitted as being redun- +dant when enough other information is displayed. The implic- +it_uncursed option can be used to control this; toggle it off to +have ``uncursed'' be displayed even when that can be deduced from +other attributes. + +7.2. Weapons (`)') + + Given a chance, most monsters in the Mazes of Menace will +gratuitously try to kill you. You need weapons for self-defense +(killing them first). Without a weapon, you do only 1-2 hit +points of damage (plus bonuses, if any). Monk characters are an +exception; they normally do much more damage with bare hands than +they do with weapons. + + There are wielded weapons, like maces and swords, and thrown +weapons, like arrows and spears. To hit monsters with a weapon, +you must wield it and attack them, or throw it at them. You can +simply elect to throw a spear. To shoot an arrow, you should +first wield a bow, then throw the arrow. Crossbows shoot cross- +bow bolts. Slings hurl rocks and (other) stones (like gems). + + Enchanted weapons have a ``plus'' (or ``to hit enhancement'' +which can be either positive or negative) that adds to your +chance to hit and the damage you do to a monster. The only way +to determine a weapon's enchantment is to have it magically iden- +tified somehow. Most weapons are subject to some type of damage +like rust. Such ``erosion'' damage can be repaired. + + The chance that an attack will successfully hit a monster, +and the amount of damage such a hit will do, depends upon many +factors. Among them are: type of weapon, quality of weapon (en- +chantment and/or erosion), experience level, strength, dexterity, +encumbrance, and proficiency (see below). The monster's armor +class - a general defense rating, not necessarily due to wearing +of armor - is a factor too; also, some monsters are particularly +vulnerable to certain types of weapons. + + Many weapons can be wielded in one hand; some require both +hands. When wielding a two-handed weapon, you can not wear a +shield, and vice versa. When wielding a one-handed weapon, you +can have another weapon ready to use by setting things up with +the `x' command, which exchanges your primary (the one being +wielded) and alternate weapons. And if you have proficiency in +the ``two weapon combat'' skill, you may wield both weapons si- +multaneously as primary and secondary; use the `#twoweapon' ex- +tended command to engage or disengage that. Only some types of +characters (barbarians, for instance) have the necessary skill +available. Even with that skill, using two weapons at once in- +curs a penalty in the chance to hit your target compared to using +just one weapon at a time. + + There might be times when you'd rather not wield any weapon +at all. To accomplish that, wield `-', or else use the `A' com- +mand which allows you to unwield the current weapon in addition +to taking off other worn items. + + Those of you in the audience who are AD&D players, be aware +that each weapon which existed in AD&D does roughly the same dam- +age to monsters in NetHack. Some of the more obscure weapons +(such as the aklys, lucern hammer, and bec-de-corbin) are defined +in an appendix to Unearthed Arcana, an AD&D supplement. + + The commands to use weapons are `w' (wield), `t' (throw), +`f' (fire, an alternative way of throwing), `Q' (quiver), `x' +(exchange), `#twoweapon', and `#enhance' (see below). + +7.2.1. Throwing and shooting + + You can throw just about anything via the `t' command. It +will prompt for the item to throw; picking `?' will list things +in your inventory which are considered likely to be thrown, or +picking `*' will list your entire inventory. After you've chosen +what to throw, you will be prompted for a direction rather than +for a specific target. The distance something can be thrown de- +pends mainly on the type of object and your strength. Arrows can + +be thrown by hand, but can be thrown much farther and will be +more likely to hit when thrown while you are wielding a bow. + + You can simplify the throwing operation by using the `Q' +command to select your preferred ``missile'', then using the `f' +command to throw it. You'll be prompted for a direction as +above, but you don't have to specify which item to throw each +time you use `f'. There is also an option, autoquiver, which has +NetHack choose another item to automatically fill your quiver (or +quiver sack, or have at the ready) when the inventory slot used +for `Q' runs out. + + Some characters have the ability to fire a volley of multi- +ple items in a single turn. Knowing how to load several rounds +of ammunition at once -- or hold several missiles in your hand -- +and still hit a target is not an easy task. Rangers are among +those who are adept at this task, as are those with a high level +of proficiency in the relevant weapon skill (in bow skill if +you're wielding one to shoot arrows, in crossbow skill if you're +wielding one to shoot bolts, or in sling skill if you're wielding +one to shoot stones). The number of items that the character has +a chance to fire varies from turn to turn. You can explicitly +limit the number of shots by using a numeric prefix before the +`t' or `f' command. For example, ``2f'' (or ``n2f'' if using +number_pad mode) would ensure that at most 2 arrows are shot even +if you could have fired 3. If you specify a larger number than +would have been shot (``4f'' in this example), you'll just end up +shooting the same number (3, here) as if no limit had been speci- +fied. Once the volley is in motion, all of the items will travel +in the same direction; if the first ones kill a monster, the oth- +ers can still continue beyond that spot. + +7.2.2. Weapon proficiency + + You will have varying degrees of skill in the weapons avail- +able. Weapon proficiency, or weapon skills, affect how well you +can use particular types of weapons, and you'll be able to im- +prove your skills as you progress through a game, depending on +your role, your experience level, and use of the weapons. + + For the purposes of proficiency, weapons have been divided +up into various groups such as daggers, broadswords, and +polearms. Each role has a limit on what level of proficiency a +character can achieve for each group. For instance, wizards can +become highly skilled in daggers or staves but not in swords or +bows. + + The `#enhance' extended command is used to review current +weapons proficiency (also spell proficiency) and to choose which +skill(s) to improve when you've used one or more skills enough to +become eligible to do so. The skill rankings are ``none'' (some- +times also referred to as ``restricted'', because you won't be +able to advance), ``unskilled'', ``basic'', ``skilled'', and +``expert''. Restricted skills simply will not appear in the list + +shown by `#enhance'. (Divine intervention might unrestrict a +particular skill, in which case it will start at unskilled and be +limited to basic.) Some characters can enhance their barehanded +combat or martial arts skill beyond expert to ``master'' or +``grand master''. + + Use of a weapon in which you're restricted or unskilled will +incur a modest penalty in the chance to hit a monster and also in +the amount of damage done when you do hit; at basic level, there +is no penalty or bonus; at skilled level, you receive a modest +bonus in the chance to hit and amount of damage done; at expert +level, the bonus is higher. A successful hit has a chance to +boost your training towards the next skill level (unless you've +already reached the limit for this skill). Once such training +reaches the threshold for that next level, you'll be told that +you feel more confident in your skills. At that point you can +use `#enhance' to increase one or more skills. Such skills are +not increased automatically because there is a limit to your to- +tal overall skills, so you need to actively choose which skills +to enhance and which to ignore. + +7.2.3. Two-Weapon combat + + Some characters can use two weapons at once. Setting things +up to do so can seem cumbersome but becomes second nature with +use. To wield two weapons, you need to use the ``#twoweapon'' +command. But first you need to have a weapon in each hand. +(Note that your two weapons are not fully equal; the one in the +hand you normally wield with is considered primary and the other +one is considered secondary. The most noticeable difference is +after you stop--or before you begin, for that matter--wielding +two weapons at once. The primary is your wielded weapon and the +secondary is just an item in your inventory that's been designat- +ed as alternate weapon.) + + If your primary weapon is wielded but your off hand is empty +or has the wrong weapon, use the sequence 'x', 'w', 'x' to first +swap your primary into your off hand, wield whatever you want as +secondary weapon, then swap them both back into the intended +hands. If your secondary or alternate weapon is correct but your +primary one is not, simply use 'w' to wield the primary. Lastly, +if neither hand holds the correct weapon, use 'w', 'x', 'w' to +first wield the intended secondary, swap it to off hand, and then +wield the primary. + + The whole process can be simplified via use of the push- +weapon option. When it is enabled, then using 'w' to wield some- +thing causes the currently wielded weapon to become your alter- +nate weapon. So the sequence 'w', 'w' can be used to first wield +the weapon you intend to be secondary, and then wield the one you +want as primary which will push the first into secondary posi- +tion. + + When in two-weapon combat mode, using the ``#twoweapon'' +command toggles back to single-weapon mode. Throwing or dropping +either of the weapons or having one of them be stolen or de- +stroyed will also make you revert to single-weapon combat. + +7.3. Armor (`[') + + Lots of unfriendly things lurk about; you need armor to pro- +tect yourself from their blows. Some types of armor offer better +protection than others. Your armor class is a measure of this +protection. Armor class (AC) is measured as in AD&D, with 10 be- +ing the equivalent of no armor, and lower numbers meaning better +armor. Each suit of armor which exists in AD&D gives the same +protection in NetHack. Here is an (incomplete) list of the armor +classes provided by various suits of armor: + + dragon scale mail 1 + plate mail 3 + crystal plate mail 3 + bronze plate mail 4 + splint mail 4 + banded mail 4 + dwarvish mithril-coat 4 + elven mithril-coat 5 + chain mail 5 + orcish chain mail 6 + scale mail 6 + dragon scales 7 + studded leather armor 7 + ring mail 7 + orcish ring mail 8 + leather armor 8 + leather jacket 9 + no armor 10 + + You can also wear other pieces of armor (ex. helmets, boots, +shields, cloaks) to lower your armor class even further, but you +can only wear one item of each category (one suit of armor, one +cloak, one helmet, one shield, and so on) at a time. + + If a piece of armor is enchanted, its armor protection will +be better (or worse) than normal, and its ``plus'' (or minus) +will subtract from your armor class. For example, a +1 chain +mail would give you better protection than normal chain mail, +lowering your armor class one unit further to 4. When you put on +a piece of armor, you immediately find out the armor class and +any ``plusses'' it provides. Cursed pieces of armor usually have +negative enchantments (minuses) in addition to being unremovable. + + Many types of armor are subject to some kind of damage like +rust. Such damage can be repaired. Some types of armor may in- +hibit spell casting. + + The commands to use armor are `W' (wear) and `T' (take off). +The `A' command can also be used to take off armor as well as +other worn items. + +7.4. Food (`%') + + Food is necessary to survive. If you go too long without +eating you will faint, and eventually die of starvation. Some +types of food will spoil, and become unhealthy to eat, if not +protected. Food stored in ice boxes or tins (``cans'') will usu- +ally stay fresh, but ice boxes are heavy, and tins take a while +to open. + + When you kill monsters, they usually leave corpses which are +also ``food.'' Many, but not all, of these are edible; some also +give you special powers when you eat them. A good rule of thumb +is ``you are what you eat.'' + + Some character roles and some monsters are vegetarian. Veg- +etarian monsters will typically never eat animal corpses, while +vegetarian players can, but with some rather unpleasant side-ef- +fects. + + You can name one food item after something you like to eat +with the fruit option. + + The command to eat food is `e'. + +7.5. Scrolls (`?') + + Scrolls are labeled with various titles, probably chosen by +ancient wizards for their amusement value (ex. ``READ ME,'' or +``THANX MAUD'' backwards). Scrolls disappear after you read them +(except for blank ones, without magic spells on them). + + One of the most useful of these is the scroll of identify, +which can be used to determine what another object is, whether it +is cursed or blessed, and how many uses it has left. Some ob- +jects of subtle enchantment are difficult to identify without +these. + + A mail daemon may run up and deliver mail to you as a scroll +of mail (on versions compiled with this feature). To use this +feature on versions where NetHack mail delivery is triggered by +electronic mail appearing in your system mailbox, you must let +NetHack know where to look for new mail by setting the ``MAIL'' +environment variable to the file name of your mailbox. You may +also want to set the ``MAILREADER'' environment variable to the +file name of your favorite reader, so NetHack can shell to it +when you read the scroll. On versions of NetHack where mail is +randomly generated internal to the game, these environment vari- +ables are ignored. You can disable the mail daemon by turning +off the mail option. + + The command to read a scroll is `r'. + +7.6. Potions (`!') + + Potions are distinguished by the color of the liquid inside +the flask. They disappear after you quaff them. + + Clear potions are potions of water. Sometimes these are +blessed or cursed, resulting in holy or unholy water. Holy water +is the bane of the undead, so potions of holy water are good +things to throw (`t') at them. It is also sometimes very useful +to dip (``#dip'') an object into a potion. + + The command to drink a potion is `q' (quaff). + +7.7. Wands (`/') + + Wands usually have multiple magical charges. Some types of +wands require a direction in which to zap them. You can also zap +them at yourself (just give a `.' or `s' for the direction). Be +warned, however, for this is often unwise. Other types of wands +don't require a direction. The number of charges in a wand is +random and decreases by one whenever you use it. + + When the number of charges left in a wand becomes zero, at- +tempts to use the wand will usually result in nothing happening. +Occasionally, however, it may be possible to squeeze the last few +mana points from an otherwise spent wand, destroying it in the +process. A wand may be recharged by using suitable magic, but +doing so runs the risk of causing it to explode. The chance for +such an explosion starts out very small and increases each time +the wand is recharged. + + In a truly desperate situation, when your back is up against +the wall, you might decide to go for broke and break your wand. +This is not for the faint of heart. Doing so will almost cer- +tainly cause a catastrophic release of magical energies. + + When you have fully identified a particular wand, inventory +display will include additional information in parentheses: the +number of times it has been recharged followed by a colon and +then by its current number of charges. A current charge count of +-1 is a special case indicating that the wand has been cancelled. + + The command to use a wand is `z' (zap). To break one, use +the `a' (apply) command. + +7.8. Rings (`=') + + Rings are very useful items, since they are relatively per- +manent magic, unlike the usually fleeting effects of potions, +scrolls, and wands. + + Putting on a ring activates its magic. You can wear only +two rings, one on each ring finger. + + Most rings also cause you to grow hungry more rapidly, the +rate varying with the type of ring. + + The commands to use rings are `P' (put on) and `R' (remove). + +7.9. Spellbooks (`+') + + Spellbooks are tomes of mighty magic. When studied with the +`r' (read) command, they transfer to the reader the knowledge of +a spell (and therefore eventually become unreadable) -- unless +the attempt backfires. Reading a cursed spellbook or one with +mystic runes beyond your ken can be harmful to your health! + + A spell (even when learned) can also backfire when you cast +it. If you attempt to cast a spell well above your experience +level, or if you have little skill with the appropriate spell +type, or cast it at a time when your luck is particularly bad, +you can end up wasting both the energy and the time required in +casting. + + Casting a spell calls forth magical energies and focuses +them with your naked mind. Some of the magical energy released +comes from within you. Casting temporarily drains your magical +power, which will slowly be recovered, and causes you to need ad- +ditional food. Casting of spells also requires practice. With +practice, your skill in each category of spell casting will im- +prove. Over time, however, your memory of each spell will dim, +and you will need to relearn it. + + Some spells require a direction in which to cast them, simi- +lar to wands. To cast one at yourself, just give a `.' or `s' +for the direction. A few spells require you to pick a target lo- +cation rather than just specify a particular direction. Other +spells don't require any direction or target. + + Just as weapons are divided into groups in which a character +can become proficient (to varying degrees), spells are similarly +grouped. Successfully casting a spell exercises its skill group; +using the `#enhance' command to advance a sufficiently exercised +skill will affect all spells within the group. Advanced skill +may increase the potency of spells, reduce their risk of failure +during casting attempts, and improve the accuracy of the estimate +for how much longer they will be retained in your memory. Skill +slots are shared with weapons skills. (See also the section on +``Weapon proficiency''.) + + Casting a spell also requires flexible movement, and wearing +various types of armor may interfere with that. + + The command to read a spellbook is the same as for scrolls, +`r' (read). The `+' command lists each spell you know along with + +its level, skill category, chance of failure when casting, and an +estimate of how strongly it is remembered. The `Z' (cast) com- +mand casts a spell. + +7.10. Tools (`(') + + Tools are miscellaneous objects with various purposes. Some +tools have a limited number of uses, akin to wand charges. For +example, lamps burn out after a while. Other tools are contain- +ers, which objects can be placed into or taken out of. + + The command to use tools is `a' (apply). + +7.10.1. Containers + + You may encounter bags, boxes, and chests in your travels. +A tool of this sort can be opened with the ``#loot'' extended +command when you are standing on top of it (that is, on the same +floor spot), or with the `a' (apply) command when you are carry- +ing it. However, chests are often locked, and are in any case +unwieldy objects. You must set one down before unlocking it by +using a key or lock-picking tool with the `a' (apply) command, by +kicking it with the `^D' command, or by using a weapon to force +the lock with the ``#force'' extended command. + + Some chests are trapped, causing nasty things to happen when +you unlock or open them. You can check for and try to deactivate +traps with the ``#untrap'' extended command. + +7.11. Amulets (`"') + + Amulets are very similar to rings, and often more powerful. +Like rings, amulets have various magical properties, some benefi- +cial, some harmful, which are activated by putting them on. + + Only one amulet may be worn at a time, around your neck. + + The commands to use amulets are the same as for rings, `P' +(put on) and `R' (remove). + +7.12. Gems (`*') + + Some gems are valuable, and can be sold for a lot of gold. +They are also a far more efficient way of carrying your riches. +Valuable gems increase your score if you bring them with you when +you exit. + + Other small rocks are also categorized as gems, but they are +much less valuable. All rocks, however, can be used as projec- +tile weapons (if you have a sling). In the most desperate of +cases, you can still throw them by hand. + +7.13. Large rocks (``') + + Statues and boulders are not particularly useful, and are +generally heavy. It is rumored that some statues are not what +they seem. + + Very large humanoids (giants and their ilk) have been known +to use boulders as weapons. + + For some configurations of the program, statues are no +longer shown as ``' but by the letter representing the monster +they depict instead. + +7.14. Gold (`$') + + Gold adds to your score, and you can buy things in shops +with it. There are a number of monsters in the dungeon that may +be influenced by the amount of gold you are carrying (shopkeepers +aside). + +8. Conduct + + As if winning NetHack were not difficult enough, certain +players seek to challenge themselves by imposing restrictions on +the way they play the game. The game automatically tracks some +of these challenges, which can be checked at any time with the +#conduct command or at the end of the game. When you perform an +action which breaks a challenge, it will no longer be listed. +This gives players extra ``bragging rights'' for winning the game +with these challenges. Note that it is perfectly acceptable to +win the game without resorting to these restrictions and that it +is unusual for players to adhere to challenges the first time +they win the game. + + Several of the challenges are related to eating behavior. +The most difficult of these is the foodless challenge. Although +creatures can survive long periods of time without food, there is +a physiological need for water; thus there is no restriction on +drinking beverages, even if they provide some minor food bene- +fits. Calling upon your god for help with starvation does not +violate any food challenges either. + + A strict vegan diet is one which avoids any food derived +from animals. The primary source of nutrition is fruits and veg- +etables. The corpses and tins of blobs (`b'), jellies (`j'), and +fungi (`F') are also considered to be vegetable matter. Certain +human food is prepared without animal products; namely, lembas +wafers, cram rations, food rations (gunyoki), K-rations, and C- +rations. Metal or another normally indigestible material eaten +while polymorphed into a creature that can digest it is also con- +sidered vegan food. Note however that eating such items still +counts against foodless conduct. + + Vegetarians do not eat animals; however, they are less se- +lective about eating animal byproducts than vegans. In addition +to the vegan items listed above, they may eat any kind of pudding +(`P') other than the black puddings, eggs and food made from eggs +(fortune cookies and pancakes), food made with milk (cream pies +and candy bars), and lumps of royal jelly. Monks are expected to +observe a vegetarian diet. + + Eating any kind of meat violates the vegetarian, vegan, and +foodless conducts. This includes tripe rations, the corpses or +tins of any monsters not mentioned above, and the various other +chunks of meat found in the dungeon. Swallowing and digesting a +monster while polymorphed is treated as if you ate the creature's +corpse. Eating leather, dragon hide, or bone items while poly- +morphed into a creature that can digest it, or eating monster +brains while polymorphed into a mind flayer, is considered eating +an animal, although wax is only an animal byproduct. + + Regardless of conduct, there will be some items which are +indigestible, and others which are hazardous to eat. Using a +swallow-and-digest attack against a monster is equivalent to eat- +ing the monster's corpse. Please note that the term ``vegan'' is +used here only in the context of diet. You are still free to +choose not to use or wear items derived from animals (e.g. +leather, dragon hide, bone, horns, coral), but the game will not +keep track of this for you. Also note that ``milky'' potions may +be a translucent white, but they do not contain milk, so they are +compatible with a vegan diet. Slime molds or player-defined +``fruits'', although they could be anything from ``cherries'' to +``pork chops'', are also assumed to be vegan. + + An atheist is one who rejects religion. This means that you +cannot #pray, #offer sacrifices to any god, #turn undead, or +#chat with a priest. Particularly selective readers may argue +that playing Monk or Priest characters should violate this con- +duct; that is a choice left to the player. Offering the Amulet +of Yendor to your god is necessary to win the game and is not +counted against this conduct. You are also not penalized for be- +ing spoken to by an angry god, priest(ess), or other religious +figure; a true atheist would hear the words but attach no special +meaning to them. + + Most players fight with a wielded weapon (or tool intended +to be wielded as a weapon). Another challenge is to win the game +without using such a wielded weapon. You are still permitted to +throw, fire, and kick weapons; use a wand, spell, or other type +of item; or fight with your hands and feet. + + In NetHack, a pacifist refuses to cause the death of any +other monster (i.e. if you would get experience for the death). +This is a particularly difficult challenge, although it is still +possible to gain experience by other means. + + An illiterate character cannot read or write. This includes +reading a scroll, spellbook, fortune cookie message, or t-shirt; +writing a scroll; or making an engraving of anything other than a +single ``x'' (the traditional signature of an illiterate person). +Reading an engraving, or any item that is absolutely necessary to +win the game, is not counted against this conduct. The identity +of scrolls and spellbooks (and knowledge of spells) in your +starting inventory is assumed to be learned from your teachers +prior to the start of the game and isn't counted. + + There are several other challenges tracked by the game. It +is possible to eliminate one or more species of monsters by geno- +cide; playing without this feature is considered a challenge. +When the game offers you an opportunity to genocide monsters, you +may respond with the monster type ``none'' if you want to de- +cline. You can change the form of an item into another item of +the same type (``polypiling'') or the form of your own body into +another creature (``polyself'') by wand, spell, or potion of +polymorph; avoiding these effects are each considered challenges. +Polymorphing monsters, including pets, does not break either of +these challenges. Finally, you may sometimes receive wishes; a +game without an attempt to wish for any items is a challenge, as +is a game without wishing for an artifact (even if the artifact +immediately disappears). When the game offers you an opportunity +to make a wish for an item, you may choose ``nothing'' if you +want to decline. + +9. Options + + Due to variations in personal tastes and conceptions of how +NetHack should do things, there are options you can set to change +how NetHack behaves. + +9.1. Setting the options + + Options may be set in a number of ways. Within the game, +the `O' command allows you to view all options and change most of +them. You can also set options automatically by placing them in +a configuration file, or in the NETHACKOPTIONS environment vari- +able. Some versions of NetHack also have front-end programs that +allow you to set options before starting the game or a global +configuration for system administrators. + +9.2. Using a configuration file + + The default name of the configuration file varies on differ- +ent operating systems. On DOS and Windows, it is ``defaults.nh'' +in the same folder as nethack.exe or nethackW.exe. On Unix, Linux +and Mac OS X it is ``.nethackrc'' in the user's home directory. +The file may not exist, but it is a normal ASCII text file and +can be created with any text editor. + + Any line in the configuration file starting with `#' is +treated as a comment. Empty lines are ignored. + + Any line beginning with `[' and ending in `]' is considered +a section marker. The text between the square brackets is the +section name. Lines after a section marker belong to that sec- +tion, and are ignored unless a CHOOSE -statement was used to se- +lect that section. Section names are case insensitive. + + You can use different configuration statements in the file, +some of which can be used multiple times. In general, the state- +ments are written in capital letters, followed by an equals sign, +followed by settings particular to that statement. Here is a list +of allowed statements: + +OPTIONS + There are two types of options, boolean and compound options. + Boolean options toggle a setting on or off, while compound op- + tions take more diverse values. Prefix a boolean option with + `no' or `!' to turn it off. For compound options, the option + name and value are separated by a colon. Some options are per- + sistent, and apply only to new games. You can specify multiple + OPTIONS statements, and multiple options in a single OPTIONS + statement. + + Example: + + OPTIONS=dogname:Fido + OPTIONS=!legacy,autopickup,pickup_types:$"=/!?+ + +HACKDIR + Default location of files NetHack needs. On Windows HACKDIR de- + faults to the location of the NetHack.exe or NetHackw.exe file + so setting HACKDIR to override that is not usually necessary or + recommended. + +LEVELDIR + The location that in-progress level files are stored. Defaults + to HACKDIR, must be writeable. + +SAVEDIR + The location where saved games are kept. Defaults to HACKDIR, + must be writeable. + +BONESDIR + The location that bones files are kept. Defaults to HACKDIR, + must be writeable. + +LOCKDIR + The location that file synchronization locks are stored. De- + faults to HACKDIR, must be writeable. + +TROUBLEDIR + The location that a record of game aborts and self-diagnosed + + game problems is kept. Defaults to HACKDIR, must be writeable. + +AUTOCOMPLETE + Enable or disable an extended command autocompletion. Autocom- + pletion has no effect for the X11 windowport. You can specify + multiple autocompletions. To enable autocompletion, list the + extended command. Prefix the command with ``!'' to disable the + autocompletion for that command. + + Example: + + AUTOCOMPLETE=zap,!annotate - Some characters can wield two weapons at once; use the `X' - command (or the ``#twoweapon'' extended command) to do so. +AUTOPICKUP_EXCEPTION + Set exceptions to the pickup_types option. See the ``Configur- + ing Autopickup Exceptions'' section. - W Wear armor. +BINDINGS + Change the key bindings of some special keys, menu accelera- + tors, or extended commands. You can specify multiple bindings. + Format is key followed by the command, separated by a colon. + See the ``Changing Key Bindings`` section for more information. + Example: + BIND=^X:getpos.autodescribe +CHOOSE + Chooses at random one of the comma-separated parameters as an + active section name. Lines in other sections are ignored. - NetHack 3.6 February 22, 2016 + Example: + OPTIONS=color + CHOOSE=char A,char B + [char A] + OPTIONS=role:arc,race:dwa,align:law,gender:fem + [char B] + OPTIONS=role:wiz,race:elf,align:cha,gender:mal +MSGTYPE + Change the way messages are shown in the top status line. See + the ``Configuring Message Types`` section. +MENUCOLOR + Highlight menu lines with different colors. See the ``Config- + uring Menu Colors`` section. +SYMBOLS + Override one or more symbols in the symbols files. See the + ``Modifying NetHack Symbols'' section. - NetHack Guidebook 15 + Example: + SYMBOLS=S_boulder:0 +WIZKIT + Wizard-mode extra items, in a text file containing item names, + one per line, up to a maximum of 128 lines. Each line is pro- + cessed by the function that handles wishing. - This command may also be used to put on an accessory (ring, - amulet, or blindfold). The prompt for which inventory item - to use will only list armor, but choosing an unlisted acces- - sory will attempt to put it on. (See the `P' command above. - It lists accessories as the inventory choices but will ac- - cept an item of armor and attempt to wear it.) + Example: - x Exchange your wielded weapon with the item in your alternate - weapon slot. + WIZKIT=~/wizkit.txt - The latter is used as your secondary weapon when engaging in - two-weapon combat. Note that if one of these slots is emp- - ty, the exchange still takes place. +SOUNDDIR + Define the directory that contains the sound files. See the + ``Configuring User Sounds'' section. - X Toggle two-weapon combat, if your character can do it. Also - available via the ``#twoweapon'' extended command. +SOUND + Define a sound mapping. See the ``Configuring User Sounds'' + section. - (In versions prior to 3.6 this was the command to switch - from normal play to "explore mode", also known as "discovery - mode", which has now been moved to ``#explore''.) + Here is a short example of config file contents: - ^X Display basic information about your character. + # Set your character's role, race, gender, and alignment. + OPTIONS=role:Valkyrie, race:Human, gender:female, align:lawful - Displays name, role, race, gender (unless role name makes - that redundant, such as Caveman or Priestess), and align- - ment, along with your patron deity and his or her opposi- - tion. It also shows most of the various items of informa- - tion from the status line(s) in a less terse form, including - several additional things which don't appear in the normal - status display due to space considerations. + # Turn on autopickup, and set automatically picked up object types + OPTIONS=autopickup,pickup_types:$"=/!?+ + # Show colored text if possible + OPTIONS=color + # Show lit corridors differently + OPTIONS=lit_corridor - z Zap a wand. + # No startup splash screen. Windows GUI only. + OPTIONS=!splash_screen - z. - to aim at yourself, use `.' for the direction. +9.3. Using the NETHACKOPTIONS environment variable - Z Zap (cast) a spell. + The NETHACKOPTIONS variable is a comma-separated list of +initial values for the various options. Some can only be turned +on or off. You turn one of these on by adding the name of the +option to the list, and turn it off by typing a `!' or ``no'' be- +fore the name. Others take a character string as a value. You +can set string options by typing the option name, a colon or +equals sign, and then the value of the string. The value is ter- +minated by the next comma or the end of string. - Z. - to cast at yourself, use `.' for the direction. + For example, to set up an environment variable so that ``au- +toquiver'' is on, ``autopickup'' is off, the name is set to +``Blue Meanie'', and the fruit is set to ``papaya'', you would +enter the command - ^Z Suspend the game (UNIX(R) versions with job control only). + % setenv NETHACKOPTIONS "autoquiver,\!autopickup,name:Blue Meanie,fruit:papaya" - : Look at what is here. +in csh (note the need to escape the ! since it's special to the +shell), or - ; Show what type of thing a visible symbol corresponds to. + $ NETHACKOPTIONS="autoquiver,!autopickup,name:Blue Meanie,fruit:papaya" + $ export NETHACKOPTIONS - , Pick up some things from the floor beneath you. +in sh or ksh. + + NETHACKOPTIONS can also be set to the full name of a config- +uration file you want to use (possibly preceded by an `@'). - May be preceded by `m' to force a selection menu. +9.4. Customization options - @ Toggle the autopickup option on and off. + Here are explanations of what the various options do. Char- +acter strings that are too long may be truncated. Some of the +options listed may be inactive in your dungeon. + Some options are persistent, and are saved and reloaded +along with the game. Changing a persistent option in the config- +uration file applies only to new games. + +acoustics + Enable messages about what your character hears (default on). + Note that this has nothing to do with your computer's audio ca- + pabilities. Persistent. + +align + Your starting alignment (align:lawful, align:neutral, or + align:chaotic). You may specify just the first letter. The + default is to randomly pick an appropriate alignment. If you + prefix the value with `!' or ``no'', you will exclude that + alignment from being picked randomly. Cannot be set with the + `O' command. Persistent. + +autodescribe + Automatically describe the terrain under cursor when asked to + get a location on the map. The whatis_coord option controls + whether the description includes map coordinates. + +autodig + Automatically dig if you are wielding a digging tool and moving + into a place that can be dug (default false). Persistent. + +autoopen + Walking into a door attempts to open it (default true). Persis- + tent. + +autopickup + Automatically pick up things onto which you move (default on). + Persistent. See pickup_types to refine the behavior. + +autoquiver + This option controls what happens when you attempt the `f' + (fire) command with an empty quiver (or quiver sack or have + nothing at the ready). When true, the computer will fill your + quiver or quiver sack or make ready some suitable weapon. Note + that it will not take into account the blessed/cursed status, + + enchantment, damage, or quality of the weapon; you are free to + manually fill your quiver or quiver sack or make ready with the + `Q' command instead. If no weapon is found or the option is + false, the `t' (throw) command is executed instead. Persis- + tent. (default false) + +blind + Start the character permanently blind. Persistent. (default + false) + +bones + Allow saving and loading bones files. Persistent. (default + true) + +boulder + Set the character used to display boulders (default is the + ``large rock'' class symbol, ``'). + +catname + Name your starting cat (ex. ``catname:Morris''). Cannot be set + with the `O' command. + +character + Synonym for ``role'' to pick the type of your character (ex. + ``character:Monk''). See role for more details. + +checkpoint + Save game state after each level change, for possible recovery + after program crash (default on). Persistent. + +checkspace + Check free disk space before writing files to disk (default + on). You may have to turn this off if you have more than 2 GB + free space on the partition used for your save and level files + (because too much space might overflow the calculation and end + up looking like insufficient space). Only applies when MFLOPPY + was defined during compilation. + +clicklook + Allows looking at things on the screen by navigating the mouse + over them and clicking the right mouse button (default off). + +cmdassist + Have the game provide some additional command assistance for + new players if it detects some anticipated mistakes (default + on). + +confirm + Have user confirm attacks on pets, shopkeepers, and other + peaceable creatures (default on). Persistent. + +dark_room + Show out-of-sight areas of lit rooms (default off). Persis- + tent. + +disclose + Controls what information the program reveals when the game + ends. Value is a space separated list of prompting/category + pairs (default is `ni na nv ng nc no', prompt with default re- + sponse of `n' for each candidate). Persistent. The possibili- + ties are: + + i - disclose your inventory; + a - disclose your attributes; + v - summarize monsters that have been vanquished; + g - list monster species that have been genocided; + c - display your conduct; + o - display dungeon overview. + + Each disclosure possibility can optionally be preceded by a + prefix which lets you refine how it behaves. Here are the + valid prefixes: + + y - prompt you and default to yes on the prompt; + n - prompt you and default to no on the prompt; + + - disclose it without prompting; + - - do not disclose it and do not prompt. + + The listing of vanquished monsters can be sorted, so there are + two additional choices for `v': + + ? - prompt you and default to ask on the prompt; + # - disclose it without prompting, ask for sort order. + + Asking refers to picking one of the orderings from a menu. The + `+' disclose without prompting choice, or being prompted and + answering `y' rather than `a', will default to showing monsters + in the traditional order, from high level to low level. + + Omitted categories are implicitly added with `n' prefix. Spec- + ified categories with omitted prefix implicitly use `+' prefix. + Order of the disclosure categories does not matter, program + display for end-of-game disclosure follows a set sequence. + + (ex. ``disclose:yi na +v -g o'') The example sets inventory to + prompt and default to yes, attributes to prompt and default to + no, vanquished to disclose without prompting, genocided to not + disclose and not prompt, conduct to implicitly prompt and de- + fault to no, and overview to disclose without prompting. + + Note that the vanquished monsters list includes all monsters + killed by traps and each other as well as by you. And the dun- + geon overview shows all levels you had visited but does not re- + veal things about them that you hadn't discovered. + +dogname + Name your starting dog (ex. ``dogname:Fang''). Cannot be set + with the `O' command. + +extmenu + Changes the extended commands interface to pop-up a menu of + available commands. It is keystroke compatible with the tradi- + tional interface except that it does not require that you hit + Enter. It is implemented only by the tty port (default off), + when the game has been compiled to support tty graphics. + +female + An obsolete synonym for ``gender:female''. Cannot be set with + the `O' command. + +fixinv + An object's inventory letter sticks to it when it's dropped + (default on). If this is off, dropping an object shifts all + the remaining inventory letters. Persistent. + +force_invmenu + Commands asking for an inventory item show a menu instead of a + text query with possible menu letters. Default is off. + +fruit + Name a fruit after something you enjoy eating (ex. ``fruit:man- + go'') (default ``slime mold''). Basically a nostalgic whimsy + that NetHack uses from time to time. You should set this to + something you find more appetizing than slime mold. Apples, + oranges, pears, bananas, and melons already exist in NetHack, + so don't use those. + +gender + Your starting gender (gender:male or gender:female). You may + specify just the first letter. Although you can still denote + your gender using the ``male'' and ``female'' options, the + ``gender'' option will take precedence. The default is to ran- + domly pick an appropriate gender. If you prefix the value with + `!' or ``no'', you will exclude that gender from being picked + randomly. Cannot be set with the `O' command. Persistent. + +goldX + When filtering objects based on bless/curse state (BUCX), + whether to treat gold pieces as X (unknown bless/curse state, + when `on') or U (known to be uncursed, when `off', the de- + fault). Gold is never blessed or cursed, but it is not de- + scribed as ``uncursed'' even when the implicit_uncursed option + is `off'. + +help + If more information is available for an object looked at with + the `/' command, ask if you want to see it (default on). Turn- + ing help off makes just looking at things faster, since you + aren't interrupted with the ``More info?'' prompt, but it also + means that you might miss some interesting and/or important in- + formation. Persistent. + +herecmd_menu + When using a windowport that supports mouse and clicking on + yourself or next to you, show a menu of possible actions for + the location. Same as herecmdmenu and therecmdmenu commands. + +hilite_pet + Visually distinguish pets from similar animals (default off). + The behavior of this option depends on the type of windowing + you use. In text windowing, text highlighting or inverse video + is often used; with tiles, generally displays a heart symbol + near pets. + +hilite_pile + Visually distinguish piles of objects from individual objects + (default off). The behavior of this option depends on the type + of windowing you use. In text windowing, text highlighting or + inverse video is often used; with tiles, generally displays a + small plus-symbol beside the object on the top of the pile. + +hitpointbar + Show a hit point bar graph behind your name and title. Only + available for TTY and Windows GUI, and only when statushilites + is on. + +horsename + Name your starting horse (ex. ``horsename:Trigger''). Cannot + be set with the `O' command. + +ignintr + Ignore interrupt signals, including breaks (default off). Per- + sistent. + +implicit_uncursed + Omit "uncursed" from inventory lists, if possible (default on). + +legacy + Display an introductory message when starting the game (default + on). Persistent. + +lit_corridor + Show corridor squares seen by night vision or a light source + held by your character as lit (default off). Persistent. + +lootabc + Use the old `a', `b', and `c' keyboard shortcuts when looting, + rather than the mnemonics `o', `i', and `b' (default off). + Persistent. + +mail + Enable mail delivery during the game (default on). Persistent. + +male + An obsolete synonym for ``gender:male''. Cannot be set with + the `O' command. + +mention_walls + Give feedback when walking against a wall (default off). + +menucolors + Enable coloring menu lines (default off). See ``Configuring + Menu Colors'' on how to configure the colors. + +menustyle + Controls the interface used when you need to choose various ob- + jects (in response to the Drop command, for instance). The + value specified should be the first letter of one of the fol- + lowing: traditional, combination, full, or partial. Tradi- + tional was the only interface available for early versions; it + consists of a prompt for object class characters, followed by + an object-by-object prompt for all items matching the selected + object class(es). Combination starts with a prompt for object + class(es) of interest, but then displays a menu of matching ob- + jects rather than prompting one-by-one. Full displays a menu + of object classes rather than a character prompt, and then a + menu of matching objects for selection. Partial skips the ob- + ject class filtering and immediately displays a menu of all ob- + jects. Persistent. + +menu_deselect_all + Menu character accelerator to deselect all items in a menu. + Implemented by the Amiga, Gem, X11 and tty ports. Default '-'. + +menu_deselect_page + Menu character accelerator to deselect all items on this page + of a menu. Implemented by the Amiga, Gem and tty ports. De- + fault '\'. + +menu_first_page + Menu character accelerator to jump to the first page in a menu. + Implemented by the Amiga, Gem and tty ports. Default '^'. + +menu_headings + Controls how the headings in a menu are highlighted. Values + are 'none', 'bold', 'dim', 'underline', 'blink', or 'inverse'. + Not all ports can actually display all types. + +menu_invert_all + Menu character accelerator to invert all items in a menu. Im- + plemented by the Amiga, Gem, X11 and tty ports. Default '@'. + +menu_invert_page + Menu character accelerator to invert all items on this page of + a menu. Implemented by the Amiga, Gem and tty ports. Default + '~'. + +menu_last_page + Menu character accelerator to jump to the last page in a menu. + Implemented by the Amiga, Gem and tty ports. Default '|'. + +menu_next_page + Menu character accelerator to goto the next menu page. Imple- + mented by the Amiga, Gem and tty ports. Default '>'. + +menu_objsyms + Show object symbols in menu headings in menus where the object + symbols act as menu accelerators (default off). + +menu_overlay + Do not clear the screen before drawing menus, and align menus + to the right edge of the screen. Only for the tty port. (de- + fault on) + +menu_previous_page + Menu character accelerator to goto the previous menu page. Im- + plemented by the Amiga, Gem and tty ports. Default '<'. + +menu_search + Menu character accelerator to search for a menu item. Imple- + mented by the Amiga, Gem, X11 and tty ports. Default ':'. + +menu_select_all + Menu character accelerator to select all items in a menu. Im- + plemented by the Amiga, Gem, X11 and tty ports. Default '.'. + +menu_select_page + Menu character accelerator to select all items on this page of + a menu. Implemented by the Amiga, Gem and tty ports. Default + ','. + +msghistory + The number of top line messages to save (and recall with ^P) + (default 20). Cannot be set with the `O' command. + +msg_window + Allows you to change the way recalled messages are displayed. + (It is currently implemented for tty only.) The possible val- + ues are: + + s - single message (default; only choice prior to 3.4.0); + c - combination, two messages as `single', then as `full'; + f - full window, oldest message first; + r - full window reversed, newest message first. + + For backward compatibility, no value needs to be specified + (which defaults to `full'), or it can be negated (which de- + faults to `single'). + +name + Set your character's name (defaults to your user name). You + can also set your character's role by appending a dash and one + or more letters of the role (that is, by suffixing one of -A -B + -C -H -K -M -P -Ra -Ro -S -T -V -W). If -@ is used for the + role, then a random one will be automatically chosen. Cannot + + be set with the `O' command. + +news + Read the NetHack news file, if present (default on). Since the + news is shown at the beginning of the game, there's no point in + setting this with the `O' command. + +nudist + Start the character with no armor (default false). Persistent. + +null + Send padding nulls to the terminal (default on). Persistent. + +number_pad + Use digit keys instead of letters to move (default 0 or off). + Valid settings are: + + 0 - move by letters; `yuhjklbn' + 1 - move by numbers; digit `5' acts as `G' movement prefix + 2 - like 1 but `5' works as `g' prefix instead of as `G' + 3 - by numbers using phone key layout; 123 above, 789 below + 4 - combines 3 with 2; phone layout plus MSDOS compatibility + -1 - by letters but use `z' to go northwest, `y' to zap wands + + For backward compatibility, omitting a value is the same as + specifying 1 and negating number_pad is the same as specifying + 0. (Settings 2 and 4 are for compatibility with MSDOS or old + PC Hack; in addition to the different behavior for `5', `Alt-5' + acts as `G' and `Alt-0' acts as `I'. Setting -1 is to accommo- + date some QWERTZ keyboards which have the location of the `y' + and `z' keys swapped.) When moving by numbers, to enter a + count prefix for those commands which accept one (such as + ``12s'' to search twelve times), precede it with the letter `n' + (``n12s''). + +packorder + Specify the order to list object types in (default + ``")[%?+!=/(*`0_''). The value of this option should be a + string containing the symbols for the various object types. + Any omitted types are filled in at the end from the previous + order. + +paranoid_confirmation + A space separated list of specific situations where alternate + prompting is desired. The default is paranoid_confirma- + tion:pray. + + Confirm - for any prompts which are set to require "yes" + rather than 'y', also require "no" to reject in- + stead of accepting any non-yes response as no + quit - require "yes" rather than 'y' to confirm quitting + the game or switching into non-scoring explore + mode; + die - require "yes" rather than 'y' to confirm dying + + (not useful in normal play; applies to explore + mode); + bones - require "yes" rather than 'y' to confirm saving + bones data when dying in debug mode; + attack - require "yes" rather than 'y' to confirm attack- + ing a peaceful monster; + wand-break - require "yes" rather than 'y' to confirm breaking + a wand; + Were-change - require "yes" rather than 'y' to confirm changing + form due to lycanthropy when hero has polymorph + control; + pray - require 'y' to confirm an attempt to pray rather + than immediately praying; on by default; + Remove - require selection from inventory for 'R' and 'T' + commands even when wearing just one applicable + item. + all - turn on all of the above. + + By default, the pray choice is enabled, the others disabled. + To disable it without setting any of the other choices, use + ``paranoid_confirmation:none''. To keep it enabled while set- + ting any of the others, include it in the list, such as ``para- + noid_confirmation:attack pray Remove''. + +perm_invent + If true, always display your current inventory in a window. + This only makes sense for windowing system interfaces that im- + plement this feature. Persistent. + +pettype + Specify the type of your initial pet, if you are playing a + character class that uses multiple types of pets; or choose to + have no initial pet at all. Possible values are ``cat'', + ``dog'', ``horse'', and ``none''. If the choice is not allowed + for the role you are currently playing, it will be silently ig- + nored. For example, ``horse'' will only be honored when play- + ing a knight. Cannot be set with the `O' command. + +pickup_burden + When you pick up an item that would exceed this encumbrance + level (Unencumbered, Burdened, streSsed, straiNed, overTaxed, + or overLoaded), you will be asked if you want to continue. + (Default `S'). Persistent. + +pickup_thrown + If this option is on and autopickup is also on, try to pick up + things that you threw, even if they aren't in pickup_types or + match an autopickup exception. Default is on. Persistent. + +pickup_types + Specify the object types to be picked up when autopickup is on. + Default is all types. You can use autopickup_exception config- + uration file lines to further refine autopickup behavior. Per- + sistent. + +pile_limit + When walking across a pile of objects on the floor, threshold + at which the message "there are few/several/many objects here" + is given instead of showing a popup list of those objects. A + value of 0 means "no limit" (always list the objects); a value + of 1 effectively means "never show the objects" since the pile + size will always be at least that big; default value is 5. + Persistent. + +playmode + Values are `normal', `explore', or `debug'. Allows selection + of explore mode (also known as discovery mode) or debug mode + (also known as wizard mode) instead of normal play. Debug mode + might only be allowed for someone logged in under a particular + user name (on multi-user systems) or specifying a particular + character name (on single-user systems) or it might be disabled + entirely. Requesting it when not allowed or not possible re- + sults in explore mode instead. Default is normal play. + +pushweapon + Using the `w' (wield) command when already wielding something + pushes the old item into your alternate weapon slot (default + off). Likewise for the `a' (apply) command if it causes the + applied item to become wielded. Persistent. + +race + Selects your race (for example, ``race:human''). Default is + random. If you prefix the value with `!' or ``no'', you will + exclude that race from being picked randomly. Cannot be set + with the `O' command. Persistent. + +rest_on_space + Make the space bar a synonym for the `.' (#wait) command (de- + fault off). Persistent. + +role + Pick your type of character (ex. ``role:Samurai''); synonym for + ``character''. See ``name'' for an alternate method of speci- + fying your role. Normally only the first letter of the value + is examined; `r' is an exception with ``Rogue'', ``Ranger'', + and ``random'' values. If you prefix the value with `!' or + ``no'', you will exclude that role from being picked randomly. + Cannot be set with the `O' command. Persistent. + +roguesymset + This option may be used to select one of the named symbol sets + found within ``symbols'' to alter the symbols displayed on the + screen on the rogue level. + +rlecomp + When writing out a save file, perform run length compression of + the map. Not all ports support run length compression. It has + no effect on reading an existing save file. + +runmode + Controls the amount of screen updating for the map window when + engaged in multi-turn movement (running via shift+direction or + control+direction and so forth, or via the travel command or + mouse click). The possible values are: + + teleport - update the map after movement has finished; + run - update the map after every seven or so steps; + walk - update the map after each step; + crawl - like walk, but pause briefly after each step. + + This option only affects the game's screen display, not the ac- + tual results of moving. The default is `run'; versions prior + to 3.4.1 used `teleport' only. Whether or not the effect is + noticeable will depend upon the window port used or on the type + of terminal. Persistent. + +safe_pet + Prevent you from (knowingly) attacking your pets (default on). + Persistent. + +scores + Control what parts of the score list you are shown at the end + (ex. ``scores:5 top scores/4 around my score/own scores''). + Only the first letter of each category (`t', `a', or `o') is + necessary. Persistent. + +showexp + Show your accumulated experience points on bottom line (default + off). Persistent. + +showrace + Display yourself as the glyph for your race, rather than the + glyph for your role (default off). Note that this setting af- + fects only the appearance of the display, not the way the game + treats you. Persistent. + +showscore + Show your approximate accumulated score on bottom line (default + off). Persistent. + +silent + Suppress terminal beeps (default on). Persistent. + +sortloot + Controls the sorting behavior of the pickup lists for inventory + and #loot commands and some others. Persistent. The possible + values are: + + full - always sort the lists; + loot - only sort the lists that don't use inventory letters, + like with the #loot and pickup commands; + none - show lists the traditional way without sorting. + +sortpack + Sort the pack contents by type when displaying inventory (de- + fault on). Persistent. + +sparkle + Display a sparkly effect when a monster (including yourself) is + hit by an attack to which it is resistant (default on). Per- + sistent. + +standout + Boldface monsters and ``--More--'' (default off). Persistent. + +statushilites + Controls how many turns status hilite behaviors highlight the + field. If negated or set to zero, disables status hiliting. + See ``Configuring Status Hilites'' for further information. + +status_updates + Allow updates to the status lines at the bottom of the screen + (default true). + +suppress_alert + This option may be set to a NetHack version level to suppress + alert notification messages about feature changes for that and + prior versions (ex. ``suppress_alert:3.3.1''). + +symset + This option may be used to select one of the named symbol sets + found within ``symbols'' to alter the symbols displayed on the + screen. Use ``symset:default'' to explicitly select the de- + fault symbols. + +time + Show the elapsed game time in turns on bottom line (default + off). Persistent. + +timed_delay + When pausing momentarily for display effect, such as with ex- + plosions and moving objects, use a timer rather than sending + extra characters to the screen. (Applies to ``tty'' interface + only; ``X11'' interface always uses a timer based delay. The + default is on if configured into the program.) Persistent. + +tombstone + Draw a tombstone graphic upon your death (default on). Persis- + tent. + +toptenwin + Put the ending display in a NetHack window instead of on stdout + (default off). Setting this option makes the score list visi- + ble when a windowing version of NetHack is started without a + parent window, but it no longer leaves the score list around + after game end on a terminal or emulating window. + +travel + Allow the travel command (default on). Turning this option off + will prevent the game from attempting unintended moves if you + make inadvertent mouse clicks on the map window. Persistent. + +verbose + Provide more commentary during the game (default on). Persis- + tent. + +whatis_coord + When using the `/' or `;' commands to look around on the map + with autodescribe on, display coordinates after the descrip- + tion. Also works in other situations where you are asked to + pick a location. + + The possible settings are: + + c - compass ('east' or '3s' or '2n,4w'); + f - full compass ('east' or '3south' or '2north,4west'); + m - map (map column x=0 is not used); + s - screen [row,column] (row is offset to match tty usage); + n - none (no coordinates shown) [default]. + + The whatis_coord option is also used with the `/m', `/M', `/o', + and `/O' sub-commands of `/', where the `none' setting is over- + ridden with `map'. + +whatis_filter + When getting a location on the map, and using the keys to cycle + through next and previous targets, allows filtering the possi- + ble targets. + + n - no filtering [default] + v - in view only + a - in same area only + + The area-filter tries to be slightly predictive - if you're + standing on a doorway, it will consider the area on the side of + the door you were last moving towards. + + Filtering can also be changed when getting a location with the + ``getpos.filter'' key. + +whatis_menu + When getting a location on the map, and using a key to cycle + through next and previous targets, use a menu instead to pick a + target. (default off) + +whatis_moveskip + When getting a location on the map, and using shifted movement + keys or meta-digit keys to fast-move, instead of moving 8 units + at a time, move by skipping the same glyphs. (default off) + +windowtype + Select which windowing system to use, such as ``tty'' or + ``X11'' (default depends on version). Cannot be set with the + `O' command. + +zerocomp + When writing out a save file, perform zero-comp compression of + the contents. Not all ports support zero-comp compression. It + has no effect on reading an existing save file. + +9.5. Window Port Customization options + + Here are explanations of the various options that are used +to customize and change the characteristics of the windowtype +that you have chosen. Character strings that are too long may be +truncated. Not all window ports will adjust for all settings +listed here. You can safely add any of these options to your +config file, and if the window port is capable of adjusting to +suit your preferences, it will attempt to do so. If it can't it +will silently ignore it. You can find out if an option is sup- +ported by the window port that you are currently using by check- +ing to see if it shows up in the Options list. Some options are +dynamic and can be specified during the game with the `O' com- +mand. + +align_message + Where to align or place the message window (top, bottom, left, + or right) + +align_status + Where to align or place the status window (top, bottom, left, + or right). + +ascii_map + If NetHack can, it should display an ascii character map if it + can. + +color + If NetHack can, it should display color if it can for different + monsters, objects, and dungeon features + +eight_bit_tty + If NetHack can, it should pass eight-bit character values (for + example, specified with the traps option) straight through to + your terminal (default off). + +font_map + if NetHack can, it should use a font by the chosen name for the + map window. + +font_menu + If NetHack can, it should use a font by the chosen name for + menu windows. + +font_message + If NetHack can, it should use a font by the chosen name for the + message window. + +font_status + If NetHack can, it should use a font by the chosen name for the + status window. + +font_text + If NetHack can, it should use a font by the chosen name for + text windows. + +font_size_map + If NetHack can, it should use this size font for the map win- + dow. - __________ - (R)UNIX is a registered trademark of AT&T. +font_size_menu + If NetHack can, it should use this size font for menu windows. +font_size_message + If NetHack can, it should use this size font for the message + window. + +font_size_status + If NetHack can, it should use this size font for the status + window. + +font_size_text + If NetHack can, it should use this size font for text windows. + +fullscreen + If NetHack can, it should try and display on the entire screen + rather than in a window. + +large_font + If NetHack can, it should use a large font. + +map_mode + If NetHack can, it should display the map in the manner speci- + fied. + +mouse_support + Allow use of the mouse for input and travel. + +player_selection + If NetHack can, it should pop up dialog boxes, or use prompts + for character selection. + +popup_dialog + If NetHack can, it should pop up dialog boxes for input. + +preload_tiles + If NetHack can, it should preload tiles into memory. For exam- + ple, in the protected mode MSDOS version, control whether tiles + + get pre-loaded into RAM at the start of the game. Doing so en- + hances performance of the tile graphics, but uses more memory. + (default on). Cannot be set with the `O' command. + +scroll_amount + If NetHack can, it should scroll the display by this number of + cells when the hero reaches the scroll_margin. + +scroll_margin + If NetHack can, it should scroll the display when the hero or + cursor is this number of cells away from the edge of the win- + dow. - NetHack 3.6 February 22, 2016 +selectsaved + If NetHack can, it should display a menu of existing saved + games for the player to choose from at game startup, if it can. + Not all ports support this option. +softkeyboard + Display an onscreen keyboard. Handhelds are most likely to + support this option. + +splash_screen + If NetHack can, it should display an opening splash screen when + it starts up (default yes). + +tiled_map + If NetHack can, it should display a tiled map if it can. + +tile_file + Specify the name of an alternative tile file to override the + default. + +tile_height + Specify the preferred height of each tile in a tile capable + port. + +tile_width + Specify the preferred width of each tile in a tile capable port + +use_darkgray + Use bold black instead of blue for black glyphs (TTY only). + +use_inverse + If NetHack can, it should display inverse when the game speci- + fies it. + +vary_msgcount + If NetHack can, it should display this number of messages at a + time in the message window. + +windowcolors + If NetHack can, it should display windows with the specified + foreground/background colors if it can. + +wraptext + If NetHack can, it should wrap long lines of text if they don't + fit in the visible area of the window. + +9.6. Platform-specific Customization options + + Here are explanations of options that are used by specific +platforms or ports to customize and change the port behavior. + +altkeyhandler + Select an alternate keystroke handler dll to load (Win32 tty + NetHack only). The name of the handler is specified without + the .dll extension and without any path information. Cannot be + set with the `O' command. + +altmeta + On Amiga, this option controls whether typing `Alt' plus anoth- + er key functions as a meta-shift for that key (default on). + +altmeta + On other (non-Amiga) systems where this option is available, it + can be set to tell NetHack to convert a two character sequence + beginning with ESC into a meta-shifted version of the second + character (default off). + + This conversion is only done for commands, not for other input + prompts. Note that typing one or more digits as a count prefix + prior to a command--preceded by n if the number_pad option is + set--is also subject to this conversion, so attempting to abort + the count by typing ESC will leave NetHack waiting for another + character to complete the two character sequence. Type a sec- + ond ESC to finish cancelling such a count. At other prompts a + single ESC suffices. + +BIOS + Use BIOS calls to update the screen display quickly and to read + the keyboard (allowing the use of arrow keys to move) on ma- + chines with an IBM PC compatible BIOS ROM (default off, OS/2, + PC, and ST NetHack only). + +flush + (default off, AMIGA NetHack only). + +MACgraphics + (default on, Mac NetHack only). + +page_wait + (default on, Mac NetHack only). + +rawio + Force raw (non-cbreak) mode for faster output and more bullet- + proof input (MS-DOS sometimes treats `^P' as a printer toggle + without it) (default off, OS/2, PC, and ST NetHack only). + Note: DEC Rainbows hang if this is turned on. Cannot be set + + with the `O' command. + +soundcard + (default on, PC NetHack only). Cannot be set with the `O' com- + mand. + +subkeyvalue + (Win32 tty NetHack only). May be used to alter the value of + keystrokes that the operating system returns to NetHack to help + compensate for international keyboard issues. OPTIONS=subkey- + value:171/92 will return 92 to NetHack, if 171 was originally + going to be returned. You can use multiple subkeyvalue state- + ments in the config file if needed. Cannot be set with the `O' + command. + +video + Set the video mode used (PC NetHack only). Values are `autode- + tect', `default', or `vga'. Setting `vga' (or `autodetect' + with vga hardware present) will cause the game to display + tiles. Cannot be set with the `O' command. + +videocolors + Set the color palette for PC systems using NO_TERMS (default + 4-2-6-1-5-3-15-12-10-14-9-13-11, (PC NetHack only). The order + of colors is red, green, brown, blue, magenta, cyan, + bright.white, bright.red, bright.green, yellow, bright.blue, + bright.magenta, and bright.cyan. Cannot be set with the `O' + command. + +videoshades + Set the intensity level of the three gray scales available (de- + fault dark normal light, PC NetHack only). If the game display + is difficult to read, try adjusting these scales; if this does + not correct the problem, try !color. Cannot be set with the + `O' command. + +9.7. Regular Expressions + + Regular expressions are normally POSIX extended regular ex- +pressions. It is possible to compile NetHack without regular ex- +pression support on a platform where there is no regular expres- +sion library. While this is not true of any modern platform, if +your NetHack was built this way, patterns are instead glob pat- +terns. This applies to Autopickup exceptions, Message types, Menu +colors, and User sounds. + +9.8. Configuring Autopickup Exceptions + + You can further refine the behavior of the autopickup option +beyond what is available through the pickup_types option. + + By placing autopickup_exception lines in your configuration +file, you can define patterns to be checked when the game is +about to autopickup something. + +autopickup_exception + Sets an exception to the pickup_types option. The autopick- + up_exception option should be followed by a regular expression + to be used as a pattern to match against the singular form of + the description of an object at your location. + + In addition, some characters are treated specially if they oc- + cur as the first character in the pattern, specifically: + + < - always pickup an object that matches rest of pattern; + > - never pickup an object that matches rest of pattern. + + A `never pickup' rule takes precedence over an `always pickup' + rule if both match. + + Exceptions can be set with the `O' command, but ones set that + way will not be preserved across saves and restores. + +Here are some examples: + + autopickup_exception="<*arrow" + autopickup_exception=">*corpse" + autopickup_exception=">* cursed*" + + The first example above will result in autopickup of any +type of arrow. The second example results in the exclusion of +any corpse from autopickup. The last example results in the ex- +clusion of items known to be cursed from autopickup. + +9.9. Changing Key Bindings + + It is possible to change the default key bindings of some +special commands, menu accelerator keys, and extended commands, +by using BIND stanzas in the configuration file. Format is key, +followed by the command to bind to, separated by a colon. The key +can be a single character (``x''), a control key (``^X'', ``C- +x''), a meta key (``M-x''), or a three-digit decimal ASCII code. + + For example: + + BIND=^X:getpos.autodescribe + BIND={:menu_first_page + BIND=v:loot + +Extended command keys + You can bind multiple keys to the same extended command. Unbind + a key by using ``nothing'' as the extended command to bind to. + You can also bind the ``'', ``'', and ``'' + keys. + +Menu accelerator keys + The menu control or accelerator keys can also be rebound via + OPTIONS-lines in the config file. You cannot bind object sym- + bols into menu accelerators. + +Special command keys + Below are the special commands you can rebind. Some of them can + be bound to same keys with no problems, others are in the same + "context", and if bound to same keys, only one of those com- + mands will be available. Special command can only be bound to a + single key. + +count + Prefix key to start a count, to repeat a command this many + times. With number_pad only. Default is 'n'. + +doinv + Show inventory. With number_pad only. Default is '0'. + +fight + Prefix key to force fight a direction. Default is 'F'. + +fight.numpad + Prefix key to force fight a direction. With number_pad only. + Default is '-'. + +getdir.help + When asked for a direction, the key to show the help. Default + is '?'. + +getdir.self + When asked for a direction, the key to target yourself. Default + is '.'. + +getdir.self2 + When asked for a direction, the key to target yourself. Default + is 's'. +getpos.autodescribe + When asked for a location, the key to toggle autodescribe. De- + fault is '#'. +getpos.all.next + When asked for a location, the key to go to next closest inter- + esting thing. Default is 'a'. +getpos.all.prev + When asked for a location, the key to go to previous closest + interesting thing. Default is 'A'. - NetHack Guidebook 16 +getpos.door.next + When asked for a location, the key to go to next closest door + or doorway. Default is 'd'. +getpos.door.prev + When asked for a location, the key to go to previous closest + door or doorway. Default is 'D'. +getpos.help + When asked for a location, the key to show help. Default is + '?'. - ^ Ask for the type of a trap you found earlier. +getpos.mon.next + When asked for a location, the key to go to next closest mon- + ster. Default is 'm'. - ) Tell what weapon you are wielding. +getpos.mon.prev + When asked for a location, the key to go to previous closest + monster. Default is 'M'. - [ Tell what armor you are wearing. +getpos.obj.next + When asked for a location, the key to go to next closest ob- + ject. Default is 'o'. - = Tell what rings you are wearing. +getpos.obj.prev + When asked for a location, the key to go to previous closest + object. Default is 'O'. - " Tell what amulet you are wearing. +getpos.menu + When asked for a location, and using one of the next or previ- + ous keys to cycle through targets, toggle showing a menu in- + stead. Default is '!'. - ( Tell what tools you are using. +getpos.moveskip + When asked for a location, and using the shifted movement keys + or meta-digit keys to fast-move around, move by skipping the + same glyphs instead of by 8 units. Default is '*'. - * Tell what equipment you are using. +getpos.filter + When asked for a location, change the filtering mode when using + one of the next or previous keys to cycle through targets. Tog- + gles between no filtering, in view only, and in the same area + only. Default is '"'. - Combines the preceding five type-specific commands into one. +getpos.pick + When asked for a location, the key to choose the location, and + possibly ask for more info. Default is '.'. - $ Count your gold pieces. +getpos.pick.once + When asked for a location, the key to choose the location, and + skip asking for more info. Default is ','. - + List the spells you know. +getpos.pick.quick + When asked for a location, the key to choose the location, skip + asking for more info, and exit the location asking loop. De- + fault is ';'. - Using this command, you can also rearrange the order in - which your spells are listed, either by sorting the entire - list or by picking one spell from the menu then picking an- - other to swap places with it. Swapping pairs of spells - changes their casting letters, so the change lasts after the - current `+' command finishes. Sorting the whole list is - temporary. To make the most recent sort order persist be- - yond the current `+' command, choose the sort option again - and then pick "reassign casting letters". (Any spells - learned after that will be added to the end of the list - rather than be inserted into the sorted ordering.) +getpos.pick.verbose + When asked for a location, the key to choose the location, and + show more info without asking. Default is ':'. - \ Show what types of objects have been discovered. +getpos.self + When asked for a location, the key to go to your location. De- + fault is '@'. - ` Show discovered types for one class of objects. +getpos.unexplored.next + When asked for a location, the key to go to next closest unex- + plored location. Default is 'x'. - ! Escape to a shell. +getpos.unexplored.prev + When asked for a location, the key to go to previous closest + unexplored location. Default is 'X'. - # Perform an extended command. +getpos.valid + When asked for a location, the key to go to show valid target + locations. Default is '$'. - As you can see, the authors of NetHack used up all the let- - ters, so this is a way to introduce the less frequently used - commands. What extended commands are available depends on - what features the game was compiled with. +getpos.valid.next + When asked for a location, the key to go to next closest valid + location. Default is 'z'. - #adjust - Adjust inventory letters (most useful when the fixinv option - is ``on''). +getpos.valid.prev + When asked for a location, the key to go to previous closest + valid location. Default is 'Z'. - This command allows you to move an item from one particular - inventory slot to another so that it has a letter which is - more meaningful for you or that it will appear in a particu- - lar location when inventory listings are displayed. ``#ad- - just'' can also be used to split a stack of objects; when +nopickup + Prefix key to move without picking up items. Default is 'm'. +redraw + Key to redraw the screen. Default is '^R'. - NetHack 3.6 February 22, 2016 +redraw.numpad + Key to redraw the screen. With number_pad only. Default is + '^L'. +repeat + Key to repeat previous command. Default is '^A'. +reqmenu + Prefix key to request menu from some commands. Default is 'm'. +run + Prefix key to run towards a direction. Default is 'G'. +run.nopickup + Prefix key to run towards a direction without picking up items + on the way. Default is 'M'. - NetHack Guidebook 17 +run.numpad + Prefix key to run towards a direction. With number_pad only. + Default is '5'. +rush + Prefix key to rush towards a direction. Default is 'g'. +9.10. Configuring Message Types - choosing the item to adjust, enter a count prior to its let- - ter. + You can change the way the messages are shown in the message +area, when the message matches a user-defined pattern. - #annotate - Allows you to specify one line of text to associate with the - current dungeon level. All levels with annotations are dis- - played by the ``#overview'' command. + In general, the config file entries to configure the message +types look like this: MSGTYPE=type "pattern" - #chat - Talk to someone. +type - how the message should be shown; +pattern - the pattern to match. - #conduct - List voluntary challenges you have maintained. + The pattern should be a regular expression. - See the section below entitled ``Conduct'' for details. + Allowed types are: - #dip - Dip an object into something. + show - show message normally. + hide - never show the message. + stop - wait for user with more-prompt. + norep - show the message once, but not again if no other message is shown in between. - #enhance - Advance or check weapon and spell skills. + Here's an example of message types using NetHack's internal + pattern matching facility: - #exploremode - Enter the explore mode. + MSGTYPE=stop "You feel hungry." + MSGTYPE=hide "You displaced *." - #force - Force a lock. + specifies that whenever a message "You feel hungry" is shown, + the user is prompted with more-prompt, and a message matching + "You displaced ." is not shown at all. - #invoke - Invoke an object's special powers. + The order of the defined MSGTYPE-lines is important; the last + matching rule is used. Put the general case first, exceptions + below them. - #jump - Jump to another location. +9.11. Configuring Menu Colors - #kick - Kick something. + Some platforms allow you to define colors used in menu lines +when the line matches a user-defined pattern. At this time the +tty, win32tty and win32gui support this. - #loot - Loot a box or bag on the floor beneath you, or the saddle - from a steed standing next to you. + In general, the config file entries to configure the menu +color mappings look like this: - #monster - Use a monster's special ability (when polymorphed into mon- - ster form). + MENUCOLOR="pattern"=color&attribute - #name - Name a monster, an individual object, or a type of object. - Same as `C'. + pattern - the pattern to match; + color - the color to use for lines matching the pat- + tern; + attribute - the attribute to use for lines matching the + pattern. The attribute is optional, and if + left out, you must also leave out the preced- + ing ampersand. If no attribute is defined, + no attribute is used. - #offer - Offer a sacrifice to the gods. + The pattern should be a regular expression. - You'll need to find an altar to have any chance at success. - Corpses of recently killed monsters are the fodder of + Allowed colors are black, red, green, brown, blue, magenta, + cyan, gray, orange, lightgreen, yellow, lightblue, lightmagen- + ta, lightcyan, and white. + Allowed attributes are none, bold, dim, underline, blink, and + inverse. Note that the platform used may interpret the at- + tributes any way it wants. - NetHack 3.6 February 22, 2016 + Here's an example of menu colors using NetHack's internal pat- + tern matching facility: + MENUCOLOR="* blessed *"=green + MENUCOLOR="* cursed *"=red + MENUCOLOR="* cursed *(being worn)"=red&underline + specifies that any menu line with " blessed " contained in it + will be shown in green color, lines with " cursed " will be + shown in red, and lines with " cursed " followed by "(being + worn)" on the same line will be shown in red color and under- + lined. You can have multiple MENUCOLOR entries in your config + file, and the last MENUCOLOR-line in your config file that + matches a menu line will be used for the line. + Note that if you intend to have one or more color specifica- +tions match " uncursed ", you will probably want to turn the im- +plicit_uncursed option off so that all items known to be uncursed +are actually displayed with the ``uncursed'' description. +9.12. Configuring User Sounds - NetHack Guidebook 18 + Some platforms allow you to define sound files to be played +when a message that matches a user-defined pattern is delivered +to the message window. At this time the Qt port and the win32tty +and win32gui ports support the use of user sounds. + The following config file entries are relevant to mapping +user sounds to messages: +SOUNDDIR + The directory that houses the sound files to be played. - choice. +SOUND + An entry that maps a sound file to a user-specified message + pattern. Each SOUND entry is broken down into the following + parts: - #overview - Display information you've discovered about the dungeon. - Any visited level (unless forgotten due to amnesia) with an - annotation is included, and many things (altars, thrones, - fountains, and so on; extra stairs leading to another dun- - geon branch) trigger an automatic annotation. If dungeon - overview is chosen during end-of-game disclosure, every vis- - ited level will be included regardless of annotations. + MESG - message window mapping (the only one supported in + 3.6); + pattern - the pattern to match; + sound file - the sound file to play; + volume - the volume to be set while playing the sound file. - #pray - Pray to the gods for help. + The pattern should be a POSIX extended regular expression. - Praying too soon after receiving prior help is a bad idea. - (Hint: entering the dungeon alive is treated as having re- - ceived help. You probably shouldn't start off a new game by - praying right away.) Since using this command by accident - can cause trouble, there is an option to make you confirm - your intent before praying. It is enabled by default, and - you can reset the paranoid_confirmation option to disable - it. +9.13. Configuring Status Hilites - #quit - Quit the program without saving your game. + Your copy of NetHack may have been compiled with support for +``Status Hilites''. If so, you can customize your game display +by setting thresholds to change the color or appearance of fields +in the status display. - Since using this command by accident would throw away the - current game, you are asked to confirm your intent before - quitting. By default a response of 'y' acknowledges that - intent. You can set the paranoid_confirmation option to re- - quire a response of "yes" instead. + The format for defining status colors is: - #ride - Ride (or stop riding) a saddled creature. + OPTION=hilite_status: field-name/behavior/color&attributes - #rub - Rub a lamp or a stone. + For example, the following line in your config file will +cause the hitpoints field to display in the color red if your +hitpoints drop to or below a threshold of 30%: - #sit - Sit down. - - #terrain - Show bare map without displaying monsters, objects, or - traps. - - #tip - Tip over a container (bag or box) to pour out its contents. - - #turn - Turn undead. - - #twoweapon - Toggle two-weapon combat on or off. - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 19 - - - - Note that you must use suitable weapons for this type of - combat, or it will be automatically turned off. - - #untrap - Untrap something (trap, door, or chest). - - In some circumstances it can also be used to rescue trapped - monsters. - - #version - Print compile time options for this version of NetHack. - - #wipe - Wipe off your face. - - #? - Help menu: get the list of available extended commands. - - If your keyboard has a meta key (which, when pressed in com- - bination with another key, modifies it by setting the `meta' - [8th, or `high'] bit), you can invoke many extended commands by - meta-ing the first letter of the command. In NT, OS/2, PC and ST - NetHack, the `Alt' key can be used in this fashion; on the Amiga, - set the altmeta option to get this behavior. On other systems, - if typing `Alt' plus another key transmits a two character se- - quence consisting of an Escape followed by the other key, you may - set the altmeta option to have nethack combine them into - meta+key. - - M-? #? (not supported by all platforms) - - M-2 #twoweapon (unless the number_pad option is enabled) - - M-a #adjust - - M-A #annotate - - M-c #chat - - M-C #conduct - - M-d #dip - - M-e #enhance - - M-f #force - - M-i #invoke - - M-j #jump - - M-l #loot - - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 20 - - - - M-m #monster - - M-n #name - - M-o #offer - - M-O #overview - - M-p #pray - - M-q #quit - - M-r #rub - - M-R #ride - - M-s #sit - - M-t #turn - - M-T #tip - - M-u #untrap - - M-v #version - - M-w #wipe - - If the number_pad option is on, some additional letter com- - mands are available: - - h Help menu: display one of several help texts available, - like ``?''. - - j Jump to another location. Same as ``#jump'' or ``M-j''. - - k Kick something (usually a door). Same as `^D'. - - l Loot a box or bag on the floor beneath you, or the saddle - from a steed standing next to you. Same as ``#loot'' or - ``M-l''. - - N Name a monster, an individual object, or a type of object. - Same as ``#name'' (or ``M-n'') which is the same as the `C' - command. - - u Untrap a trap, door, or chest. Same as ``#untrap'' or ``M- - u''. - - - 5. Rooms and corridors - - Rooms and corridors in the dungeon are either lit or dark. - Any lit areas within your line of sight will be displayed; dark - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 21 - - - - areas are only displayed if they are within one space of you. - Walls and corridors remain on the map as you explore them. - - Secret corridors are hidden. You can find them with the `s' - (search) command. - - 5.1. Doorways - - Doorways connect rooms and corridors. Some doorways have no - doors; you can walk right through. Others have doors in them, - which may be open, closed, or locked. To open a closed door, use - the `o' (open) command; to close it again, use the `c' (close) - command. - - You can get through a locked door by using a tool to pick - the lock with the `a' (apply) command, or by kicking it open with - the `^D' (kick) command. - - Open doors cannot be entered diagonally; you must approach - them straight on, horizontally or vertically. Doorways without - doors are not restricted in this fashion. - - Doors can be useful for shutting out monsters. Most mon- - sters cannot open doors, although a few don't need to (ex. ghosts - can walk through doors). - - Secret doors are hidden. You can find them with the `s' - (search) command. Once found they are in all ways equivalent to - normal doors. - - 5.2. Traps (`^') - - There are traps throughout the dungeon to snare the unwary - delver. For example, you may suddenly fall into a pit and be - stuck for a few turns trying to climb out. Traps don't appear on - your map until you see one triggered by moving onto it, see some- - thing fall into it, or you discover it with the `s' (search) com- - mand. Monsters can fall prey to traps, too, which can be a very - useful defensive strategy. - - There is a special pre-mapped branch of the dungeon based on - the classic computer game ``Sokoban.'' The goal is to push the - boulders into the pits or holes. With careful foresight, it is - possible to complete all of the levels according to the tradi- - tional rules of Sokoban. Some allowances are permitted in case - the player gets stuck; however, they will lower your luck. - - 5.3. Stairs (`<', `>') - - In general, each level in the dungeon will have a staircase - going up (`<') to the previous level and another going down (`>') - to the next level. There are some exceptions though. For in- - stance, fairly early in the dungeon you will find a level with - two down staircases, one continuing into the dungeon and the - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 22 - - - - other branching into an area known as the Gnomish Mines. Those - mines eventually hit a dead end, so after exploring them (if you - choose to do so), you'll need to climb back up to the main dun- - geon. - - When you traverse a set of stairs, or trigger a trap which - sends you to another level, the level you're leaving will be de- - activated and stored in a file on disk. If you're moving to a - previously visited level, it will be loaded from its file on disk - and reactivated. If you're moving to a level which has not yet - been visited, it will be created (from scratch for most random - levels, from a template for some ``special'' levels, or loaded - from the remains of an earlier game for a ``bones'' level as - briefly described below). Monsters are only active on the cur- - rent level; those on other levels are essentially placed into - stasis. - - Ordinarily when you climb a set of stairs, you will arrive - on the corresponding staircase at your destination. However, - pets (see below) and some other monsters will follow along if - they're close enough when you travel up or down stairs, and occa- - sionally one of these creatures will displace you during the - climb. When that occurs, the pet or other monster will arrive on - the staircase and you will end up nearby. - - 5.4. Ladders (`<', `>') - - Ladders serve the same purpose as staircases, and the two - types of inter-level connections are nearly indistinguishable - during game play. - - 5.5. Shops and shopping - - Occasionally you will run across a room with a shopkeeper - near the door and many items lying on the floor. You can buy - items by picking them up and then using the `p' command. You can - inquire about the price of an item prior to picking it up by us- - ing the ``#chat'' command while standing on it. Using an item - prior to paying for it will incur a charge, and the shopkeeper - won't allow you to leave the shop until you have paid any debt - you owe. - - You can sell items to a shopkeeper by dropping them to the - floor while inside a shop. You will either be offered an amount - of gold and asked whether you're willing to sell, or you'll be - told that the shopkeeper isn't interested (generally, your item - needs to be compatible with the type of merchandise carried by - the shop). - - If you drop something in a shop by accident, the shopkeeper - will usually claim ownership without offering any compensation. - You'll have to buy it back if you want to reclaim it. - - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 23 - - - - Shopkeepers sometimes run out of money. When that happens, - you'll be offered credit instead of gold when you try to sell - something. Credit can be used to pay for purchases, but it is - only good in the shop where it was obtained; other shopkeepers - won't honor it. (If you happen to find a "credit card" in the - dungeon, don't bother trying to use it in shops; shopkeepers will - not accept it.) - - The `$' command, which reports the amount of gold you are - carrying (in inventory, not inside bags or boxes), will also show - current shop debt or credit, if any. The `Iu' command lists un- - paid items (those which still belong to the shop) if you are car- - rying any. The `Ix' command shows an inventory-like display of - any unpaid items which have been used up, along with other shop - fees, if any. - - 5.5.1. Shop idiosyncracies - - Several aspects of shop behavior might be unexpected. - - * The price of a given item can vary due to a variety of factors. - - * A shopkeeper treats the spot immediately inside the door as if - it were outside the shop. - - * While the shopkeeper watches you like a hawk, he will generally - ignore any other customers. - - * If a shop is "closed for inventory", it will not open of its - own accord. - - * Shops do not get restocked with new items, regardless of inven- - tory depletion. - - - 6. Monsters - - Monsters you cannot see are not displayed on the screen. - Beware! You may suddenly come upon one in a dark place. Some - magic items can help you locate them before they locate you - (which some monsters can do very well). - - The commands `/' and `;' may be used to obtain information - about those monsters who are displayed on the screen. The com- - mand ``#name'', or its synonym `C', allows you to assign a name - to a monster, which may be useful to help distinguish one from - another when multiple monsters are present. Assigning a name - which is just a space will remove any prior name. - - The extended command ``#chat'' can be used to interact with - an adjacent monster. There is no actual dialog (in other words, - you don't get to choose what you'll say), but chatting with some - monsters such as a shopkeeper or the Oracle of Delphi can produce - useful results. - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 24 - - - - 6.1. Fighting - - If you see a monster and you wish to fight it, just attempt - to walk into it. Many monsters you find will mind their own - business unless you attack them. Some of them are very dangerous - when angered. Remember: discretion is the better part of valor. - - In most circumstances, if you attempt to attack a peaceful - monster by moving into its location, you'll be asked to confirm - your intent. By default an answer of 'y' acknowledges that in- - tent, which can be error prone if you're using 'y' to move. You - can set the paranoid_confirmation option to require a response of - "yes" instead. - - If you can't see a monster (if it is invisible, or if you - are blinded), the symbol `I' will be shown when you learn of its - presence. If you attempt to walk into it, you will try to fight - it just like a monster that you can see; of course, if the mon- - ster has moved, you will attack empty air. If you guess that the - monster has moved and you don't wish to fight, you can use the - `m' command to move without fighting; likewise, if you don't re- - member a monster but want to try fighting anyway, you can use the - `F' command. - - 6.2. Your pet - - You start the game with a little dog (`d'), cat (`f'), or - pony (`u'), which follows you about the dungeon and fights mon- - sters with you. Like you, your pet needs food to survive. It - usually feeds itself on fresh carrion and other meats. If you're - worried about it or want to train it, you can feed it, too, by - throwing it food. A properly trained pet can be very useful un- - der certain circumstances. - - Your pet also gains experience from killing monsters, and - can grow over time, gaining hit points and doing more damage. - Initially, your pet may even be better at killing things than - you, which makes pets useful for low-level characters. - - Your pet will follow you up and down staircases if it is - next to you when you move. Otherwise your pet will be stranded - and may become wild. Similarly, when you trigger certain types - of traps which alter your location (for instance, a trap door - which drops you to a lower dungeon level), any adjacent pet will - accompany you and any non-adjacent pet will be left behind. Your - pet may trigger such traps itself; you will not be carried along - with it even if adjacent at the time. - - 6.3. Steeds - - Some types of creatures in the dungeon can actually be rid- - den if you have the right equipment and skill. Convincing a wild - beast to let you saddle it up is difficult to say the least. - Many a dungeoneer has had to resort to magic and wizardry in - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 25 - - - - order to forge the alliance. Once you do have the beast under - your control however, you can easily climb in and out of the sad- - dle with the `#ride' command. Lead the beast around the dungeon - when riding, in the same manner as you would move yourself. It - is the beast that you will see displayed on the map. - - Riding skill is managed by the `#enhance' command. See the - section on Weapon proficiency for more information about that. - - 6.4. Bones levels - - You may encounter the shades and corpses of other adventur- - ers (or even former incarnations of yourself!) and their personal - effects. Ghosts are hard to kill, but easy to avoid, since - they're slow and do little damage. You can plunder the deceased - adventurer's possessions; however, they are likely to be cursed. - Beware of whatever killed the former player; it is probably still - lurking around, gloating over its last victory. - - - 7. Objects - - When you find something in the dungeon, it is common to want - to pick it up. In NetHack, this is accomplished automatically by - walking over the object (unless you turn off the autopickup op- - tion (see below), or move with the `m' prefix (see above)), or - manually by using the `,' command. - - If you're carrying too many items, NetHack will tell you so - and you won't be able to pick up anything more. Otherwise, it - will add the object(s) to your pack and tell you what you just - picked up. - - As you add items to your inventory, you also add the weight - of that object to your load. The amount that you can carry de- - pends on your strength and your constitution. The stronger and - sturdier you are, the less the additional load will affect you. - There comes a point, though, when the weight of all of that stuff - you are carrying around with you through the dungeon will encum- - ber you. Your reactions will get slower and you'll burn calories - faster, requiring food more frequently to cope with it. Eventu- - ally, you'll be so overloaded that you'll either have to discard - some of what you're carrying or collapse under its weight. - - NetHack will tell you how badly you have loaded yourself. - The symbols `Burdened', `Stressed', `Strained', `Overtaxed' and - `Overloaded' are displayed on the bottom line display to indicate - your condition. - - When you pick up an object, it is assigned an inventory let- - ter. Many commands that operate on objects must ask you to find - out which object you want to use. When NetHack asks you to - choose a particular object you are carrying, you are usually pre- - sented with a list of inventory letters to choose from (see - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 26 - - - - Commands, above). - - Some objects, such as weapons, are easily differentiated. - Others, like scrolls and potions, are given descriptions which - vary according to type. During a game, any two objects with the - same description are the same type. However, the descriptions - will vary from game to game. - - When you use one of these objects, if its effect is obvious, - NetHack will remember what it is for you. If its effect isn't - extremely obvious, you will be asked what you want to call this - type of object so you will recognize it later. You can also use - the ``#name'' command, or its synonym `C', for the same purpose - at any time, to name all objects of a particular type or just an - individual object. When you use ``#name'' on an object which has - already been named, specifying a space as the value will remove - the prior name instead of assigning a new one. - - 7.1. Curses and Blessings - - Any object that you find may be cursed, even if the object - is otherwise helpful. The most common effect of a curse is being - stuck with (and to) the item. Cursed weapons weld themselves to - your hand when wielded, so you cannot unwield them. Any cursed - item you wear is not removable by ordinary means. In addition, - cursed arms and armor usually, but not always, bear negative en- - chantments that make them less effective in combat. Other cursed - objects may act poorly or detrimentally in other ways. - - Objects can also be blessed. Blessed items usually work - better or more beneficially than normal uncursed items. For ex- - ample, a blessed weapon will do more damage against demons. - - Objects which are neither cursed nor blessed are referred to - as uncursed. They could just as easily have been described as - unblessed, but the uncursed designation is what you will see - within the game. A ``glass half full versus glass half empty'' - situation; make of that what you will. - - There are magical means of bestowing or removing curses upon - objects, so even if you are stuck with one, you can still have - the curse lifted and the item removed. Priests and Priestesses - have an innate sensitivity to this property in any object, so - they can more easily avoid cursed objects than other character - roles. - - An item with unknown status will be reported in your inven- - tory with no prefix. An item which you know the state of will be - distinguished in your inventory by the presence of the word - ``cursed'', ``uncursed'' or ``blessed'' in the description of the - item. In some cases ``uncursed'' will be omitted as being redun- - dant when enough other information is displayed. The implic- - it_uncursed option can be used to control this; toggle it off to - have ``uncursed'' be displayed even when that can be deduced from - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 27 - - - - other attributes. - - 7.2. Weapons (`)') - - Given a chance, most monsters in the Mazes of Menace will - gratuitously try to kill you. You need weapons for self-defense - (killing them first). Without a weapon, you do only 1-2 hit - points of damage (plus bonuses, if any). Monk characters are an - exception; they normally do much more damage with bare hands than - they do with weapons. - - There are wielded weapons, like maces and swords, and thrown - weapons, like arrows and spears. To hit monsters with a weapon, - you must wield it and attack them, or throw it at them. You can - simply elect to throw a spear. To shoot an arrow, you should - first wield a bow, then throw the arrow. Crossbows shoot cross- - bow bolts. Slings hurl rocks and (other) stones (like gems). - - Enchanted weapons have a ``plus'' (or ``to hit enhancement'' - which can be either positive or negative) that adds to your - chance to hit and the damage you do to a monster. The only way - to determine a weapon's enchantment is to have it magically iden- - tified somehow. Most weapons are subject to some type of damage - like rust. Such ``erosion'' damage can be repaired. - - The chance that an attack will successfully hit a monster, - and the amount of damage such a hit will do, depends upon many - factors. Among them are: type of weapon, quality of weapon (en- - chantment and/or erosion), experience level, strength, dexterity, - encumbrance, and proficiency (see below). The monster's armor - class - a general defense rating, not necessarily due to wearing - of armor - is a factor too; also, some monsters are particularly - vulnerable to certain types of weapons. - - Many weapons can be wielded in one hand; some require both - hands. When wielding a two-handed weapon, you can not wear a - shield, and vice versa. When wielding a one-handed weapon, you - can have another weapon ready to use by setting things up with - the `x' command, which exchanges your primary (the one being - wielded) and alternate weapons. And if you have proficiency in - the ``two weapon combat'' skill, you may wield both weapons si- - multaneously as primary and secondary; use the `#twoweapon' ex- - tended command to engage or disengage that. Only some types of - characters (barbarians, for instance) have the necessary skill - available. Even with that skill, using two weapons at once in- - curs a penalty in the chance to hit your target compared to using - just one weapon at a time. - - There might be times when you'd rather not wield any weapon - at all. To accomplish that, wield `-', or else use the `A' com- - mand which allows you to unwield the current weapon in addition - to taking off other worn items. - - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 28 - - - - Those of you in the audience who are AD&D players, be aware - that each weapon which existed in AD&D does roughly the same dam- - age to monsters in NetHack. Some of the more obscure weapons - (such as the aklys, lucern hammer, and bec-de-corbin) are defined - in an appendix to Unearthed Arcana, an AD&D supplement. - - The commands to use weapons are `w' (wield), `t' (throw), - `f' (fire, an alternative way of throwing), `Q' (quiver), `x' - (exchange), `#twoweapon', and `#enhance' (see below). - - 7.2.1. Throwing and shooting - - You can throw just about anything via the `t' command. It - will prompt for the item to throw; picking `?' will list things - in your inventory which are considered likely to be thrown, or - picking `*' will list your entire inventory. After you've chosen - what to throw, you will be prompted for a direction rather than - for a specific target. The distance something can be thrown de- - pends mainly on the type of object and your strength. Arrows can - be thrown by hand, but can be thrown much farther and will be - more likely to hit when thrown while you are wielding a bow. - - You can simplify the throwing operation by using the `Q' - command to select your preferred ``missile'', then using the `f' - command to throw it. You'll be prompted for a direction as - above, but you don't have to specify which item to throw each - time you use `f'. There is also an option, autoquiver, which has - NetHack choose another item to automatically fill your quiver (or - quiver sack, or have at the ready) when the inventory slot used - for `Q' runs out. - - Some characters have the ability to fire a volley of multi- - ple items in a single turn. Knowing how to load several rounds - of ammunition at once -- or hold several missiles in your hand -- - and still hit a target is not an easy task. Rangers are among - those who are adept at this task, as are those with a high level - of proficiency in the relevant weapon skill (in bow skill if - you're wielding one to shoot arrows, in crossbow skill if you're - wielding one to shoot bolts, or in sling skill if you're wielding - one to shoot stones). The number of items that the character has - a chance to fire varies from turn to turn. You can explicitly - limit the number of shots by using a numeric prefix before the - `t' or `f' command. For example, ``2f'' (or ``n2f'' if using - number_pad mode) would ensure that at most 2 arrows are shot even - if you could have fired 3. If you specify a larger number than - would have been shot (``4f'' in this example), you'll just end up - shooting the same number (3, here) as if no limit had been speci- - fied. Once the volley is in motion, all of the items will travel - in the same direction; if the first ones kill a monster, the oth- - ers can still continue beyond that spot. - - - - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 29 - - - - 7.2.2. Weapon proficiency - - You will have varying degrees of skill in the weapons avail- - able. Weapon proficiency, or weapon skills, affect how well you - can use particular types of weapons, and you'll be able to im- - prove your skills as you progress through a game, depending on - your role, your experience level, and use of the weapons. - - For the purposes of proficiency, weapons have been divided - up into various groups such as daggers, broadswords, and - polearms. Each role has a limit on what level of proficiency a - character can achieve for each group. For instance, wizards can - become highly skilled in daggers or staves but not in swords or - bows. - - The `#enhance' extended command is used to review current - weapons proficiency (also spell proficiency) and to choose which - skill(s) to improve when you've used one or more skills enough to - become eligible to do so. The skill rankings are ``none'' (some- - times also referred to as ``restricted'', because you won't be - able to advance), ``unskilled'', ``basic'', ``skilled'', and - ``expert''. Restricted skills simply will not appear in the list - shown by `#enhance'. (Divine intervention might unrestrict a - particular skill, in which case it will start at unskilled and be - limited to basic.) Some characters can enhance their barehanded - combat or martial arts skill beyond expert to ``master'' or - ``grand master''. - - Use of a weapon in which you're restricted or unskilled will - incur a modest penalty in the chance to hit a monster and also in - the amount of damage done when you do hit; at basic level, there - is no penalty or bonus; at skilled level, you receive a modest - bonus in the chance to hit and amount of damage done; at expert - level, the bonus is higher. A successful hit has a chance to - boost your training towards the next skill level (unless you've - already reached the limit for this skill). Once such training - reaches the threshold for that next level, you'll be told that - you feel more confident in your skills. At that point you can - use `#enhance' to increase one or more skills. Such skills are - not increased automatically because there is a limit to your to- - tal overall skills, so you need to actively choose which skills - to enhance and which to ignore. - - 7.2.3. Two-Weapon combat - - Some characters can use two weapons at once. Setting things - up to do so can seem cumbersome but becomes second nature with - use. To wield two weapons, you need to use the ``#twoweapon'' - command. But first you need to have a weapon in each hand. - (Note that your two weapons are not fully equal; the one in the - hand you normally wield with is considered primary and the other - one is considered secondary. The most noticeable difference is - after you stop--or before you begin, for that matter--wielding - two weapons at once. The primary is your wielded weapon and the - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 30 - - - - secondary is just an item in your inventory that's been designat- - ed as alternate weapon.) - - If your primary weapon is wielded but your off hand is empty - or has the wrong weapon, use the sequence 'x', 'w', 'x' to first - swap your primary into your off hand, wield whatever you want as - secondary weapon, then swap them both back into the intended - hands. If your secondary or alternate weapon is correct but your - primary one is not, simply use 'w' to wield the primary. Lastly, - if neither hand holds the correct weapon, use 'w', 'x', 'w' to - first wield the intended secondary, swap it to off hand, and then - wield the primary. - - The whole process can be simplified via use of the push- - weapon option. When it is enabled, then using 'w' to wield some- - thing causes the currently wielded weapon to become your alter- - nate weapon. So the sequence 'w', 'w' can be used to first wield - the weapon you intend to be secondary, and then wield the one you - want as primary which will push the first into secondary posi- - tion. - - When in two-weapon combat mode, using the ``#twoweapon'' - command toggles back to single-weapon mode. Throwing or dropping - either of the weapons or having one of them be stolen or de- - stroyed will also make you revert to single-weapon combat. - - 7.3. Armor (`[') - - Lots of unfriendly things lurk about; you need armor to pro- - tect yourself from their blows. Some types of armor offer better - protection than others. Your armor class is a measure of this - protection. Armor class (AC) is measured as in AD&D, with 10 be- - ing the equivalent of no armor, and lower numbers meaning better - armor. Each suit of armor which exists in AD&D gives the same - protection in NetHack. Here is an (incomplete) list of the armor - classes provided by various suits of armor: - - dragon scale mail 1 - plate mail 3 - crystal plate mail 3 - bronze plate mail 4 - splint mail 4 - banded mail 4 - dwarvish mithril-coat 4 - elven mithril-coat 5 - chain mail 5 - orcish chain mail 6 - scale mail 6 - dragon scales 7 - studded leather armor 7 - ring mail 7 - orcish ring mail 8 - leather armor 8 - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 31 - - - - leather jacket 9 - no armor 10 - - You can also wear other pieces of armor (ex. helmets, boots, - shields, cloaks) to lower your armor class even further, but you - can only wear one item of each category (one suit of armor, one - cloak, one helmet, one shield, and so on) at a time. - - If a piece of armor is enchanted, its armor protection will - be better (or worse) than normal, and its ``plus'' (or minus) - will subtract from your armor class. For example, a +1 chain - mail would give you better protection than normal chain mail, - lowering your armor class one unit further to 4. When you put on - a piece of armor, you immediately find out the armor class and - any ``plusses'' it provides. Cursed pieces of armor usually have - negative enchantments (minuses) in addition to being unremovable. - - Many types of armor are subject to some kind of damage like - rust. Such damage can be repaired. Some types of armor may in- - hibit spell casting. - - The commands to use armor are `W' (wear) and `T' (take off). - The `A' command can also be used to take off armor as well as - other worn items. - - 7.4. Food (`%') - - Food is necessary to survive. If you go too long without - eating you will faint, and eventually die of starvation. Some - types of food will spoil, and become unhealthy to eat, if not - protected. Food stored in ice boxes or tins (``cans'') will usu- - ally stay fresh, but ice boxes are heavy, and tins take a while - to open. - - When you kill monsters, they usually leave corpses which are - also ``food.'' Many, but not all, of these are edible; some also - give you special powers when you eat them. A good rule of thumb - is ``you are what you eat.'' - - Some character roles and some monsters are vegetarian. Veg- - etarian monsters will typically never eat animal corpses, while - vegetarian players can, but with some rather unpleasant side-ef- - fects. - - You can name one food item after something you like to eat - with the fruit option. - - The command to eat food is `e'. - - 7.5. Scrolls (`?') - - Scrolls are labeled with various titles, probably chosen by - ancient wizards for their amusement value (ex. ``READ ME,'' or - ``THANX MAUD'' backwards). Scrolls disappear after you read them - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 32 - - - - (except for blank ones, without magic spells on them). - - One of the most useful of these is the scroll of identify, - which can be used to determine what another object is, whether it - is cursed or blessed, and how many uses it has left. Some ob- - jects of subtle enchantment are difficult to identify without - these. - - A mail daemon may run up and deliver mail to you as a scroll - of mail (on versions compiled with this feature). To use this - feature on versions where NetHack mail delivery is triggered by - electronic mail appearing in your system mailbox, you must let - NetHack know where to look for new mail by setting the ``MAIL'' - environment variable to the file name of your mailbox. You may - also want to set the ``MAILREADER'' environment variable to the - file name of your favorite reader, so NetHack can shell to it - when you read the scroll. On versions of NetHack where mail is - randomly generated internal to the game, these environment vari- - ables are ignored. You can disable the mail daemon by turning - off the mail option. - - The command to read a scroll is `r'. - - 7.6. Potions (`!') - - Potions are distinguished by the color of the liquid inside - the flask. They disappear after you quaff them. - - Clear potions are potions of water. Sometimes these are - blessed or cursed, resulting in holy or unholy water. Holy water - is the bane of the undead, so potions of holy water are good - things to throw (`t') at them. It is also sometimes very useful - to dip (``#dip'') an object into a potion. - - The command to drink a potion is `q' (quaff). - - 7.7. Wands (`/') - - Wands usually have multiple magical charges. Some types of - wands require a direction in which to zap them. You can also zap - them at yourself (just give a `.' or `s' for the direction). Be - warned, however, for this is often unwise. Other types of wands - don't require a direction. The number of charges in a wand is - random and decreases by one whenever you use it. - - When the number of charges left in a wand becomes zero, at- - tempts to use the wand will usually result in nothing happening. - Occasionally, however, it may be possible to squeeze the last few - mana points from an otherwise spent wand, destroying it in the - process. A wand may be recharged by using suitable magic, but - doing so runs the risk of causing it to explode. The chance for - such an explosion starts out very small and increases each time - the wand is recharged. - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 33 - - - - In a truly desperate situation, when your back is up against - the wall, you might decide to go for broke and break your wand. - This is not for the faint of heart. Doing so will almost cer- - tainly cause a catastrophic release of magical energies. - - When you have fully identified a particular wand, inventory - display will include additional information in parentheses: the - number of times it has been recharged followed by a colon and - then by its current number of charges. A current charge count of - -1 is a special case indicating that the wand has been cancelled. - - The command to use a wand is `z' (zap). To break one, use - the `a' (apply) command. - - 7.8. Rings (`=') - - Rings are very useful items, since they are relatively per- - manent magic, unlike the usually fleeting effects of potions, - scrolls, and wands. - - Putting on a ring activates its magic. You can wear only - two rings, one on each ring finger. - - Most rings also cause you to grow hungry more rapidly, the - rate varying with the type of ring. - - The commands to use rings are `P' (put on) and `R' (remove). - - 7.9. Spellbooks (`+') - - Spellbooks are tomes of mighty magic. When studied with the - `r' (read) command, they transfer to the reader the knowledge of - a spell (and therefore eventually become unreadable) -- unless - the attempt backfires. Reading a cursed spellbook or one with - mystic runes beyond your ken can be harmful to your health! - - A spell (even when learned) can also backfire when you cast - it. If you attempt to cast a spell well above your experience - level, or if you have little skill with the appropriate spell - type, or cast it at a time when your luck is particularly bad, - you can end up wasting both the energy and the time required in - casting. - - Casting a spell calls forth magical energies and focuses - them with your naked mind. Some of the magical energy released - comes from within you. Casting temporarily drains your magical - power, which will slowly be recovered, and causes you to need ad- - ditional food. Casting of spells also requires practice. With - practice, your skill in each category of spell casting will im- - prove. Over time, however, your memory of each spell will dim, - and you will need to relearn it. - - Some spells require a direction in which to cast them, simi- - lar to wands. To cast one at yourself, just give a `.' or `s' - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 34 - - - - for the direction. A few spells require you to pick a target lo- - cation rather than just specify a particular direction. Other - spells don't require any direction or target. - - Just as weapons are divided into groups in which a character - can become proficient (to varying degrees), spells are similarly - grouped. Successfully casting a spell exercises its skill group; - using the `#enhance' command to advance a sufficiently exercised - skill will affect all spells within the group. Advanced skill - may increase the potency of spells, reduce their risk of failure - during casting attempts, and improve the accuracy of the estimate - for how much longer they will be retained in your memory. Skill - slots are shared with weapons skills. (See also the section on - ``Weapon proficiency''.) - - Casting a spell also requires flexible movement, and wearing - various types of armor may interfere with that. - - The command to read a spellbook is the same as for scrolls, - `r' (read). The `+' command lists each spell you know along with - its level, skill category, chance of failure when casting, and an - estimate of how strongly it is remembered. The `Z' (cast) com- - mand casts a spell. - - 7.10. Tools (`(') - - Tools are miscellaneous objects with various purposes. Some - tools have a limited number of uses, akin to wand charges. For - example, lamps burn out after a while. Other tools are contain- - ers, which objects can be placed into or taken out of. - - The command to use tools is `a' (apply). - - 7.10.1. Containers - - You may encounter bags, boxes, and chests in your travels. - A tool of this sort can be opened with the ``#loot'' extended - command when you are standing on top of it (that is, on the same - floor spot), or with the `a' (apply) command when you are carry- - ing it. However, chests are often locked, and are in any case - unwieldy objects. You must set one down before unlocking it by - using a key or lock-picking tool with the `a' (apply) command, by - kicking it with the `^D' command, or by using a weapon to force - the lock with the ``#force'' extended command. - - Some chests are trapped, causing nasty things to happen when - you unlock or open them. You can check for and try to deactivate - traps with the ``#untrap'' extended command. - - 7.11. Amulets (`"') - - Amulets are very similar to rings, and often more powerful. - Like rings, amulets have various magical properties, some benefi- - cial, some harmful, which are activated by putting them on. - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 35 - - - - Only one amulet may be worn at a time, around your neck. - - The commands to use amulets are the same as for rings, `P' - (put on) and `R' (remove). - - 7.12. Gems (`*') - - Some gems are valuable, and can be sold for a lot of gold. - They are also a far more efficient way of carrying your riches. - Valuable gems increase your score if you bring them with you when - you exit. - - Other small rocks are also categorized as gems, but they are - much less valuable. All rocks, however, can be used as projec- - tile weapons (if you have a sling). In the most desperate of - cases, you can still throw them by hand. - - 7.13. Large rocks (``') - - Statues and boulders are not particularly useful, and are - generally heavy. It is rumored that some statues are not what - they seem. - - Very large humanoids (giants and their ilk) have been known - to use boulders as weapons. - - For some configurations of the program, statues are no - longer shown as ``' but by the letter representing the monster - they depict instead. - - 7.14. Gold (`$') - - Gold adds to your score, and you can buy things in shops - with it. There are a number of monsters in the dungeon that may - be influenced by the amount of gold you are carrying (shopkeepers - aside). - - - 8. Conduct - - As if winning NetHack were not difficult enough, certain - players seek to challenge themselves by imposing restrictions on - the way they play the game. The game automatically tracks some - of these challenges, which can be checked at any time with the - #conduct command or at the end of the game. When you perform an - action which breaks a challenge, it will no longer be listed. - This gives players extra ``bragging rights'' for winning the game - with these challenges. Note that it is perfectly acceptable to - win the game without resorting to these restrictions and that it - is unusual for players to adhere to challenges the first time - they win the game. - - Several of the challenges are related to eating behavior. - The most difficult of these is the foodless challenge. Although - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 36 - - - - creatures can survive long periods of time without food, there is - a physiological need for water; thus there is no restriction on - drinking beverages, even if they provide some minor food bene- - fits. Calling upon your god for help with starvation does not - violate any food challenges either. - - A strict vegan diet is one which avoids any food derived - from animals. The primary source of nutrition is fruits and veg- - etables. The corpses and tins of blobs (`b'), jellies (`j'), and - fungi (`F') are also considered to be vegetable matter. Certain - human food is prepared without animal products; namely, lembas - wafers, cram rations, food rations (gunyoki), K-rations, and C- - rations. Metal or another normally indigestible material eaten - while polymorphed into a creature that can digest it is also con- - sidered vegan food. Note however that eating such items still - counts against foodless conduct. - - Vegetarians do not eat animals; however, they are less se- - lective about eating animal byproducts than vegans. In addition - to the vegan items listed above, they may eat any kind of pudding - (`P') other than the black puddings, eggs and food made from eggs - (fortune cookies and pancakes), food made with milk (cream pies - and candy bars), and lumps of royal jelly. Monks are expected to - observe a vegetarian diet. - - Eating any kind of meat violates the vegetarian, vegan, and - foodless conducts. This includes tripe rations, the corpses or - tins of any monsters not mentioned above, and the various other - chunks of meat found in the dungeon. Swallowing and digesting a - monster while polymorphed is treated as if you ate the creature's - corpse. Eating leather, dragon hide, or bone items while poly- - morphed into a creature that can digest it, or eating monster - brains while polymorphed into a mind flayer, is considered eating - an animal, although wax is only an animal byproduct. - - Regardless of conduct, there will be some items which are - indigestible, and others which are hazardous to eat. Using a - swallow-and-digest attack against a monster is equivalent to eat- - ing the monster's corpse. Please note that the term ``vegan'' is - used here only in the context of diet. You are still free to - choose not to use or wear items derived from animals (e.g. - leather, dragon hide, bone, horns, coral), but the game will not - keep track of this for you. Also note that ``milky'' potions may - be a translucent white, but they do not contain milk, so they are - compatible with a vegan diet. Slime molds or player-defined - ``fruits'', although they could be anything from ``cherries'' to - ``pork chops'', are also assumed to be vegan. - - An atheist is one who rejects religion. This means that you - cannot #pray, #offer sacrifices to any god, #turn undead, or - #chat with a priest. Particularly selective readers may argue - that playing Monk or Priest characters should violate this con- - duct; that is a choice left to the player. Offering the Amulet - of Yendor to your god is necessary to win the game and is not - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 37 - - - - counted against this conduct. You are also not penalized for be- - ing spoken to by an angry god, priest(ess), or other religious - figure; a true atheist would hear the words but attach no special - meaning to them. - - Most players fight with a wielded weapon (or tool intended - to be wielded as a weapon). Another challenge is to win the game - without using such a wielded weapon. You are still permitted to - throw, fire, and kick weapons; use a wand, spell, or other type - of item; or fight with your hands and feet. - - In NetHack, a pacifist refuses to cause the death of any - other monster (i.e. if you would get experience for the death). - This is a particularly difficult challenge, although it is still - possible to gain experience by other means. - - An illiterate character cannot read or write. This includes - reading a scroll, spellbook, fortune cookie message, or t-shirt; - writing a scroll; or making an engraving of anything other than a - single ``x'' (the traditional signature of an illiterate person). - Reading an engraving, or any item that is absolutely necessary to - win the game, is not counted against this conduct. The identity - of scrolls and spellbooks (and knowledge of spells) in your - starting inventory is assumed to be learned from your teachers - prior to the start of the game and isn't counted. - - There are several other challenges tracked by the game. It - is possible to eliminate one or more species of monsters by geno- - cide; playing without this feature is considered a challenge. - When the game offers you an opportunity to genocide monsters, you - may respond with the monster type ``none'' if you want to de- - cline. You can change the form of an item into another item of - the same type (``polypiling'') or the form of your own body into - another creature (``polyself'') by wand, spell, or potion of - polymorph; avoiding these effects are each considered challenges. - Polymorphing monsters, including pets, does not break either of - these challenges. Finally, you may sometimes receive wishes; a - game without an attempt to wish for any items is a challenge, as - is a game without wishing for an artifact (even if the artifact - immediately disappears). When the game offers you an opportunity - to make a wish for an item, you may choose ``nothing'' if you - want to decline. - - - 9. Options - - Due to variations in personal tastes and conceptions of how - NetHack should do things, there are options you can set to change - how NetHack behaves. - - 9.1. Setting the options - - Options may be set in a number of ways. Within the game, - the `O' command allows you to view all options and change most of - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 38 - - - - them. You can also set options automatically by placing them in - the NETHACKOPTIONS environment variable or in a configuration - file. Some versions of NetHack also have front-end programs that - allow you to set options before starting the game or a global - configuration for system administrators. - - 9.2. Using the NETHACKOPTIONS environment variable - - The NETHACKOPTIONS variable is a comma-separated list of - initial values for the various options. Some can only be turned - on or off. You turn one of these on by adding the name of the - option to the list, and turn it off by typing a `!' or ``no'' be- - fore the name. Others take a character string as a value. You - can set string options by typing the option name, a colon or - equals sign, and then the value of the string. The value is ter- - minated by the next comma or the end of string. - - For example, to set up an environment variable so that ``au- - toquiver'' is on, ``autopickup'' is off, the name is set to - ``Blue Meanie'', and the fruit is set to ``papaya'', you would - enter the command - - % setenv NETHACKOPTIONS "autoquiver,\!autopickup,name:Blue Meanie,fruit:papaya" - - in csh (note the need to escape the ! since it's special to the - shell), or - - $ NETHACKOPTIONS="autoquiver,!autopickup,name:Blue Meanie,fruit:papaya" - $ export NETHACKOPTIONS - - in sh or ksh. - - 9.3. Using a configuration file - - Any line in the configuration file starting with `#' is - treated as a comment. Any line in the configuration file start- - ing with ``OPTIONS='' may be filled out with options in the same - syntax as in NETHACKOPTIONS. Any line starting with ``SYMBOLS='' - is taken as defining the corresponding symbol in a different syn- - tax, a sequence of decimal numbers giving the character position - in the current font to be used in displaying each entry. Such a - sequence can be continued to multiple lines by putting a `\' at - the end of each line to be continued. - - Any line starting with ``AUTOPICKUP_EXCEPTION='' is taken as - defining an exception to the pickup_types option. There is a - section of this Guidebook that discusses that. - - The default name of the configuration file varies on differ- - ent operating systems. On DOS and Windows, it is ``defaults.nh'' - in the same folder as nethack.exe or nethackW.exe. On Unix, Linux - and Mac OS X it is ``.nethackrc'' in the user's home directory. - NETHACKOPTIONS can also be set to the full name of a file you - want to use (possibly preceded by an `@'). - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 39 - - - - Here is a short example of config file contents: - - # Set your character's role, race, gender, and alignment. - OPTIONS=role:Valkyrie, race:Human, gender:female, align:lawful - - # Turn on autopickup, and set automatically picked up object types - OPTIONS=autopickup,pickup_types:$"=/!?+ - # Show colored text if possible - OPTIONS=color - # Show lit corridors differently - OPTIONS=lit_corridor - - # No startup splash screen. Windows GUI only. - OPTIONS=!splash_screen - - 9.4. Customization options - - Here are explanations of what the various options do. Char- - acter strings that are too long may be truncated. Some of the - options listed may be inactive in your dungeon. - - Some options are persistent, and are saved and reloaded - along with the game. Changing a persistent option in the config- - uration file applies only to new games. - - acoustics - Enable messages about what your character hears (default on). - Note that this has nothing to do with your computer's audio ca- - pabilities. Persistent. - - align - Your starting alignment (align:lawful, align:neutral, or - align:chaotic). You may specify just the first letter. The - default is to randomly pick an appropriate alignment. If you - prefix the value with `!' or ``no'', you will exclude that - alignment from being picked randomly. Cannot be set with the - `O' command. Persistent. - - autodescribe - Automatically describe the terrain under cursor when asked to - get a location on the map. The whatis_coord option controls - whether the description includes map coordinates. - - autodig - Automatically dig if you are wielding a digging tool and moving - into a place that can be dug (default false). Persistent. - - autoopen - Walking into a door attempts to open it (default true). Persis- - tent. - - autopickup - Automatically pick up things onto which you move (default on). - Persistent. See pickup_types to refine the behavior. - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 40 - - - - autoquiver - This option controls what happens when you attempt the `f' - (fire) command with an empty quiver (or quiver sack or have - nothing at the ready). When true, the computer will fill your - quiver or quiver sack or make ready some suitable weapon. Note - that it will not take into account the blessed/cursed status, - enchantment, damage, or quality of the weapon; you are free to - manually fill your quiver or quiver sack or make ready with the - `Q' command instead. If no weapon is found or the option is - false, the `t' (throw) command is executed instead. Persis- - tent. (default false) - - blind - Start the character permanently blind. Persistent. (default - false) - - bones - Allow saving and loading bones files. Persistent. (default - true) - - boulder - Set the character used to display boulders (default is the - ``large rock'' class symbol, ``'). - - catname - Name your starting cat (ex. ``catname:Morris''). Cannot be set - with the `O' command. - - character - Synonym for ``role'' to pick the type of your character (ex. - ``character:Monk''). See role for more details. - - checkpoint - Save game state after each level change, for possible recovery - after program crash (default on). Persistent. - - checkspace - Check free disk space before writing files to disk (default - on). You may have to turn this off if you have more than 2 GB - free space on the partition used for your save and level files - (because too much space might overflow the calculation and end - up looking like insufficient space). Only applies when MFLOPPY - was defined during compilation. - - clicklook - Allows looking at things on the screen by navigating the mouse - over them and clicking the right mouse button (default off). - - cmdassist - Have the game provide some additional command assistance for - new players if it detects some anticipated mistakes (default - on). - - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 41 - - - - confirm - Have user confirm attacks on pets, shopkeepers, and other - peaceable creatures (default on). Persistent. - - dark_room - Show out-of-sight areas of lit rooms (default off). Persis- - tent. - - disclose - Controls what information the program reveals when the game - ends. Value is a space separated list of prompting/category - pairs (default is `ni na nv ng nc no', prompt with default re- - sponse of `n' for each candidate). Persistent. The possibili- - ties are: - - i - disclose your inventory; - a - disclose your attributes; - v - summarize monsters that have been vanquished; - g - list monster species that have been genocided; - c - display your conduct; - o - display dungeon overview. - - Each disclosure possibility can optionally be preceded by a - prefix which lets you refine how it behaves. Here are the - valid prefixes: - - y - prompt you and default to yes on the prompt; - n - prompt you and default to no on the prompt; - + - disclose it without prompting; - - - do not disclose it and do not prompt. - - Omitted categories are implicitly added with `n' prefix. Spec- - ified categories with omitted prefix implicitly use `+' prefix. - Order of the disclosure categories does not matter, program - display for end-of-game disclosure follows a set sequence. - - (ex. ``disclose:yi na +v -g o'') The example sets inventory to - prompt and default to yes, attributes to prompt and default to - no, vanquished to disclose without prompting, genocided to not - disclose and not prompt, conduct to implicitly prompt and de- - fault to no, and overview to disclose without prompting. - - Note that the vanquished monsters list includes all monsters - killed by traps and each other as well as by you. And the dun- - geon overview shows all levels you had visited but does not re- - veal things about them that you hadn't discovered. - - dogname - Name your starting dog (ex. ``dogname:Fang''). Cannot be set - with the `O' command. - - extmenu - Changes the extended commands interface to pop-up a menu of - available commands. It is keystroke compatible with the - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 42 - - - - traditional interface except that it does not require that you - hit Enter. It is implemented only by the tty port (default - off), when the game has been compiled to support tty graphics. - - female - An obsolete synonym for ``gender:female''. Cannot be set with - the `O' command. - - fixinv - An object's inventory letter sticks to it when it's dropped - (default on). If this is off, dropping an object shifts all - the remaining inventory letters. Persistent. - - fruit - Name a fruit after something you enjoy eating (ex. ``fruit:man- - go'') (default ``slime mold''). Basically a nostalgic whimsy - that NetHack uses from time to time. You should set this to - something you find more appetizing than slime mold. Apples, - oranges, pears, bananas, and melons already exist in NetHack, - so don't use those. - - gender - Your starting gender (gender:male or gender:female). You may - specify just the first letter. Although you can still denote - your gender using the ``male'' and ``female'' options, the - ``gender'' option will take precedence. The default is to ran- - domly pick an appropriate gender. If you prefix the value with - `!' or ``no'', you will exclude that gender from being picked - randomly. Cannot be set with the `O' command. Persistent. - - help - If more information is available for an object looked at with - the `/' command, ask if you want to see it (default on). Turn- - ing help off makes just looking at things faster, since you - aren't interrupted with the ``More info?'' prompt, but it also - means that you might miss some interesting and/or important in- - formation. Persistent. - - hilite_pet - Visually distinguish pets from similar animals (default off). - The behavior of this option depends on the type of windowing - you use. In text windowing, text highlighting or inverse video - is often used; with tiles, generally displays a heart symbol - near pets. - - hilite_pile - Visually distinguish piles of objects from individual objects - (default off). The behavior of this option depends on the type - of windowing you use. In text windowing, text highlighting or - inverse video is often used; with tiles, generally displays a - small plus-symbol beside the object on the top of the pile. - - horsename - Name your starting horse (ex. ``horsename:Trigger''). Cannot - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 43 - - - - be set with the `O' command. - - ignintr - Ignore interrupt signals, including breaks (default off). Per- - sistent. - - implicit_uncursed - Omit "uncursed" from inventory lists, if possible (default on). - - legacy - Display an introductory message when starting the game (default - on). Persistent. - - lit_corridor - Show corridor squares seen by night vision or a light source - held by your character as lit (default off). Persistent. - - lootabc - Use the old `a', `b', and `c' keyboard shortcuts when looting, - rather than the mnemonics `o', `i', and `b' (default off). - Persistent. - - mail - Enable mail delivery during the game (default on). Persistent. - - male - An obsolete synonym for ``gender:male''. Cannot be set with - the `O' command. - - mention_walls - Give feedback when walking against a wall (default off). - - menucolors - Enable coloring menu lines (default off). See ``Configuring - Menu Colors'' on how to configure the colors. - - menustyle - Controls the interface used when you need to choose various ob- - jects (in response to the Drop command, for instance). The - value specified should be the first letter of one of the fol- - lowing: traditional, combination, full, or partial. Tradi- - tional was the only interface available for early versions; it - consists of a prompt for object class characters, followed by - an object-by-object prompt for all items matching the selected - object class(es). Combination starts with a prompt for object - class(es) of interest, but then displays a menu of matching ob- - jects rather than prompting one-by-one. Full displays a menu - of object classes rather than a character prompt, and then a - menu of matching objects for selection. Partial skips the ob- - ject class filtering and immediately displays a menu of all ob- - jects. Persistent. - - menu_deselect_all - Menu character accelerator to deselect all items in a menu. - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 44 - - - - Implemented by the Amiga, Gem, X11 and tty ports. Default '-'. - - menu_deselect_page - Menu character accelerator to deselect all items on this page - of a menu. Implemented by the Amiga, Gem and tty ports. De- - fault '\'. - - menu_first_page - Menu character accelerator to jump to the first page in a menu. - Implemented by the Amiga, Gem and tty ports. Default '^'. - - menu_headings - Controls how the headings in a menu are highlighted. Values - are 'none', 'bold', 'dim', 'underline', 'blink', or 'inverse'. - Not all ports can actually display all types. - - menu_invert_all - Menu character accelerator to invert all items in a menu. Im- - plemented by the Amiga, Gem, X11 and tty ports. Default '@'. - - menu_invert_page - Menu character accelerator to invert all items on this page of - a menu. Implemented by the Amiga, Gem and tty ports. Default - '~'. - - menu_last_page - Menu character accelerator to jump to the last page in a menu. - Implemented by the Amiga, Gem and tty ports. Default '|'. - - menu_next_page - Menu character accelerator to goto the next menu page. Imple- - mented by the Amiga, Gem and tty ports. Default '>'. - - menu_objsyms - Show object symbols in menu headings in menus where the object - symbols act as menu accelerators (default off). - - menu_overlay - Do not clear the screen before drawing menus, and align menus - to the right edge of the screen. Only for the tty port. (de- - fault on) - - menu_previous_page - Menu character accelerator to goto the previous menu page. Im- - plemented by the Amiga, Gem and tty ports. Default '<'. - - menu_search - Menu character accelerator to search for a menu item. Imple- - mented by the Amiga, Gem, X11 and tty ports. Default ':'. - - menu_select_all - Menu character accelerator to select all items in a menu. Im- - plemented by the Amiga, Gem, X11 and tty ports. Default '.'. - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 45 - - - - menu_select_page - Menu character accelerator to select all items on this page of - a menu. Implemented by the Amiga, Gem and tty ports. Default - ','. - - msghistory - The number of top line messages to save (and recall with ^P) - (default 20). Cannot be set with the `O' command. - - msg_window - Allows you to change the way recalled messages are displayed. - (It is currently implemented for tty only.) The possible val- - ues are: - - s - single message (default; only choice prior to 3.4.0); - c - combination, two messages as `single', then as `full'; - f - full window, oldest message first; - r - full window reversed, newest message first. - - For backward compatibility, no value needs to be specified - (which defaults to `full'), or it can be negated (which de- - faults to `single'). - - name - Set your character's name (defaults to your user name). You - can also set your character's role by appending a dash and one - or more letters of the role (that is, by suffixing one of -A -B - -C -H -K -M -P -Ra -Ro -S -T -V -W). If -@ is used for the - role, then a random one will be automatically chosen. Cannot - be set with the `O' command. - - news - Read the NetHack news file, if present (default on). Since the - news is shown at the beginning of the game, there's no point in - setting this with the `O' command. - - nudist - Start the character with no armor (default false). Persistent. - - null - Send padding nulls to the terminal (default on). Persistent. - - number_pad - Use digit keys instead of letters to move (default 0 or off). - Valid settings are: - - 0 - move by letters; `yuhjklbn' - 1 - move by numbers; digit `5' acts as `G' movement prefix - 2 - like 1 but `5' works as `g' prefix instead of as `G' - 3 - by numbers using phone key layout; 123 above, 789 below - 4 - combines 3 with 2; phone layout plus MSDOS compatibility - -1 - by letters but use `z' to go northwest, `y' to zap wands - - For backward compatibility, omitting a value is the same as - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 46 - - - - specifying 1 and negating number_pad is the same as specifying - 0. (Settings 2 and 4 are for compatibility with MSDOS or old - PC Hack; in addition to the different behavior for `5', `Alt-5' - acts as `G' and `Alt-0' acts as `I'. Setting -1 is to accommo- - date some German keyboards which have the location of the `y' - and `z' keys swapped.) When moving by numbers, to enter a - count prefix for those commands which accept one (such as - ``12s'' to search twelve times), precede it with the letter `n' - (``n12s''). - - packorder - Specify the order to list object types in (default - ``")[%?+!=/(*`0_''). The value of this option should be a - string containing the symbols for the various object types. - Any omitted types are filled in at the end from the previous - order. - - paranoid_confirmation - A space separated list of specific situations where alternate - prompting is desired. The default is paranoid_confirma- - tion:pray. - - Confirm - for any prompts which are set to require "yes" rather - than 'y', also require "no" to reject instead of ac- - cepting any non-yes response as no - quit - require "yes" rather than 'y' to confirm quitting the - game or switching into non-scoring explore mode; - die - require "yes" rather than 'y' to confirm dying (not - useful in normal play; applies to explore mode); - bones - require "yes" rather than 'y' to confirm saving bones - data when dying in debug mode; - attack - require "yes" rather than 'y' to confirm attacking a - peaceful monster; - pray - require 'y' to confirm an attempt to pray rather than - immediately praying; on by default; - wand - require "yes" rather than 'y' to confirm breaking a - wand; - Remove - require selection from inventory for 'R' and 'T' com- - mands even when wearing just one applicable item. - - By default, the pray choice is enabled, the others disabled. - To disable it without setting any of the other choices, use - ``paranoid_confirmation:none''. To keep it enabled while set- - ting any of the others, include it in the list, such as ``para- - noid_confirmation:attack pray Remove''. - - perm_invent - If true, always display your current inventory in a window. - This only makes sense for windowing system interfaces that im- - plement this feature. Persistent. - - pettype - Specify the type of your initial pet, if you are playing a - character class that uses multiple types of pets; or choose to - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 47 - - - - have no initial pet at all. Possible values are ``cat'', - ``dog'', ``horse'', and ``none''. If the choice is not allowed - for the role you are currently playing, it will be silently ig- - nored. For example, ``horse'' will only be honored when play- - ing a knight. Cannot be set with the `O' command. - - pickup_burden - When you pick up an item that would exceed this encumbrance - level (Unencumbered, Burdened, streSsed, straiNed, overTaxed, - or overLoaded), you will be asked if you want to continue. - (Default `S'). Persistent. - - pickup_thrown - If this option is on and autopickup is also on, try to pick up - things that you threw, even if they aren't in pickup_types or - match an autopickup exception. Default is on. Persistent. - - pickup_types - Specify the object types to be picked up when autopickup is on. - Default is all types. You can use autopickup_exception config- - uration file lines to further refine autopickup behavior. Per- - sistent. - - pile_limit - When walking across a pile of objects on the floor, threshold - at which the message "there are few/several/many objects here" - is given instead of showing a popup list of those objects. A - value of 0 means "no limit" (always list the objects); a value - of 1 effectively means "never show the objects" since the pile - size will always be at least that big; default value is 5. - Persistent. - - playmode - Values are `normal', `explore', or `debug'. Allows selection - of explore mode (also known as discovery mode) or debug mode - (also known as wizard mode) instead of normal play. Debug mode - might only be allowed for someone logged in under a particular - user name (on multi-user systems) or specifying a particular - character name (on single-user systems) or it might be disabled - entirely. Requesting it when not allowed or not possible re- - sults in explore mode instead. Default is normal play. - - pushweapon - Using the `w' (wield) command when already wielding something - pushes the old item into your alternate weapon slot (default - off). Likewise for the `a' (apply) command if it causes the - applied item to become wielded. Persistent. - - race - Selects your race (for example, ``race:human''). Default is - random. If you prefix the value with `!' or ``no'', you will - exclude that race from being picked randomly. Cannot be set - with the `O' command. Persistent. - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 48 - - - - rest_on_space - Make the space bar a synonym for the `.' (rest) command (de- - fault off). Persistent. - - role - Pick your type of character (ex. ``role:Samurai''); synonym for - ``character''. See ``name'' for an alternate method of speci- - fying your role. Normally only the first letter of the value - is examined; `r' is an exception with ``Rogue'', ``Ranger'', - and ``random'' values. If you prefix the value with `!' or - ``no'', you will exclude that role from being picked randomly. - Cannot be set with the `O' command. Persistent. - - roguesymset - This option may be used to select one of the named symbol sets - found within ``symbols'' to alter the symbols displayed on the - screen on the rogue level. - - rlecomp - When writing out a save file, perform run length compression of - the map. Not all ports support run length compression. It has - no effect on reading an existing save file. - - runmode - Controls the amount of screen updating for the map window when - engaged in multi-turn movement (running via shift+direction or - control+direction and so forth, or via the travel command or - mouse click). The possible values are: - - teleport - update the map after movement has finished; - run - update the map after every seven or so steps; - walk - update the map after each step; - crawl - like walk, but pause briefly after each step. - - This option only affects the game's screen display, not the ac- - tual results of moving. The default is `run'; versions prior - to 3.4.1 used `teleport' only. Whether or not the effect is - noticeable will depend upon the window port used or on the type - of terminal. Persistent. - - safe_pet - Prevent you from (knowingly) attacking your pets (default on). - Persistent. - - scores - Control what parts of the score list you are shown at the end - (ex. ``scores:5 top scores/4 around my score/own scores''). - Only the first letter of each category (`t', `a', or `o') is - necessary. Persistent. - - showexp - Show your accumulated experience points on bottom line (default - off). Persistent. - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 49 - - - - showrace - Display yourself as the glyph for your race, rather than the - glyph for your role (default off). Note that this setting af- - fects only the appearance of the display, not the way the game - treats you. Persistent. - - showscore - Show your approximate accumulated score on bottom line (default - off). Persistent. - - silent - Suppress terminal beeps (default on). Persistent. - - sortloot - Controls the sorting behavior of the pickup lists for inventory - and #loot commands and some others. Persistent. The possible - values are: - - full - always sort the lists; - loot - only sort the lists that don't use inventory letters, - like with the #loot and pickup commands; - none - show lists the traditional way without sorting. - - sortpack - Sort the pack contents by type when displaying inventory (de- - fault on). Persistent. - - sparkle - Display a sparkly effect when a monster (including yourself) is - hit by an attack to which it is resistant (default on). Per- - sistent. - - standout - Boldface monsters and ``--More--'' (default off). Persistent. - - statushilites - Enable coloring of status fields (default off). See ``Config- - uring Status Hilites'' for futher information. - - suppress_alert - This option may be set to a NetHack version level to suppress - alert notification messages about feature changes for that and - prior versions (ex. ``suppress_alert:3.3.1''). - - symset - This option may be used to select one of the named symbol sets - found within ``symbols'' to alter the symbols displayed on the - screen. Use ``symset:default'' to explicitly select the de- - fault symbols. - - time - Show the elapsed game time in turns on bottom line (default - off). Persistent. - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 50 - - - - timed_delay - When pausing momentarily for display effect, such as with ex- - plosions and moving objects, use a timer rather than sending - extra characters to the screen. (Applies to ``tty'' interface - only; ``X11'' interface always uses a timer based delay. The - default is on if configured into the program.) Persistent. - - tombstone - Draw a tombstone graphic upon your death (default on). Persis- - tent. - - toptenwin - Put the ending display in a NetHack window instead of on stdout - (default off). Setting this option makes the score list visi- - ble when a windowing version of NetHack is started without a - parent window, but it no longer leaves the score list around - after game end on a terminal or emulating window. - - travel - Allow the travel command (default on). Turning this option off - will prevent the game from attempting unintended moves if you - make inadvertent mouse clicks on the map window. Persistent. - - verbose - Provide more commentary during the game (default on). Persis- - tent. - - whatis_coord - When using the `/' or `;' commands to look around on the map - with autodescribe on, display coordinates after the descrip- - tion. Also works in other situations where you are asked to - pick a location. - - The possibile settings are: - - c - compass ('east' or '3s' or '2n,4w'); - m - map (map column x=0 is not used); - s - screen [row,column] (row is offset to match tty usage); - n - none (no coordinates shown) [default]. - - The whatis_coord option is also used with the `/m', `/M', `/o', - and `/O' sub-commands of `/', where the `none' setting is over- - ridden with `map'. - - windowtype - Select which windowing system to use, such as ``tty'' or - ``X11'' (default depends on version). Cannot be set with the - `O' command. - - zerocomp - When writing out a save file, perform zero-comp compression of - the contents. Not all ports support zero-comp compression. It - has no effect on reading an existing save file. - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 51 - - - - 9.5. Window Port Customization options - - Here are explanations of the various options that are used - to customize and change the characteristics of the windowtype - that you have chosen. Character strings that are too long may be - truncated. Not all window ports will adjust for all settings - listed here. You can safely add any of these options to your - config file, and if the window port is capable of adjusting to - suit your preferences, it will attempt to do so. If it can't it - will silently ignore it. You can find out if an option is sup- - ported by the window port that you are currently using by check- - ing to see if it shows up in the Options list. Some options are - dynamic and can be specified during the game with the `O' com- - mand. - - align_message - Where to align or place the message window (top, bottom, left, - or right) - - align_status - Where to align or place the status window (top, bottom, left, - or right). - - ascii_map - NetHack should display an ascii character map if it can. - - color - NetHack should display color if it can for different monsters, - objects, and dungeon features - - eight_bit_tty - NetHack should pass eight-bit character values (for example, - specified with the traps option) straight through to your ter- - minal (default off). - - font_map - NetHack should use a font by the chosen name for the map win- - dow. - - font_menu - NetHack should use a font by the chosen name for menu windows. - - font_message - NetHack should use a font by the chosen name for the message - window. - - font_status - NetHack should use a font by the chosen name for the status - window. - - font_text - NetHack should use a font by the chosen name for text windows. - - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 52 - - - - font_size_map - NetHack should use this size font for the map window. - - font_size_menu - NetHack should use this size font for menu windows. - - font_size_message - NetHack should use this size font for the message window. - - font_size_status - NetHack should use this size font for the status window. - - font_size_text - NetHack should use this size font for text windows. - - fullscreen - NetHack should try and display on the entire screen rather than - in a window. - - large_font - NetHack should use a large font. - - map_mode - NetHack should display the map in the manner specified. - - mouse_support - Allow use of the mouse for input and travel. - - player_selection - NetHack should pop up dialog boxes, or use prompts for charac- - ter selection. - - popup_dialog - NetHack should pop up dialog boxes for input. - - preload_tiles - NetHack should preload tiles into memory. For example, in the - protected mode MSDOS version, control whether tiles get pre- - loaded into RAM at the start of the game. Doing so enhances - performance of the tile graphics, but uses more memory. (de- - fault on). Cannot be set with the `O' command. - - scroll_amount - NetHack should scroll the display by this number of cells when - the hero reaches the scroll_margin. - - scroll_margin - NetHack should scroll the display when the hero or cursor is - this number of cells away from the edge of the window. - - selectsaved - NetHack should display a menu of existing saved games for the - player to choose from at game startup, if it can. Not all ports - support this option. - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 53 - - - - softkeyboard - Display an onscreen keyboard. Handhelds are most likely to - support this option. - - splash_screen - NetHack should display an opening splash screen when it starts - up (default yes). - - tiled_map - NetHack should display a tiled map if it can. - - tile_file - Specify the name of an alternative tile file to override the - default. - - tile_height - Specify the preferred height of each tile in a tile capable - port. - - tile_width - Specify the preferred width of each tile in a tile capable port - - use_darkgray - Use bold black instead of blue for black glyphs (TTY only). - - use_inverse - NetHack should display inverse when the game specifies it. - - vary_msgcount - NetHack should display this number of messages at a time in the - message window. - - windowcolors - NetHack should display windows with the specified fore- - ground/background colors if it can. - - wraptext - NetHack port should wrap long lines of text if they don't fit - in the visible area of the window. - - 9.6. Platform-specific Customization options - - Here are explanations of options that are used by specific - platforms or ports to customize and change the port behavior. - - altkeyhandler - Select an alternate keystroke handler dll to load (Win32 tty - NetHack only). The name of the handler is specified without - the .dll extension and without any path information. Cannot be - set with the `O' command. - - altmeta - On Amiga, this option controls whether typing `Alt' plus anoth- - er key functions as a meta-shift for that key (default on). - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 54 - - - - altmeta - On other (non-Amiga) systems where this option is available, it - can be set to tell nethack to convert a two character sequence - beginning with ESC into a meta-shifted version of the second - character (default off). - - This conversion is only done for commands, not for other input - prompts. Note that typing one or more digits as a count prefix - prior to a command--preceded by n if the number_pad option is - set--is also subject to this conversion, so attempting to abort - the count by typing ESC will leave nethack waiting for another - character to complete the two character sequence. Type a sec- - ond ESC to finish cancelling such a count. At other prompts a - single ESC suffices. - - BIOS - Use BIOS calls to update the screen display quickly and to read - the keyboard (allowing the use of arrow keys to move) on ma- - chines with an IBM PC compatible BIOS ROM (default off, OS/2, - PC, and ST NetHack only). - - flush - (default off, AMIGA NetHack only). - - MACgraphics - (default on, Mac NetHack only). - - page_wait - (default on, Mac NetHack only). - - rawio - Force raw (non-cbreak) mode for faster output and more bullet- - proof input (MS-DOS sometimes treats `^P' as a printer toggle - without it) (default off, OS/2, PC, and ST NetHack only). - Note: DEC Rainbows hang if this is turned on. Cannot be set - with the `O' command. - - soundcard - (default on, PC NetHack only). Cannot be set with the `O' com- - mand. - - subkeyvalue - (Win32 tty NetHack only). May be used to alter the value of - keystrokes that the operating system returns to NetHack to help - compensate for international keyboard issues. OPTIONS=subkey- - value:171/92 will return 92 to NetHack, if 171 was originally - going to be returned. You can use multiple subkeyvalue state- - ments in the config file if needed. Cannot be set with the `O' - command. - - video - Set the video mode used (PC NetHack only). Values are `autode- - tect', `default', or `vga'. Setting `vga' (or `autodetect' - with vga hardware present) will cause the game to display - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 55 - - - - tiles. Cannot be set with the `O' command. - - videocolors - Set the color palette for PC systems using NO_TERMS (default - 4-2-6-1-5-3-15-12-10-14-9-13-11, (PC NetHack only). The order - of colors is red, green, brown, blue, magenta, cyan, - bright.white, bright.red, bright.green, yellow, bright.blue, - bright.magenta, and bright.cyan. Cannot be set with the `O' - command. - - videoshades - Set the intensity level of the three gray scales available (de- - fault dark normal light, PC NetHack only). If the game display - is difficult to read, try adjusting these scales; if this does - not correct the problem, try !color. Cannot be set with the - `O' command. - - 9.7. Regular Expressions - - Regular expressions are normally POSIX extended regular ex- - pressions. It is possible to compile NetHack without regular ex- - pression support on a platform where there is no regular expres- - sion library. While this is not true of any modern platform, if - your NetHack was built this way, patterns are instead glob pat- - terns. This applies to Autopickup exceptions, Message types, Menu - colors, and User sounds. - - 9.8. Configuring Autopickup Exceptions - - You can further refine the behavior of the autopickup option - beyond what is available through the pickup_types option. - - By placing autopickup_exception lines in your configuration - file, you can define patterns to be checked when the game is - about to autopickup something. - - autopickup_exception - Sets an exception to the pickup_types option. The autopick- - up_exception option should be followed by a regular expression - to be used as a pattern to match against the singular form of - the description of an object at your location. - - In addition, some characters are treated specially if they oc- - cur as the first character in the pattern, specifically: - - < - always pickup an object that matches rest of pattern; - > - never pickup an object that matches rest of pattern. - - A `never pickup' rule takes precedence over an `always pickup' - rule if both match. - - Exceptions can be set with the `O' command, but ones set that - way will not be preserved across saves and restores. - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 56 - - - - Here are some examples: - - autopickup_exception="<*arrow" - autopickup_exception=">*corpse" - autopickup_exception=">* cursed*" - - The first example above will result in autopickup of any - type of arrow. The second example results in the exclusion of - any corpse from autopickup. The last example results in the ex- - clusion of items known to be cursed from autopickup. - - 9.9. Configuring Message Types - - You can change the way the messages are shown in the message - area, when the message matches a user-defined pattern. - - In general, the config file entries to configure the message - types look like this: MSGTYPE=type "pattern" - - type - how the message should be shown; - pattern - the pattern to match. - - The pattern should be a regular expression. - - Allowed types are: - - show - show message normally. - hide - never show the message. - stop - wait for user with more-prompt. - norep - show the message once, but not again if no other message is shown in between. - - Here's an example of message types using NetHack's internal - pattern matching facility: - - MSGTYPE=stop "You feel hungry." - MSGTYPE=hide "You displaced *." - - specifies that whenever a message "You feel hungry" is shown, - the user is prompted with more-prompt, and a message matching - "You displaced ." is not shown at all. - - The order of the defined MSGTYPE-lines is important; the last - matching rule is used. Put the general case first, exceptions - below them. - - 9.10. Configuring Menu Colors - - Some platforms allow you to define colors used in menu lines - when the line matches a user-defined pattern. At this time the - tty, win32tty and win32gui support this. - - In general, the config file entries to configure the menu - color mappings look like this: - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 57 - - - - MENUCOLOR="pattern"=color&attribute - - pattern - the pattern to match; - color - the color to use for lines matching the pat- - tern; - attribute - the attribute to use for lines matching the - pattern. The attribute is optional, and if - left out, you must also leave out the preced- - ing ampersand. If no attribute is defined, - no attribute is used. - - The pattern should be a regular expression. - - Allowed colors are black, red, green, brown, blue, magenta, - cyan, gray, orange, lightgreen, yellow, lightblue, lightmagen- - ta, lightcyan, and white. - - Allowed attributes are none, bold, dim, underline, blink, and - inverse. Note that the platform used may interpret the at- - tributes any way it wants. - - Here's an example of menu colors using NetHack's internal pat- - tern matching facility: - - MENUCOLOR="* blessed *"=green - MENUCOLOR="* cursed *"=red - MENUCOLOR="* cursed *(being worn)"=red&underline - - specifies that any menu line with " blessed " contained in it - will be shown in green color, lines with " cursed " will be - shown in red, and lines with " cursed " followed by "(being - worn)" on the same line will be shown in red color and under- - lined. You can have multiple MENUCOLOR entries in your config - file, and the last MENUCOLOR-line in your config file that - matches a menu line will be used for the line. - - Note that if you intend to have one or more color specifica- - tions match " uncursed ", you will probably want to turn the im- - plicit_uncursed option off so that all items known to be uncursed - are actually displayed with the ``uncursed'' description. - - 9.11. Configuring User Sounds - - Some platforms allow you to define sound files to be played - when a message that matches a user-defined pattern is delivered - to the message window. At this time the Qt port and the win32tty - and win32gui ports support the use of user sounds. - - The following config file entries are relevant to mapping - user sounds to messages: - - SOUNDDIR - The directory that houses the sound files to be played. - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 58 - - - - SOUND - An entry that maps a sound file to a user-specified message - pattern. Each SOUND entry is broken down into the following - parts: - - MESG - message window mapping (the only one supported in - 3.6); - pattern - the pattern to match; - sound file - the sound file to play; - volume - the volume to be set while playing the sound file. - - The pattern should be a POSIX extended regular expression. - - 9.12. Configuring Status Hilites - - Your copy of NetHack may have been compiled with support for - ``Status Hilites''. If so, you can customize your game display - by setting thresholds to change the color or appearance of fields - in the status display. - - For example, the following line in your config file will - cause the hitpoints field to display in the color red if your - hitpoints drop to or below a threshold of 30%: - - OPTION=hilite_status: hitpoints/30%/red/normal - - For another example, the following line in your config file - will cause wisdom to be displayed red if it drops and green if it - rises. - - OPTION=hilite_status: wisdom/updown/red/green - - You can adjust the display of the following status fields: - title strength dexterity - constitution intelligence wisdom - charisma alignment score - carrying-capacity gold power - power-max experience-level armor-class - HD time hunger - hitpoints hitpoints-max dungeon-level - experience condition - - Allowed colors are black, red, green, brown, blue, magenta, - cyan, gray, orange, lightgreen, yellow, lightblue, lightmagen- - ta, lightcyan, and white. - - Allowed attributes are bold, inverse, normal. Note that the - platform used may interpret the attributes any way it wants. - - Behaviours can occur based on percentage thresholds, updown, or - absolute values. The in-game options menu can help you deter- - mine the correct syntax for a config file. - - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 59 - - - - The whole feature can be disabled by setting option sta- - tushilites off. - - 9.13. Modifying NetHack Symbols - - NetHack can load entire symbol sets from the symbol file. - - The options that are used to select a particular symbol set - from the symbol file are: - - symset - Set the name of the symbol set that you want to load. - - roguesymset - Set the name of the symbol set that you want to load for dis- - play on the rogue level. - - You can also override one or more symbols using the SYMBOLS - config file option. Symbols are specified as name:value pairs. - Note that NetHack escape-processes the value string in conven- - tional C fashion. This means that \ is a prefix to take the fol- - lowing character literally. Thus \ needs to be represented as \\. - The special escape form \m switches on the meta bit in the symbol - value, and the \^ prefix causes the following character to be - treated as a control character. - - NetHack Symbols - Default Symbol Name Description - ------------------------------------------------------------------------ - S_air (air) - _ S_altar (altar) - " S_amulet (amulet) - A S_angel (angelic being) - a S_ant (ant or other insect) - ^ S_anti_magic_trap (anti-magic field) - [ S_armor (suit or piece of armor) - [ S_armour (suit or piece of armor) - ^ S_arrow_trap (arrow trap) - 0 S_ball (iron ball) - # S_bars (iron bars) - B S_bat (bat or bird) - ^ S_bear_trap (bear trap) - - S_blcorn (bottom left corner) - b S_blob (blob) - + S_book (spellbook) - ) S_boomleft (boomerang open left) - ( S_boomright (boomerang open right) - ` S_boulder (boulder) - - S_brcorn (bottom right corner) - C S_centaur (centaur) - _ S_chain (iron chain) - # S_cloud (cloud) - c S_cockatrice (cockatrice) - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 60 - - - - $ S_coin (pile of coins) - # S_corr (corridor) - - S_crwall (wall) - ^ S_dart_trap (dart trap) - & S_demon (major demon) - * S_digbeam (dig beam) - > S_dnladder (ladder down) - > S_dnstair (staircase down) - d S_dog (dog or other canine) - D S_dragon (dragon) - ; S_eel (sea monster) - E S_elemental (elemental) - / S_explode1 (explosion top left) - - S_explode2 (explosion top center) - `\' S_explode3 (explosion top right) - | S_explode4 (explosion middle left) - S_explode5 (explosion middle center) - | S_explode6 (explosion middle right) - `\' S_explode7 (explosion bottom left) - - S_explode8 (explosion bottom center) - / S_explode9 (explosion bottom right) - e S_eye (eye or sphere) - ^ S_falling_rock_trap (falling rock trap) - f S_feline (cat or other feline) - ^ S_fire_trap (fire trap) - ! S_flashbeam (flash beam) - % S_food (piece of food) - { S_fountain (fountain) - F S_fungus (fungus or mold) - * S_gem (gem or rock) - S_ghost (ghost) - H S_giant (giant humanoid) - G S_gnome (gnome) - ' S_golem (golem) - | S_grave (grave) - g S_gremlin (gremlin) - - S_hbeam (wall) - # S_hcdbridge (horizontal raised drawbridge) - + S_hcdoor (closed door) - | S_hodoor (open door) - ^ S_hole (hole) - @ S_human (human or elf) - h S_humanoid (humanoid) - - S_hwall (horizontal wall) - i S_imp (imp or minor demon) - J S_jabberwock (jabberwock) - j S_jelly (jelly) - k S_kobold (kobold) - K S_kop (Keystone Kop) - ^ S_land_mine (land mine) - } S_lava (molten lava) - l S_leprechaun (leprechaun) - ^ S_level_teleporter (level teleporter) - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 61 - - - - L S_lich (lich) - y S_light (light) - # S_litcorr (lit corridor) - : S_lizard (lizard) - `\' S_lslant (wall) - ^ S_magic_portal (magic portal) - ^ S_magic_trap (magic trap) - m S_mimic (mimic) - ] S_mimic_def (mimic) - M S_mummy (mummy) - N S_naga (naga) - n S_nymph (nymph) - O S_ogre (ogre) - o S_orc (orc) - p S_piercer (piercer) - ^ S_pit (pit) - # S_poisoncloud (poison cloud) - ^ S_polymorph_trap (polymorph trap) - } S_pool (water) - ! S_potion (potion) - P S_pudding (pudding or ooze) - q S_quadruped (quadruped) - Q S_quantmech (quantum mechanic) - = S_ring (ring) - ` S_rock (boulder or statue) - r S_rodent (rodent) - ^ S_rolling_boulder_trap (rolling boulder trap) - / S_rslant (wall) - ^ S_rust_trap (rust trap) - R S_rustmonst (rust monster or disenchanter) - ? S_scroll (scroll) - # S_sink (sink) - ^ S_sleeping_gas_trap (sleeping gas trap) - S S_snake (snake) - s S_spider (arachnid or centipede) - ^ S_spiked_pit (spiked pit) - ^ S_squeaky_board (squeaky board) - 0 S_ss1 (magic shield 1 of 4) - # S_ss2 (magic shield 2 of 4) - @ S_ss3 (magic shield 3 of 4) - * S_ss4 (magic shield 4 of 4) - ^ S_statue_trap (statue trap) - S_stone (dark part of a room) - - S_sw_bc (swallow bottom center) - `\' S_sw_bl (swallow bottom left) - / S_sw_br (swallow bottom right) - | S_sw_ml (swallow middle left) - | S_sw_mr (swallow middle right) - - S_sw_tc (swallow top center) - / S_sw_tl (swallow top left) - `\' S_sw_tr (swallow top right) - - S_tdwall (wall) - ^ S_teleportation_trap (teleportation trap) - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 62 - - - - S_throne (opulent throne) - - S_tlcorn (top left corner) - | S_tlwall (wall) - ( S_tool (useful item (pick-axe key lamp...)) - ^ S_trap_door (trap door) - t S_trapper (trapper or lurker above) - - S_trcorn (top right corner) - # S_tree (tree) - T S_troll (troll) - | S_trwall (wall) - - S_tuwall (wall) - U S_umber (umber hulk) - u S_unicorn (unicorn or horse) - < S_upladder (ladder up) - < S_upstair (staircase up) - V S_vampire (vampire) - | S_vbeam (wall) - # S_vcdbridge (vertical raised drawbridge) - + S_vcdoor (closed door) - ^ S_vibrating_square (vibrating square) - - S_vodoor (open door) - v S_vortex (vortex) - | S_vwall (vertical wall) - / S_wand (wand) - } S_water (water) - ) S_weapon (weapon) - " S_web (web) - w S_worm (worm) - ~ S_worm_tail (long worm tail) - W S_wraith (wraith) - x S_xan (xan or other mythical/fantastic insect) - X S_xorn (xorn) - Y S_yeti (apelike creature) - Z S_zombie (zombie) - z S_zruty (zruty) - - 9.14. Configuring NetHack for Play by the Blind - - NetHack can be set up to use only standard ASCII characters - for making maps of the dungeons. This makes the MS-DOS versions - of NetHack completely accessible to the blind who use speech - and/or Braille access technologies. Players will require a good - working knowledge of their screen-reader's review features, and - will have to know how to navigate horizontally and vertically - character by character. They will also find the search capabili- - ties of their screen-readers to be quite valuable. Be certain to - examine this Guidebook before playing so you have an idea what - the screen layout is like. You'll also need to be able to locate - the PC cursor. It is always where your character is located. - Merely searching for an @-sign will not always find your charac- - ter since there are other humanoids represented by the same sign. - Your screen-reader should also have a function which gives you - the row and column of your review cursor and the PC cursor. - These co-ordinates are often useful in giving players a better - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 63 - - - - sense of the overall location of items on the screen. - - While it is not difficult for experienced users to edit the - defaults.nh file to accomplish this, novices may find this task - somewhat daunting. Included within the ``symbols'' file of all - official distributions of NetHack is a symset called NHAccess. - Selecting that symset in your configuration file will cause the - game to run in a manner accessible to the blind. After you have - gained some experience with the game and with editing files, you - may want to alter settings via SYMBOLS= in your configuration - file to better suit your preferences. The most crucial settings - to make the game accessible are: - - symset:NHAccess - Load a symbol set appropriate for use by blind players. - - roguesymset:NHAccess - Load a symbol set for the rogue level that is appropriate for - use by blind players. - - menustyle:traditional - This will assist in the interface to speech synthesizers. - - number_pad - A lot of speech access programs use the number-pad to review - the screen. If this is the case, disable the number_pad option - and use the traditional Rogue-like commands. - - 9.15. Global Configuration for System Administrators - - If NetHack is compiled with the SYSCF option, a system ad- - ministrator should set up a global configuration; this is a file - in the same format as the traditional per-user configuration file - (see above). This file should be named sysconf and placed in the - same directory as the other NetHack support files. The options - recognized in this file are listed below. Any option not set us- - es a compiled-in default (which may not be appropriate for your - system). - - WIZARDS = A space-separated list of user names who are allowed - to play in wizard mode (the debugging mode, not the magic-using - role). A value of a single asterisk (*) allows anyone to start - a game in wizard mode. - - SHELLERS = A list of users who are allowed to use the shell es- - cape command (!). The syntax is the same as WIZARDS. - - EXPLORERS = A list of users who are allowed to use the explore - mode. The syntax is the same as WIZARDS. - - MAXPLAYERS = Limit the maximum number of games that can be run- - ning at the same time. - - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 64 - - - - SUPPORT = A string explaining how to get local support (no de- - fault value). - - RECOVER = A string explaining how to recover a game on this - system (no default value). - - SEDUCE = 0 or 1 to disable or enable, respectively, the SEDUCE - option. When disabled, incubi and succubi behave like nymphs. - - CHECK_PLNAME = Setting this to 1 will make the EXPLORERS, WIZ- - ARDS, and SHELLERS check for the player name instead of the us- - er's login name. - - CHECK_SAVE_UID = 0 or 1 to disable or enable, respectively, the - UID (used identification number) checking for save files (to - verify that the user who is restoring is the same one who - saved). - - The following options affect the score file: - - PERSMAX = Maximum number of entries for one person. - - ENTRYMAX = Maximum number of entries in the score file. - - POINTSMIN = Minimum number of points to get an entry in the - score file. - - PERS_IS_UID = 0 or 1 to use user names or numeric userids, re- - spectively, to identify unique people for the score file. - - MAX_STATUENAME_RANK = Maximum number of score file entries to - use for random statue names (default is 10). - - 10. Scoring - - NetHack maintains a list of the top scores or scorers on - your machine, depending on how it is set up. In the latter case, - each account on the machine can post only one non-winning score - on this list. If you score higher than someone else on this - list, or better your previous score, you will be inserted in the - proper place under your current name. How many scores are kept - can also be set up when NetHack is compiled. - - Your score is chiefly based upon how much experience you - gained, how much loot you accumulated, how deep you explored, and - how the game ended. If you quit the game, you escape with all of - your gold intact. If, however, you get killed in the Mazes of - Menace, the guild will only hear about 90% of your gold when your - corpse is discovered (adventurers have been known to collect - finder's fees). So, consider whether you want to take one last - hit at that monster and possibly live, or quit and stop with - whatever you have. If you quit, you keep all your gold, but if - you swing and live, you might find more. - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 65 - - - - If you just want to see what the current top players/games - list is, you can type nethack -s all on most versions. - - - 11. Explore mode - - NetHack is an intricate and difficult game. Novices might - falter in fear, aware of their ignorance of the means to survive. - Well, fear not. Your dungeon comes equipped with an ``explore'' - or ``discovery'' mode that enables you to keep old save files and - cheat death, at the paltry cost of not getting on the high score - list. - - There are two ways of enabling explore mode. One is to - start the game with the -X command-line switch or with the play- - mode:explore option. The other is to issue the ``#exploremode'' - extended command while already playing the game. Starting a new - game in explore mode provides your character with a wand of wish- - ing in initial inventory; switching during play does not. The - other benefits of explore mode are left for the trepid reader to - discover. - - 11.1. Debug mode - - Debug mode, also known as wizard mode, is undocumented aside - from this brief description. It is intended for tracking down - problems within the program rather than to provide god-like pow- - ers to your character, and players who attempt debugging are ex- - pected to figure out how to use it themselves. It is initiated - by starting the game with the -D command-line switch or with the - playmode:debug option. - - For some systems, the player must be logged in under a par- - ticular user name to be allowed to use debug mode; for others, - the hero must be given a particular character name (but may be - any role; there's no connection between ``wizard mode'' and the - Wizard role). And on any system, the program might have been - configured to omit debug mode entirely. Attempting to start a - game in debug mode when not allowed or not available will result - in falling back to explore mode instead. - - - 12. Credits - - The original hack game was modeled on the Berkeley UNIX - rogue game. Large portions of this paper were shamelessly - cribbed from A Guide to the Dungeons of Doom, by Michael C. Toy - and Kenneth C. R. C. Arnold. Small portions were adapted from - Further Exploration of the Dungeons of Doom, by Ken Arromdee. - - NetHack is the product of literally dozens of people's work. - Main events in the course of the game development are described - below: - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 66 - - - - Jay Fenlason wrote the original Hack, with help from Kenny - Woodland, Mike Thome and Jon Payne. - - Andries Brouwer did a major re-write, transforming Hack into - a very different game, and published (at least) three versions - (1.0.1, 1.0.2, and 1.0.3) for UNIX machines to the Usenet. - - Don G. Kneller ported Hack 1.0.3 to Microsoft C and MS-DOS, - producing PC HACK 1.01e, added support for DEC Rainbow graphics - in version 1.03g, and went on to produce at least four more ver- - sions (3.0, 3.2, 3.51, and 3.6). - - R. Black ported PC HACK 3.51 to Lattice C and the Atari - 520/1040ST, producing ST Hack 1.03. - - Mike Stephenson merged these various versions back together, - incorporating many of the added features, and produced NetHack - 1.4. He then coordinated a cast of thousands in enhancing and - debugging NetHack 1.4 and released NetHack versions 2.2 and 2.3. - - Later, Mike coordinated a major rewrite of the game, heading - a team which included Ken Arromdee, Jean-Christophe Collet, Steve - Creps, Eric Hendrickson, Izchak Miller, John Rupley, Mike Threep- - oint, and Janet Walz, to produce NetHack 3.0c. - - NetHack 3.0 was ported to the Atari by Eric R. Smith, to - OS/2 by Timo Hakulinen, and to VMS by David Gentzel. The three - of them and Kevin Darcy later joined the main development team to - produce subsequent revisions of 3.0. - - Olaf Seibert ported NetHack 2.3 and 3.0 to the Amiga. Norm - Meluch, Stephen Spackman and Pierre Martineau designed overlay - code for PC NetHack 3.0. Johnny Lee ported NetHack 3.0 to the - Macintosh. Along with various other Dungeoneers, they continued - to enhance the PC, Macintosh, and Amiga ports through the later - revisions of 3.0. - - Headed by Mike Stephenson and coordinated by Izchak Miller - and Janet Walz, the development team which now included Ken Ar- - romdee, David Cohrs, Jean-Christophe Collet, Kevin Darcy, Matt - Day, Timo Hakulinen, Steve Linhart, Dean Luick, Pat Rankin, Eric - Raymond, and Eric Smith undertook a radical revision of 3.0. - They re-structured the game's design, and re-wrote major parts of - the code. They added multiple dungeons, a new display, special - individual character quests, a new endgame and many other new - features, and produced NetHack 3.1. - - Ken Lorber, Gregg Wonderly and Greg Olson, with help from - Richard Addison, Mike Passaretti, and Olaf Seibert, developed - NetHack 3.1 for the Amiga. - - Norm Meluch and Kevin Smolkowski, with help from Carl Sche- - lin, Stephen Spackman, Steve VanDevender, and Paul Winner, ported - NetHack 3.1 to the PC. - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 67 - - - - Jon W{tte and Hao-yang Wang, with help from Ross Brown, Mike - Engber, David Hairston, Michael Hamel, Jonathan Handler, Johnny - Lee, Tim Lennan, Rob Menke, and Andy Swanson, developed NetHack - 3.1 for the Macintosh, porting it for MPW. Building on their de- - velopment, Barton House added a Think C port. - - Timo Hakulinen ported NetHack 3.1 to OS/2. Eric Smith port- - ed NetHack 3.1 to the Atari. Pat Rankin, with help from Joshua - Delahunty, was responsible for the VMS version of NetHack 3.1. - Michael Allison ported NetHack 3.1 to Windows NT. - - Dean Luick, with help from David Cohrs, developed NetHack - 3.1 for X11. Warwick Allison wrote a tiled version of NetHack - for the Atari; he later contributed the tiles to the DevTeam and - tile support was then added to other platforms. - - The 3.2 development team, comprised of Michael Allison, Ken - Arromdee, David Cohrs, Jessie Collet, Steve Creps, Kevin Darcy, - Timo Hakulinen, Steve Linhart, Dean Luick, Pat Rankin, Eric - Smith, Mike Stephenson, Janet Walz, and Paul Winner, released - version 3.2 in April of 1996. - - Version 3.2 marked the tenth anniversary of the formation of - the development team. In a testament to their dedication to the - game, all thirteen members of the original development team re- - mained on the team at the start of work on that release. During - the interval between the release of 3.1.3 and 3.2, one of the - founding members of the development team, Dr. Izchak Miller, was - diagnosed with cancer and passed away. That release of the game - was dedicated to him by the development and porting teams. - - During the lifespan of NetHack 3.1 and 3.2, several enthusi- - asts of the game added their own modifications to the game and - made these ``variants'' publicly available: - - Tom Proudfoot and Yuval Oren created NetHack++, which was - quickly renamed NetHack--. Working independently, Stephen White - wrote NetHack Plus. Tom Proudfoot later merged NetHack Plus and - his own NetHack-- to produce SLASH. Larry Stewart-Zerba and War- - wick Allison improved the spell casting system with the Wizard - Patch. Warwick Allison also ported NetHack to use the Qt inter- - face. - - Warren Cheung combined SLASH with the Wizard Patch to pro- - duce Slash'em, and with the help of Kevin Hugo, added more fea- - tures. Kevin later joined the DevTeam and incorporated the best - of these ideas in NetHack 3.3. - - The final update to 3.2 was the bug fix release 3.2.3, which - was released simultaneously with 3.3.0 in December 1999 just in - time for the Year 2000. - - The 3.3 development team, consisting of Michael Allison, Ken - Arromdee, David Cohrs, Jessie Collet, Steve Creps, Kevin Darcy, - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 68 - - - - Timo Hakulinen, Kevin Hugo, Steve Linhart, Ken Lorber, Dean - Luick, Pat Rankin, Eric Smith, Mike Stephenson, Janet Walz, and - Paul Winner, released 3.3.0 in December 1999 and 3.3.1 in August - of 2000. - - Version 3.3 offered many firsts. It was the first version to - separate race and profession. The Elf class was removed in pref- - erence to an elf race, and the races of dwarves, gnomes, and orcs - made their first appearance in the game alongside the familiar - human race. Monk and Ranger roles joined Archeologists, Barbar- - ians, Cavemen, Healers, Knights, Priests, Rogues, Samurai, - Tourists, Valkyries and of course, Wizards. It was also the - first version to allow you to ride a steed, and was the first - version to have a publicly available web-site listing all the - bugs that had been discovered. Despite that constantly growing - bug list, 3.3 proved stable enough to last for more than a year - and a half. - - The 3.4 development team initially consisted of Michael Al- - lison, Ken Arromdee, David Cohrs, Jessie Collet, Kevin Hugo, Ken - Lorber, Dean Luick, Pat Rankin, Mike Stephenson, Janet Walz, and - Paul Winner, with Warwick Allison joining just before the re- - lease of NetHack 3.4.0 in March 2002. - - As with version 3.3, various people contributed to the game - as a whole as well as supporting ports on the different platforms - that NetHack runs on: - - Pat Rankin maintained 3.4 for VMS. - - Michael Allison maintained NetHack 3.4 for the MS-DOS plat- - form. Paul Winner and Yitzhak Sapir provided encouragement. - - Dean Luick, Mark Modrall, and Kevin Hugo maintained and en- - hanced the Macintosh port of 3.4. - - Michael Allison, David Cohrs, Alex Kompel, Dion Nicolaas, - and Yitzhak Sapir maintained and enhanced 3.4 for the Microsoft - Windows platform. Alex Kompel contributed a new graphical inter- - face for the Windows port. Alex Kompel also contributed a Win- - dows CE port for 3.4.1. - - Ron Van Iwaarden was the sole maintainer of NetHack for OS/2 - the past several releases. Unfortunately Ron's last OS/2 machine - stopped working in early 2006. A great many thanks to Ron for - keeping NetHack alive on OS/2 all these years. - - Janne Salmijarvi and Teemu Suikki maintained and enhanced - the Amiga port of 3.4 after Janne Salmijarvi resurrected it for - 3.3.1. - - Christian ``Marvin'' Bressler maintained 3.4 for the Atari - after he resurrected it for 3.3.1. - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 69 - - - - The release of NetHack 3.4.3 in December 2003 marked the be- - ginning of a long release hiatus. 3.4.3 proved to be a remarkably - stable version that provided continued enjoyment by the community - for more than a decade. The devteam slowly and quietly continued - to work on the game behind the scenes during the tenure of 3.4.3. - It was during that same period that several new variants emerged - within the NetHack community. Notably sporkhack by Derek S. Ray, - unnethack by Patric Mueller, nitrohack and its successors origi- - nally by Daniel Thaler and then by Alex Smith, and Dynahack by - Tung Nguyen. Some of those variants continue to be developed, - maintained, and enjoyed by the community to this day. - - At the beginning of development for what would eventually - get released as 3.6.0, the development team consisted of Warwick - Allison, Michael Allison, Ken Arromdee, David Cohrs, Jessie Col- - let, Ken Lorber, Dean Luick, Pat Rankin, Mike Stephenson, Janet - Walz, and Paul Winner. Leading up to the release of 3.6.0 in - early 2015, new members Sean Hunt, Pasi Kallinen, and Derek S. - Ray joined the NetHack development team. - - In September 2014, an interim snapshot of the code under de- - velopment was released publicly by other parties. Since that code - was a work-in-progress and had not gone through the process of - debugging it as a suitable release, it was decided that the ver- - sion numbers present on that code snapshot would be retired and - never used in an official NetHack release. An announcement was - posted on the devteam's official nethack.org website to that ef- - fect, stating that there would never be a 3.4.4, 3.5, or 3.5.0 - official release version. - - In November 2014, preparation began for the release of - NetHack 3.6. The 3.6 version merges work done by the development - team since the previous release with some of the beloved communi- - ty patches. Many bugs were fixed and a large amount of code was - restructured. - - The development team, as well as Steve VanDevender and Kevin - Smolkowski ensured that NetHack 3.6 continued to operate on vari- - ous Unix flavors and maintained the X11 interface. - - Ken Lorber, Haoyang Wang, Pat Rankin, and Dean Luick main- - tained the port of NetHack 3.6 for Mac. - - Michael Allison, Derek S. Ray, Yitzhak Sapir, Alex Kompel, - and Dion Nicolaas maintained the port of NetHack 3.6 for Mi- - crosoft Windows. - - The 3.6 development team consisting of Michael Allison, War- - wick Allison, Ken Arromdee, David Cohrs, Jessie Collet, Sean - Hunt, Pasi Kallinen, Ken Lorber, Dean Luick, Pat Rankin, Mike - Stephenson, Derek S. Ray, Janet Walz, and Paul Winner released - 3.6.1 as a bug fix release in January 2016. - - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 70 - - - - The official NetHack web site is maintained by Ken Lorber at - http://www.nethack.org/. - - SHOUT-OUTS - - The devteam would like to give a special "shout-out" to - thank the generous people primarily responsible for the public - NetHack servers available for playing the game at nethack.alt.org - and devnull.net. In addition to providing a way for the public to - play a game of NetHack from almost anywhere, they have hosted an- - nual NetHack tournaments for many, many years. - - On behalf of the NetHack community, thank you very much to - M. Drew Streib, Pasi Kallinen and Robin Bandy. - - - - - - - - - - - - - - From time to time, some depraved individual out there in - netland sends a particularly intriguing modification to help out - with the game. The Gods of the Dungeon sometimes make note of - the names of the worst of these miscreants in this, the list of - Dungeoneers: - - Adam Aronow Janet Walz Nathan Eady - Alex Kompel Janne Salmijarvi Norm Meluch - Andreas Dorn Jean-Christophe Collet Olaf Seibert - Andy Church Jeff Bailey Pasi Kallinen - Andy Swanson Jochen Erwied Pat Rankin - Ari Huttunen John Kallen Paul Winner - Barton House John Rupley Pierre Martineau - Benson I. Margulies John S. Bien Ralf Brown - Bill Dyer Johnny Lee Ray Chason - Boudewijn Waijers Jon W{tte Richard Addison - Bruce Cox Jonathan Handler Richard Beigel - Bruce Holloway Joshua Delahunty Richard P. Hughey - Bruce Mewborne Keizo Yamamoto Rob Menke - Carl Schelin Ken Arnold Robin Bandy - Chris Russo Ken Arromdee Robin Johnson - David Cohrs Ken Lorber Roderick Schertler - David Damerell Ken Washikita Roland McGrath - David Gentzel Kevin Darcy Ron Van Iwaarden - David Hairston Kevin Hugo Ronnen Miller - Dean Luick Kevin Sitze Ross Brown - Del Lamb Kevin Smolkowski Sascha Wostmann - Derek S. Ray Kevin Sweet Scott Bigham - Deron Meranda Lars Huttar Scott R. Turner - Dion Nicolaas Leon Arnott Sean Hunt - Dylan O'Donnell M. Drew Streib Stephen Spackman - Eric Backus Malcolm Ryan Stefan Thielscher - Eric Hendrickson Mark Gooderum Stephen White - Eric R. Smith Mark Modrall Steve Creps - Eric S. Raymond Marvin Bressler Steve Linhart - Erik Andersen Matthew Day Steve VanDevender - - - - NetHack 3.6 February 22, 2016 - - - - - - NetHack Guidebook 71 - - - - Frederick Roeber Merlyn LeRoy Teemu Suikki - Gil Neiger Michael Allison Tim Lennan - Greg Laskin Michael Feir Timo Hakulinen - Greg Olson Michael Hamel Tom Almy - Gregg Wonderly Michael Sokolov Tom West - Hao-yang Wang Mike Engber Warren Cheung - Helge Hafting Mike Gallop Warwick Allison - Irina Rempt-Drijfhout Mike Passaretti Yitzhak Sapir - Izchak Miller Mike Stephenson - J. Ali Harlow Mikko Juola - - Brand and product names are trademarks or registered trademarks - of their respective holders. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NetHack 3.6 February 22, 2016 + OPTION=hilite_status: hitpoints/<30%/red/normal + For another example, the following line in your config file +will cause wisdom to be displayed red if it drops and green if it +rises. + + OPTION=hilite_status: wisdom/down/red/up/green + + You can adjust the display of the following status fields: + title strength dexterity + constitution intelligence wisdom + charisma alignment score + carrying-capacity gold power + power-max experience-level armor-class + HD time hunger + hitpoints hitpoints-max dungeon-level + experience condition + + The pseudo-field `characteristics' can be used to set all six + of Str, Dex, Con, Int, Wis, and Cha at once. `HD' is `hit + dice', an approximation of experience level displayed when + polymorphed. `experience', `time', and `score' are condition- + ally displayed depending upon your other option settings. + + Instead of a behavior, `condition' takes the following condi- + tion flags: stone, slime, strngl, foodpois, termill, blind, + deaf, stun, conf, hallu, lev, fly, and ride. You can use `ma- + jor_troubles' as an alias for stone through termill, `mi- + nor_troubles' for blind through hallu, `movement' for lev, fly, + and ride, and `all' for every condition. + + Allowed behaviors are "always", "up", "down", "changed", a per- + centage or absolute number threshold, or a text to match + against. + + * "always" will set the default attributes for that field. + + * "up" and "down" set the field attributes for when the + field value changes upwards or downwards. This attribute + times out after statushilites turns. + + * "changed" sets the field attribute for when the field val- + ue changes. This attribute times out after statushilites + turns. + + * percentage sets the field attribute when the field value + matches the percentage. If the percentage is prefixed with + '<' or '>', it also matches when value is below or above + the percentage. Only valid for `power' and `hitpoints' + fields. + + * absolute value sets the attribute when the field value + matches that number. If the number is prefixed with '<' or + '>', it also matches when value is below or above. + + * text match sets the attribute when the field value matches + the text. Text matches can only be used for `alignment', + `carrying-capacity', and `dungeon-level'. + + Allowed colors are black, red, green, brown, blue, magenta, + cyan, gray, orange, lightgreen, yellow, lightblue, lightmagen- + ta, lightcyan, and white. + + Allowed attributes are bold, inverse, underline, blink, dim, + and normal. Note that the platform used may interpret the at- + tributes any way it wants. + + The in-game options menu can help you determine the correct + syntax for a config file. + + The whole feature can be disabled by setting option sta- + tushilites to 0. + + Example hilites: + + OPTION=hilite_status: gold/up/yellow/down/brown + OPTION=hilite_status: characteristics/up/green/down/red + OPTION=hilite_status: hitpoints/100%/gray&normal + OPTION=hilite_status: hitpoints/<100%/green&normal + OPTION=hilite_status: hitpoints/<66%/yellow&normal + OPTION=hilite_status: hitpoints/<50%/orange&normal + OPTION=hilite_status: hitpoints/<33%/red&bold + OPTION=hilite_status: hitpoints/<15%/red&inverse + OPTION=hilite_status: condition/major/orange&inverse + OPTION=hilite_status: condition/lev+fly/red&inverse + +9.14. Modifying NetHack Symbols + + NetHack can load entire symbol sets from the symbol file. + + The options that are used to select a particular symbol set +from the symbol file are: + +symset + Set the name of the symbol set that you want to load. + +roguesymset + Set the name of the symbol set that you want to load for dis- + play on the rogue level. + + You can also override one or more symbols using the SYMBOLS +config file option. Symbols are specified as name:value pairs. +Note that NetHack escape-processes the value string in conven- +tional C fashion. This means that \ is a prefix to take the fol- +lowing character literally. Thus \ needs to be represented as \\. +The special escape form \m switches on the meta bit in the symbol +value, and the \^ prefix causes the following character to be +treated as a control character. + + NetHack Symbols +Default Symbol Name Description +------------------------------------------------------------------------ + S_air (air) + _ S_altar (altar) + " S_amulet (amulet) + A S_angel (angelic being) + a S_ant (ant or other insect) + ^ S_anti_magic_trap (anti-magic field) + [ S_armor (suit or piece of armor) + [ S_armour (suit or piece of armor) + ^ S_arrow_trap (arrow trap) + 0 S_ball (iron ball) + # S_bars (iron bars) + B S_bat (bat or bird) + ^ S_bear_trap (bear trap) + - S_blcorn (bottom left corner) + b S_blob (blob) + + S_book (spellbook) + ) S_boomleft (boomerang open left) + ( S_boomright (boomerang open right) + ` S_boulder (boulder) + - S_brcorn (bottom right corner) + C S_centaur (centaur) + _ S_chain (iron chain) + # S_cloud (cloud) + c S_cockatrice (cockatrice) + $ S_coin (pile of coins) + # S_corr (corridor) + - S_crwall (wall) + # S_darkroom (dark room) + ^ S_dart_trap (dart trap) + & S_demon (major demon) + * S_digbeam (dig beam) + + > S_dnladder (ladder down) + > S_dnstair (staircase down) + d S_dog (dog or other canine) + D S_dragon (dragon) + ; S_eel (sea monster) + E S_elemental (elemental) + / S_explode1 (explosion top left) + - S_explode2 (explosion top center) + `\' S_explode3 (explosion top right) + | S_explode4 (explosion middle left) + S_explode5 (explosion middle center) + | S_explode6 (explosion middle right) + `\' S_explode7 (explosion bottom left) + - S_explode8 (explosion bottom center) + / S_explode9 (explosion bottom right) + e S_eye (eye or sphere) + ^ S_falling_rock_trap (falling rock trap) + f S_feline (cat or other feline) + ^ S_fire_trap (fire trap) + ! S_flashbeam (flash beam) + % S_food (piece of food) + { S_fountain (fountain) + F S_fungus (fungus or mold) + * S_gem (gem or rock) + S_ghost (ghost) + H S_giant (giant humanoid) + G S_gnome (gnome) + ' S_golem (golem) + | S_grave (grave) + g S_gremlin (gremlin) + - S_hbeam (wall) + # S_hcdbridge (horizontal raised drawbridge) + + S_hcdoor (closed door) + | S_hodoor (open door) + ^ S_hole (hole) + @ S_human (human or elf) + h S_humanoid (humanoid) + - S_hwall (horizontal wall) + i S_imp (imp or minor demon) + I S_invisible (invisible monster) + J S_jabberwock (jabberwock) + j S_jelly (jelly) + k S_kobold (kobold) + K S_kop (Keystone Kop) + ^ S_land_mine (land mine) + } S_lava (molten lava) + l S_leprechaun (leprechaun) + ^ S_level_teleporter (level teleporter) + L S_lich (lich) + y S_light (light) + # S_litcorr (lit corridor) + : S_lizard (lizard) + `\' S_lslant (wall) + + ^ S_magic_portal (magic portal) + ^ S_magic_trap (magic trap) + m S_mimic (mimic) + ] S_mimic_def (mimic) + M S_mummy (mummy) + N S_naga (naga) + n S_nymph (nymph) + O S_ogre (ogre) + o S_orc (orc) + p S_piercer (piercer) + ^ S_pit (pit) + # S_poisoncloud (poison cloud) + ^ S_polymorph_trap (polymorph trap) + } S_pool (water) + ! S_potion (potion) + P S_pudding (pudding or ooze) + q S_quadruped (quadruped) + Q S_quantmech (quantum mechanic) + = S_ring (ring) + ` S_rock (boulder or statue) + r S_rodent (rodent) + ^ S_rolling_boulder_trap (rolling boulder trap) + / S_rslant (wall) + ^ S_rust_trap (rust trap) + R S_rustmonst (rust monster or disenchanter) + ? S_scroll (scroll) + # S_sink (sink) + ^ S_sleeping_gas_trap (sleeping gas trap) + S S_snake (snake) + s S_spider (arachnid or centipede) + ^ S_spiked_pit (spiked pit) + ^ S_squeaky_board (squeaky board) + 0 S_ss1 (magic shield 1 of 4) + # S_ss2 (magic shield 2 of 4) + @ S_ss3 (magic shield 3 of 4) + * S_ss4 (magic shield 4 of 4) + ^ S_statue_trap (statue trap) + S_stone (dark part of a room) + ] S_strange_obj (strange object) + - S_sw_bc (swallow bottom center) + `\' S_sw_bl (swallow bottom left) + / S_sw_br (swallow bottom right) + | S_sw_ml (swallow middle left) + | S_sw_mr (swallow middle right) + - S_sw_tc (swallow top center) + / S_sw_tl (swallow top left) + `\' S_sw_tr (swallow top right) + - S_tdwall (wall) + ^ S_teleportation_trap (teleportation trap) + S_throne (opulent throne) + - S_tlcorn (top left corner) + | S_tlwall (wall) + ( S_tool (useful item (pick-axe key lamp...)) + + ^ S_trap_door (trap door) + t S_trapper (trapper or lurker above) + - S_trcorn (top right corner) + # S_tree (tree) + T S_troll (troll) + | S_trwall (wall) + - S_tuwall (wall) + U S_umber (umber hulk) + u S_unicorn (unicorn or horse) + < S_upladder (ladder up) + < S_upstair (staircase up) + V S_vampire (vampire) + | S_vbeam (wall) + # S_vcdbridge (vertical raised drawbridge) + + S_vcdoor (closed door) + ^ S_vibrating_square (vibrating square) + - S_vodoor (open door) + v S_vortex (vortex) + | S_vwall (vertical wall) + / S_wand (wand) + } S_water (water) + ) S_weapon (weapon) + " S_web (web) + w S_worm (worm) + ~ S_worm_tail (long worm tail) + W S_wraith (wraith) + x S_xan (xan or other mythical/fantastic insect) + X S_xorn (xorn) + Y S_yeti (apelike creature) + Z S_zombie (zombie) + z S_zruty (zruty) + +9.15. Configuring NetHack for Play by the Blind + + NetHack can be set up to use only standard ASCII characters +for making maps of the dungeons. This makes the MS-DOS versions +of NetHack completely accessible to the blind who use speech +and/or Braille access technologies. Players will require a good +working knowledge of their screen-reader's review features, and +will have to know how to navigate horizontally and vertically +character by character. They will also find the search capabili- +ties of their screen-readers to be quite valuable. Be certain to +examine this Guidebook before playing so you have an idea what +the screen layout is like. You'll also need to be able to locate +the PC cursor. It is always where your character is located. +Merely searching for an @-sign will not always find your charac- +ter since there are other humanoids represented by the same sign. +Your screen-reader should also have a function which gives you +the row and column of your review cursor and the PC cursor. +These co-ordinates are often useful in giving players a better +sense of the overall location of items on the screen. + + NetHack can also be compiled with support for sending the +game messages to an external program, such as a text-to-speech + +synthesizer. If the #version extended command shows "external +program as a message handler", your NetHack has been compiled +with the capability. When compiling NetHack from source on Linux +and other POSIX systems, define MSGHANDLER to enable it. To use +the capability, set the environment variable NETHACK_MSGHANDLER +to an executable, which will be executed with the game message as +the program's only parameter. + + While it is not difficult for experienced users to edit the +defaults.nh file to accomplish this, novices may find this task +somewhat daunting. Included within the ``symbols'' file of all +official distributions of NetHack is a symset called NHAccess. +Selecting that symset in your configuration file will cause the +game to run in a manner accessible to the blind. After you have +gained some experience with the game and with editing files, you +may want to alter settings via SYMBOLS= in your configuration +file to better suit your preferences. The most crucial settings +to make the game accessible are: + +symset:NHAccess + Load a symbol set appropriate for use by blind players. + +roguesymset:NHAccess + Load a symbol set for the rogue level that is appropriate for + use by blind players. + +menustyle:traditional + This will assist in the interface to speech synthesizers. + +nomenu_overlay + Show menus on a cleared screen and aligned to the left edge. + +number_pad + A lot of speech access programs use the number-pad to review + the screen. If this is the case, disable the number_pad option + and use the traditional Rogue-like commands. + +autodescribe + Automatically describe the terrain under the cursor when tar- + geting. + +mention_walls + Give feedback messages when walking towards a wall or when + travel command was interrupted. + +whatis_coord:compass + When targeting with cursor, describe the cursor position with + coordinates relative to your character. + +whatis_filter:area + When targeting with cursor, filter possible locations so only + those in the same area (eg. same room, or same corridor) are + considered. + +whatis_moveskip + When targeting with cursor and using fast-move, skip the same + glyphs instead of moving 8 units at a time. + +nostatus_updates + Prevent updates to the status lines at the bottom of the + screen, if your screen-reader reads those lines. The same in- + formation can be seen via the #attributes command. + +9.16. Global Configuration for System Administrators + + If NetHack is compiled with the SYSCF option, a system ad- +ministrator should set up a global configuration; this is a file +in the same format as the traditional per-user configuration file +(see above). This file should be named sysconf and placed in the +same directory as the other NetHack support files. The options +recognized in this file are listed below. Any option not set us- +es a compiled-in default (which may not be appropriate for your +system). + + WIZARDS = A space-separated list of user names who are allowed + to play in wizard mode (the debugging mode, not the magic-using + role). A value of a single asterisk (*) allows anyone to start + a game in wizard mode. + + SHELLERS = A list of users who are allowed to use the shell es- + cape command (!). The syntax is the same as WIZARDS. + + EXPLORERS = A list of users who are allowed to use the explore + mode. The syntax is the same as WIZARDS. + + MAXPLAYERS = Limit the maximum number of games that can be run- + ning at the same time. + + SUPPORT = A string explaining how to get local support (no de- + fault value). + + RECOVER = A string explaining how to recover a game on this + system (no default value). + + SEDUCE = 0 or 1 to disable or enable, respectively, the SEDUCE + option. When disabled, incubi and succubi behave like nymphs. + + CHECK_PLNAME = Setting this to 1 will make the EXPLORERS, WIZ- + ARDS, and SHELLERS check for the player name instead of the us- + er's login name. + + CHECK_SAVE_UID = 0 or 1 to disable or enable, respectively, the + UID (used identification number) checking for save files (to + verify that the user who is restoring is the same one who + saved). + + The following options affect the score file: + + PERSMAX = Maximum number of entries for one person. + + ENTRYMAX = Maximum number of entries in the score file. + + POINTSMIN = Minimum number of points to get an entry in the + score file. + + PERS_IS_UID = 0 or 1 to use user names or numeric userids, re- + spectively, to identify unique people for the score file. + + MAX_STATUENAME_RANK = Maximum number of score file entries to + use for random statue names (default is 10). + + DUMPLOGFILE = A filename where the end-of-game dumplog is + saved. Not defining this will prevent dumplog from being cre- + ated. Only available if your game is compiled with DUMPLOG. Al- + lows the following placeholders: + + %% - literal '%' + %v - version (eg. "3.6.1-0") + %u - game UID + %t - game start time, UNIX timestamp format + %T - current time, UNIX timestamp format + %d - game start time, YYYYMMDDhhmmss format + %D - current time, YYYYMMDDhhmmss format + %n - player name + %N - first character of player name + +10. Scoring + + NetHack maintains a list of the top scores or scorers on +your machine, depending on how it is set up. In the latter case, +each account on the machine can post only one non-winning score +on this list. If you score higher than someone else on this +list, or better your previous score, you will be inserted in the +proper place under your current name. How many scores are kept +can also be set up when NetHack is compiled. + + Your score is chiefly based upon how much experience you +gained, how much loot you accumulated, how deep you explored, and +how the game ended. If you quit the game, you escape with all of +your gold intact. If, however, you get killed in the Mazes of +Menace, the guild will only hear about 90% of your gold when your +corpse is discovered (adventurers have been known to collect +finder's fees). So, consider whether you want to take one last +hit at that monster and possibly live, or quit and stop with +whatever you have. If you quit, you keep all your gold, but if +you swing and live, you might find more. + + If you just want to see what the current top players/games +list is, you can type nethack -s all on most versions. + +11. Explore mode + + NetHack is an intricate and difficult game. Novices might +falter in fear, aware of their ignorance of the means to survive. +Well, fear not. Your dungeon comes equipped with an ``explore'' +or ``discovery'' mode that enables you to keep old save files and +cheat death, at the paltry cost of not getting on the high score +list. + + There are two ways of enabling explore mode. One is to +start the game with the -X command-line switch or with the play- +mode:explore option. The other is to issue the ``#exploremode'' +extended command while already playing the game. Starting a new +game in explore mode provides your character with a wand of wish- +ing in initial inventory; switching during play does not. The +other benefits of explore mode are left for the trepid reader to +discover. + +11.1. Debug mode + + Debug mode, also known as wizard mode, is undocumented aside +from this brief description. It is intended for tracking down +problems within the program rather than to provide god-like pow- +ers to your character, and players who attempt debugging are ex- +pected to figure out how to use it themselves. It is initiated +by starting the game with the -D command-line switch or with the +playmode:debug option. + + For some systems, the player must be logged in under a par- +ticular user name to be allowed to use debug mode; for others, +the hero must be given a particular character name (but may be +any role; there's no connection between ``wizard mode'' and the +Wizard role). And on any system, the program might have been +configured to omit debug mode entirely. Attempting to start a +game in debug mode when not allowed or not available will result +in falling back to explore mode instead. + +12. Credits + + The original hack game was modeled on the Berkeley UNIX +rogue game. Large portions of this paper were shamelessly +cribbed from A Guide to the Dungeons of Doom, by Michael C. Toy +and Kenneth C. R. C. Arnold. Small portions were adapted from +Further Exploration of the Dungeons of Doom, by Ken Arromdee. + + NetHack is the product of literally dozens of people's work. +Main events in the course of the game development are described +below: + + Jay Fenlason wrote the original Hack, with help from Kenny +Woodland, Mike Thome and Jon Payne. + + Andries Brouwer did a major re-write, transforming Hack into +a very different game, and published (at least) three versions +(1.0.1, 1.0.2, and 1.0.3) for UNIX machines to the Usenet. + + Don G. Kneller ported Hack 1.0.3 to Microsoft C and MS-DOS, +producing PC HACK 1.01e, added support for DEC Rainbow graphics +in version 1.03g, and went on to produce at least four more ver- +sions (3.0, 3.2, 3.51, and 3.6). + + R. Black ported PC HACK 3.51 to Lattice C and the Atari +520/1040ST, producing ST Hack 1.03. + + Mike Stephenson merged these various versions back together, +incorporating many of the added features, and produced NetHack +1.4. He then coordinated a cast of thousands in enhancing and +debugging NetHack 1.4 and released NetHack versions 2.2 and 2.3. + + Later, Mike coordinated a major rewrite of the game, heading +a team which included Ken Arromdee, Jean-Christophe Collet, Steve +Creps, Eric Hendrickson, Izchak Miller, John Rupley, Mike Threep- +oint, and Janet Walz, to produce NetHack 3.0c. + + NetHack 3.0 was ported to the Atari by Eric R. Smith, to +OS/2 by Timo Hakulinen, and to VMS by David Gentzel. The three +of them and Kevin Darcy later joined the main development team to +produce subsequent revisions of 3.0. + + Olaf Seibert ported NetHack 2.3 and 3.0 to the Amiga. Norm +Meluch, Stephen Spackman and Pierre Martineau designed overlay +code for PC NetHack 3.0. Johnny Lee ported NetHack 3.0 to the +Macintosh. Along with various other Dungeoneers, they continued +to enhance the PC, Macintosh, and Amiga ports through the later +revisions of 3.0. + + Headed by Mike Stephenson and coordinated by Izchak Miller +and Janet Walz, the development team which now included Ken Ar- +romdee, David Cohrs, Jean-Christophe Collet, Kevin Darcy, Matt +Day, Timo Hakulinen, Steve Linhart, Dean Luick, Pat Rankin, Eric +Raymond, and Eric Smith undertook a radical revision of 3.0. +They re-structured the game's design, and re-wrote major parts of +the code. They added multiple dungeons, a new display, special +individual character quests, a new endgame and many other new +features, and produced NetHack 3.1. + + Ken Lorber, Gregg Wonderly and Greg Olson, with help from +Richard Addison, Mike Passaretti, and Olaf Seibert, developed +NetHack 3.1 for the Amiga. + + Norm Meluch and Kevin Smolkowski, with help from Carl Sche- +lin, Stephen Spackman, Steve VanDevender, and Paul Winner, ported +NetHack 3.1 to the PC. + + Jon W{tte and Hao-yang Wang, with help from Ross Brown, Mike +Engber, David Hairston, Michael Hamel, Jonathan Handler, Johnny + +Lee, Tim Lennan, Rob Menke, and Andy Swanson, developed NetHack +3.1 for the Macintosh, porting it for MPW. Building on their de- +velopment, Barton House added a Think C port. + + Timo Hakulinen ported NetHack 3.1 to OS/2. Eric Smith port- +ed NetHack 3.1 to the Atari. Pat Rankin, with help from Joshua +Delahunty, was responsible for the VMS version of NetHack 3.1. +Michael Allison ported NetHack 3.1 to Windows NT. + + Dean Luick, with help from David Cohrs, developed NetHack +3.1 for X11. Warwick Allison wrote a tiled version of NetHack +for the Atari; he later contributed the tiles to the DevTeam and +tile support was then added to other platforms. + + The 3.2 development team, comprised of Michael Allison, Ken +Arromdee, David Cohrs, Jessie Collet, Steve Creps, Kevin Darcy, +Timo Hakulinen, Steve Linhart, Dean Luick, Pat Rankin, Eric +Smith, Mike Stephenson, Janet Walz, and Paul Winner, released +version 3.2 in April of 1996. + + Version 3.2 marked the tenth anniversary of the formation of +the development team. In a testament to their dedication to the +game, all thirteen members of the original development team re- +mained on the team at the start of work on that release. During +the interval between the release of 3.1.3 and 3.2, one of the +founding members of the development team, Dr. Izchak Miller, was +diagnosed with cancer and passed away. That release of the game +was dedicated to him by the development and porting teams. + + During the lifespan of NetHack 3.1 and 3.2, several enthusi- +asts of the game added their own modifications to the game and +made these ``variants'' publicly available: + + Tom Proudfoot and Yuval Oren created NetHack++, which was +quickly renamed NetHack--. Working independently, Stephen White +wrote NetHack Plus. Tom Proudfoot later merged NetHack Plus and +his own NetHack-- to produce SLASH. Larry Stewart-Zerba and War- +wick Allison improved the spell casting system with the Wizard +Patch. Warwick Allison also ported NetHack to use the Qt inter- +face. + + Warren Cheung combined SLASH with the Wizard Patch to pro- +duce Slash'em, and with the help of Kevin Hugo, added more fea- +tures. Kevin later joined the DevTeam and incorporated the best +of these ideas in NetHack 3.3. + + The final update to 3.2 was the bug fix release 3.2.3, which +was released simultaneously with 3.3.0 in December 1999 just in +time for the Year 2000. + + The 3.3 development team, consisting of Michael Allison, Ken +Arromdee, David Cohrs, Jessie Collet, Steve Creps, Kevin Darcy, +Timo Hakulinen, Kevin Hugo, Steve Linhart, Ken Lorber, Dean +Luick, Pat Rankin, Eric Smith, Mike Stephenson, Janet Walz, and + +Paul Winner, released 3.3.0 in December 1999 and 3.3.1 in August +of 2000. + + Version 3.3 offered many firsts. It was the first version to +separate race and profession. The Elf class was removed in pref- +erence to an elf race, and the races of dwarves, gnomes, and orcs +made their first appearance in the game alongside the familiar +human race. Monk and Ranger roles joined Archeologists, Barbar- +ians, Cavemen, Healers, Knights, Priests, Rogues, Samurai, +Tourists, Valkyries and of course, Wizards. It was also the +first version to allow you to ride a steed, and was the first +version to have a publicly available web-site listing all the +bugs that had been discovered. Despite that constantly growing +bug list, 3.3 proved stable enough to last for more than a year +and a half. + + The 3.4 development team initially consisted of Michael Al- +lison, Ken Arromdee, David Cohrs, Jessie Collet, Kevin Hugo, Ken +Lorber, Dean Luick, Pat Rankin, Mike Stephenson, Janet Walz, and +Paul Winner, with Warwick Allison joining just before the re- +lease of NetHack 3.4.0 in March 2002. + + As with version 3.3, various people contributed to the game +as a whole as well as supporting ports on the different platforms +that NetHack runs on: + + Pat Rankin maintained 3.4 for VMS. + + Michael Allison maintained NetHack 3.4 for the MS-DOS plat- +form. Paul Winner and Yitzhak Sapir provided encouragement. + + Dean Luick, Mark Modrall, and Kevin Hugo maintained and en- +hanced the Macintosh port of 3.4. + + Michael Allison, David Cohrs, Alex Kompel, Dion Nicolaas, +and Yitzhak Sapir maintained and enhanced 3.4 for the Microsoft +Windows platform. Alex Kompel contributed a new graphical inter- +face for the Windows port. Alex Kompel also contributed a Win- +dows CE port for 3.4.1. + + Ron Van Iwaarden was the sole maintainer of NetHack for OS/2 +the past several releases. Unfortunately Ron's last OS/2 machine +stopped working in early 2006. A great many thanks to Ron for +keeping NetHack alive on OS/2 all these years. + + Janne Salmijarvi and Teemu Suikki maintained and enhanced +the Amiga port of 3.4 after Janne Salmijarvi resurrected it for +3.3.1. + + Christian ``Marvin'' Bressler maintained 3.4 for the Atari +after he resurrected it for 3.3.1. + + The release of NetHack 3.4.3 in December 2003 marked the be- +ginning of a long release hiatus. 3.4.3 proved to be a remarkably + +stable version that provided continued enjoyment by the community +for more than a decade. The devteam slowly and quietly continued +to work on the game behind the scenes during the tenure of 3.4.3. +It was during that same period that several new variants emerged +within the NetHack community. Notably sporkhack by Derek S. Ray, +unnethack by Patric Mueller, nitrohack and its successors origi- +nally by Daniel Thaler and then by Alex Smith, and Dynahack by +Tung Nguyen. Some of those variants continue to be developed, +maintained, and enjoyed by the community to this day. + + In September 2014, an interim snapshot of the code under de- +velopment was released publicly by other parties. Since that code +was a work-in-progress and had not gone through the process of +debugging it as a suitable release, it was decided that the ver- +sion numbers present on that code snapshot would be retired and +never used in an official NetHack release. An announcement was +posted on the devteam's official nethack.org website to that ef- +fect, stating that there would never be a 3.4.4, 3.5, or 3.5.0 +official release version. + + In January 2015, preparation began for the release of +NetHack 3.6. + + At the beginning of development for what would eventually +get released as 3.6.0, the development team consisted of Warwick +Allison, Michael Allison, Ken Arromdee, David Cohrs, Jessie Col- +let, Ken Lorber, Dean Luick, Pat Rankin, Mike Stephenson, Janet +Walz, and Paul Winner. In early 2015, ahead of the release of +3.6.0, new members Sean Hunt, Pasi Kallinen, and Derek S. Ray +joined the NetHack development team. + + The 3.6 versions of the game are special in a particular +way. Near the end of the development of 3.6.0, one of the signif- +icant inspirations for many of the humorous and fun features +found in the game, author Terry Pratchett, passed away. The 3.6 +versions of the game include a tribute to him. + + 3.6.0 was released in December 2015, and merged work done by +the development team since the release of 3.4.3 with some of the +beloved community patches. Many bugs were fixed and some code was +restructured. + + In 2018, several hundred bug fixes for 3.6.0 and some new +features were assembled and released as NetHack 3.6.1. The devel- +opment team at the time of release of 3.6.1 consisted of Warwick +Allison,Michael Allison, Ken Arromdee, David Cohrs, Jessie Col- +let, Pasi Kallinen, Ken Lorber, Dean Luick, Patric Mueller, Pat +Rankin, Derek S. Ray, Alex Smith, Mike Stephenson, Janet Walz, +and Paul Winner. + + The development team, as well as Steve VanDevender and Kevin +Smolkowski, ensured that NetHack 3.6 continued to operate on var- +ious Unix flavors and maintained the X11 interface. + + Ken Lorber, Haoyang Wang, Pat Rankin, and Dean Luick main- +tained the port of NetHack 3.6 for Mac OSX. + + Michael Allison, David Cohrs, Barton House, Pasi Kallinen, +Alex Kompel, Dion Nicolaas, Derek S. Ray and Yitzhak Sapir main- +tained the port of NetHack 3.6 for Microsoft Windows. + + Pat Rankin attempted to keep the VMS port running for +NetHack 3.6.1, hindered by limited access. Kevin Smolkowski has +updated and tested it for the most recent version of OpenVMS +(V8.4 as of this writing) on Alpha and Integrity (aka Itanium aka +IA64) but not VAX. + + Ray Chason resurrected the msdos port for 3.6.1 and contrib- +uted the necessary updates to the community at large. + + The official NetHack web site is maintained by Ken Lorber at +http://www.nethack.org/. + +12.1. SPECIAL THANKS + + On behalf of the NetHack community, thank you very much once +again to M. Drew Streib, Pasi Kallinen and Robin Bandy for pro- +viding public NetHack servers at nethack.alt.org and devnull.net +and/or for hosting annual NetHack tournaments. + + - - - - - - - - - - + + From time to time, some depraved individual out there in +netland sends a particularly intriguing modification to help out +with the game. The Gods of the Dungeon sometimes make note of +the names of the worst of these miscreants in this, the list of +Dungeoneers: + + Adam Aronow J. Ali Harlow Mikko Juola + Alex Kompel Janet Walz Nathan Eady + Alex Smith Janne Salmijarvi Norm Meluch + Andreas Dorn Jean-Christophe Collet Olaf Seibert + Andy Church Jeff Bailey Pasi Kallinen + Andy Swanson Jochen Erwied Pat Rankin + Ari Huttunen John Kallen Patric Mueller + Barton House John Rupley Paul Winner + Benson I. Margulies John S. Bien Pierre Martineau + Bill Dyer Johnny Lee Ralf Brown + Boudewijn Waijers Jon W{tte Ray Chason + Bruce Cox Jonathan Handler Richard Addison + Bruce Holloway Joshua Delahunty Richard Beigel + Bruce Mewborne Keizo Yamamoto Richard P. Hughey + Carl Schelin Ken Arnold Rob Menke + Chris Russo Ken Arromdee Robin Bandy + David Cohrs Ken Lorber Robin Johnson + David Damerell Ken Washikita Roderick Schertler + David Gentzel Kevin Darcy Roland McGrath + David Hairston Kevin Hugo Ron Van Iwaarden + Dean Luick Kevin Sitze Ronnen Miller + Del Lamb Kevin Smolkowski Ross Brown + Derek S. Ray Kevin Sweet Sascha Wostmann + Deron Meranda Lars Huttar Scott Bigham + Dion Nicolaas Leon Arnott Scott R. Turner + Dylan O'Donnell M. Drew Streib Sean Hunt + Eric Backus Malcolm Ryan Stephen Spackman + Eric Hendrickson Mark Gooderum Stefan Thielscher + Eric R. Smith Mark Modrall Stephen White + Eric S. Raymond Marvin Bressler Steve Creps + Erik Andersen Matthew Day Steve Linhart + Frederick Roeber Merlyn LeRoy Steve VanDevender + Gil Neiger Michael Allison Teemu Suikki + Greg Laskin Michael Feir Tim Lennan + Greg Olson Michael Hamel Timo Hakulinen + Gregg Wonderly Michael Sokolov Tom Almy + Hao-yang Wang Mike Engber Tom West + Helge Hafting Mike Gallop Warren Cheung +Irina Rempt-Drijfhout Mike Passaretti Warwick Allison + Izchak Miller Mike Stephenson Yitzhak Sapir + +Brand and product names are trademarks or registered trademarks +of their respective holders.