From 21d1e689518746abd282587e5a3994925cc238ab Mon Sep 17 00:00:00 2001 From: nhmall Date: Sat, 21 Apr 2018 17:27:36 -0400 Subject: [PATCH] Guidebook.txt update --- doc/Guidebook.txt | 9590 +++++++++++++++++++++++++-------------------- 1 file changed, 5372 insertions(+), 4218 deletions(-) diff --git a/doc/Guidebook.txt b/doc/Guidebook.txt index 308a7aa2b..9fdac4d35 100644 --- a/doc/Guidebook.txt +++ b/doc/Guidebook.txt @@ -1,4654 +1,5808 @@ - 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). - Non-fatal conditions: Blind (can't see), Deaf (can't hear), - Stun (stunned), Conf (confused), Hallu (hallucinating). + A Guide to the Mazes of Menace + (Guidebook for NetHack) - Movement modifiers: Lev (levitating), Fly (flying), Ride - (riding). - 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. + Original version - Eric S. Raymond + (Edited and expanded for 3.6 by Mike Stephenson and others) -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. - To change how and what messages are shown on the message -line, see ``Configuring Message Types`` and the verbose option. + 1. Introduction -3.3. The map (rest of the screen) + 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? - 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: + 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. -- and | - The walls of a room, or an open door. Or a grave (|). -. The floor of a room, ice, or a doorless doorway. -# 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). + 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 scroll. + 2. What is going on here? -/ A wand. + 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. -= A ring. + Your abilities and strengths for dealing with the hazards of + adventure will vary with your background and training: -! A potion. + 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 useful item (pick-axe, key, lamp...). + 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. -" An amulet or a spider web. + Cavemen and Cavewomen start with exceptional strength but, + unfortunately, with neolithic weapons. -* A gem or rock (possibly valuable, possibly worthless). + 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 boulder or statue. + Knights are distinguished from the common skirmisher by + their devotion to the ideals of chivalry and by the surpassing + excellence of their armor. -0 An iron ball. + 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 altar, or an iron chain. + 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. -{ A fountain. + 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. -} A pool of water or moat or a pool of lava. -\ 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. + NetHack 3.6 April 20, 2018 -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. - 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. + NetHack Guidebook 3 - 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. - 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. + Rogues are agile and stealthy thieves, with knowledge of + locks, traps, and poisons. Their advantage lies in surprise, + which they employ to great advantage. -/ 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. + 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. - 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. + 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. - Specifying a name rather than a location always gives any - additional information available about that name. + 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. - 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. + 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. -& Tell what a command does. + You may also choose the race of your character: -< Go up to the previous level (if you are on a staircase or - ladder). + 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. -> 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). + 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. -M[yuhjklbn] - Prefix: move far, no pickup. + 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. -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. + 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. -_ Travel to a map location via a shortest-path algorithm. + 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. - 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. + 3. What do all those things on the screen mean? -a Apply (use) a tool (pick-axe, key, lamp...). + 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. - If used on a wand, that wand will be broken, releasing its - magic in the process. Confirmation is required. -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 April 20, 2018 -^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. + 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. - In answer to the question + 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. - ``What kinds of things do you want to drop? [!%= BUCXaium]'' + 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. - 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. + 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. - 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. -^D Kick something (usually a door). -e Eat food. - 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. -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. -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. - 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. - In debug mode, an extra command which lists the placement of - all special levels. -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.) -^P Repeat previous message. + NetHack 3.6 April 20, 2018 - Subsequent ^P's repeat earlier messages. The behavior can - be varied via the msg_window option. -q Quaff (drink) something (potion, water, etc). -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. - (In versions prior to 3.3 this was the command to quit the - game, which has been moved to ``#quit''.) -r Read a scroll or spellbook. + NetHack Guidebook 5 -R Remove a worn accessory (ring, amulet, or blindfold). - 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. - 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.) + 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! -^R Redraw the screen. + ------ + |....| ---------- + |.<..|####...@...$.| + |....-# |...B....+ + |....| |.d......| + ------ -------|-- -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. + 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 -T Take off armor. + -------------------------------------------------------------------- + Figure 1 - 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 + 3.1. The status lines (bottom) - asking, but you can set the paranoid_confirmation option to - require a prompt. + 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): - 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.) + Rank + Your character's name and professional ranking (based on the + experience level, see below). -^T Teleport, if you have the ability. + 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. -v Display version number. + Dexterity + Dexterity affects your chances to hit in combat, to avoid + traps, and do other tasks requiring agility or manipulation + of objects. -V Display the game history. -w Wield weapon. - w- - wield nothing, use your bare hands. - Some characters can wield two weapons at once; use the `X' - command (or the ``#twoweapon'' extended command) to do so. + NetHack 3.6 April 20, 2018 -W Wear armor. - 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.) -x Exchange your wielded weapon with the item in your alternate - weapon slot. - 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. -X Toggle two-weapon combat, if your character can do it. Also - available via the ``#twoweapon'' extended command. + NetHack Guidebook 6 - (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''.) -^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 + 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. - status display due to space considerations. + Intelligence + Intelligence affects your ability to cast spells and read + spellbooks. -z Zap a wand. + Wisdom + Wisdom comes from your practical experience (especially when + dealing with magic). It affects your magical energy. - z. - to aim at yourself, use `.' for the direction. + Charisma + Charisma affects how certain creatures react toward you. In + particular, it can affect the prices shopkeepers offer you. -Z Zap (cast) a spell. + 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. - Z. - to cast at yourself, use `.' for the direction. + 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. -^Z Suspend the game (UNIX(R) versions with job control only). + Gold + The number of gold pieces you are openly carrying. Gold + which you have concealed in containers is not counted. -: Look at what is here. + 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. -; Show what type of thing a visible symbol corresponds to. + Power + Spell points. This tells you how much mystic energy (mana) + you have available for spell casting. Again, resting will + regenerate the amount available. -, Pick up some things from the floor beneath you. + Armor Class + A measure of how effectively your armor stops blows from un- + friendly creatures. The lower this number is, the more - May be preceded by `m' to force a selection menu. -@ Toggle the autopickup option on and off. + NetHack 3.6 April 20, 2018 -^ Ask for the type of a trap you found earlier. -) Tell what weapon you are wielding. -[ Tell what armor you are wearing. -= Tell what rings you are wearing. -" Tell what amulet you are wearing. + NetHack Guidebook 7 -( Tell what tools you are using. -* Tell what equipment you are using. - Combines the preceding five type-specific commands into one. + effective the armor; it is quite possible to have negative + armor class. -$ Count your gold pieces. + 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. -+ List the spells you know. + Time + The number of turns elapsed so far, displayed if you have + the time option set. - 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 + Status + Hunger: your current hunger status. Values are Satiated, + Not Hungry (or Normal), Hungry, Weak, and Fainting. Not + shown when Normal. -__________ -(R)UNIX is a registered trademark of AT&T. + 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. - learned after that will be added to the end of the list - rather than be inserted into the sorted ordering.) + 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). -\ Show what types of objects have been discovered. + Non-fatal conditions: Blind (can't see), Deaf (can't hear), + Stun (stunned), Conf (confused), Hallu (hallucinating). -` Show discovered types for one class of objects. + Movement modifiers: Lev (levitating), Fly (flying), Ride + (riding). -! Escape to a shell. + 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. -# Perform an extended command. + 3.2. The message line (top) - 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. + 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. -#adjust - Adjust inventory letters (most useful when the fixinv option - is ``on''). Autocompletes. Default key is 'M-a'. + To change how and what messages are shown on the message + line, see ``Configuring Message Types`` and the verbose option. - 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. - 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. -#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. -#apply - Apply (use) a tool such as a pick-axe, a key, or a lamp. De- - fault key is 'a'. - If the tool used acts on items on the floor, using the `m' - prefix skips those items. + NetHack 3.6 April 20, 2018 - If used on a wand, that wand will be broken, releasing its - magic in the process. Confirmation is required. -#attributes - Show your attributes. Default key is '^X'. -#autopickup - Toggle the autopickup -option on/off. Default key is '@'. -#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'. -#cast - Cast a spell. Default key is 'Z'. + NetHack Guidebook 8 -#chat - Talk to someone. Default key is 'M-c'. -#close - Close a door. Default key is 'c'. -#conduct - List voluntary challenges you have maintained. Autocom- - pletes. Default key is 'M-C'. + 3.3. The map (rest of the screen) - See the section below entitled ``Conduct'' for details. + 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: -#dip - Dip an object into something. Autocompletes. Default key is - 'M-d'. + - and | + The walls of a room, or an open door. Or a grave (|). -#down - Go down a staircase. Default key is '>'. + . The floor of a room, ice, or a doorless doorway. -#drop - Drop an item. Default key is 'd'. + # A corridor, or iron bars, or a tree, or possibly a kitchen + sink (if your dungeon has sinks), or a drawbridge. -#droptype - Drop specific item types. Default key is 'D'. + > Stairs down: a way to the next level. -#eat - Eat something. Default key is 'e'. The `m' prefix skips - eating items on the floor. + < Stairs up: a way to the previous level. -#engrave - Engrave writing on the floor. Default key is 'E'. + + A closed door, or a spellbook containing a spell you may be + able to learn. -#enhance - Advance or check weapon and spell skills. Autocompletes. De- - fault key is 'M-e'. - -#exploremode - Enter the explore mode. + @ Your character or a human. -#fire - Fire ammunition from quiver. Default key is 'f'. + $ A pile of gold. -#force - Force a lock. Autocompletes. Default key is 'M-f'. + ^ A trap (once you have detected it). -#glance - Show what type of thing a map symbol corresponds to. Default - key is ';'. + ) A weapon. -#help - Show the help menu. Default key is '?', and 'h' if num- - ber_pad is on. + [ A suit or piece of armor. -#herecmdmenu - Show a menu of possible actions in your current location. + % Something edible (not necessarily healthy). -#history - Show long version and game history. Default key is 'V'. + ? A scroll. -#inventory - Show your inventory. Default key is 'i'. + / A wand. -#inventtype - Inventory specific item types. Default key is 'I'. + = A ring. -#invoke - Invoke an object's special powers. Autocompletes. Default - key is 'M-i'. + ! A potion. -#jump - Jump to another location. Autocompletes. Default key is 'M- - j', and 'j' if number_pad is on. + ( A useful item (pick-axe, key, lamp...). -#kick - Kick something. Default key is '^D', and 'k' if number_pad - is on. + " An amulet or a spider web. -#known - Show what object types have been discovered. Default key is - '\'. + * A gem or rock (possibly valuable, possibly worthless). -#knownclass - Show discovered types for one class of objects. Default key + ` A boulder or statue. - is '`'. + 0 An iron ball. -#levelchange - Change your experience level. Autocompletes. Wizard-mode on- - ly. -#lightsources - Show mobile light sources. Autocompletes. Wizard-mode only. -#look - Look at what is here, under you. Default key is ':'. -#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. + NetHack 3.6 April 20, 2018 -#monpolycontrol - Control monster polymorphs. Autocompletes. Wizard-mode only. -#monster - Use a monster's special ability (when polymorphed into mon- - ster form). Autocompletes. Default key is 'M-m'. -#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'. -#offer - Offer a sacrifice to the gods. Autocompletes. Default key is - 'M-o'. The `m' prefix skips offering items on the altar. - You'll need to find an altar to have any chance at success. - Corpses of recently killed monsters are the fodder of - choice. + NetHack Guidebook 9 -#open - Open a door. Default key is 'o'. -#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'. + _ An altar, or an iron chain. -#panic - Test the panic routine. Autocompletes. Wizard-mode only. + { A fountain. -#pay - Pay your shopping bill. Default key is 'p'. + } A pool of water or moat or a pool of lava. -#pickup - Pick up things at the current location. Default key is ','. - The `m' prefix forces use of a menu. + \ An opulent throne. -#polyself - Polymorph self. Autocompletes. Wizard-mode only. + 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. -#pray - Pray to the gods for help. Autocompletes. Default key is 'M- - p'. + 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. - 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. + 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). -#prevmsg - Show previously displayed game messages. Default key is - '^P'. + 4. Commands -#puton - Put on an accessory (ring, amulet, etc). Default key is 'P'. + 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. -#quaff - Quaff (drink) something. Default key is 'q'. + 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. -#quit - Quit the program without saving your game. Autocompletes. - Default key is 'M-q'. + 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. - 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. -#quiver - Select ammunition for quiver. Default key is 'Q'. -#read - Read a scroll, a spellbook, or something else. Default key - is 'r'. + NetHack 3.6 April 20, 2018 -#redraw - Redraw the screen. Default key is '^R', and '^L' if num- - ber_pad is on. -#remove - Remove an accessory (ring, amulet, etc). Default key is 'R'. -#ride - Ride (or stop riding) a saddled creature. Autocompletes. De- - fault key is 'M-R'. -#rub - Rub a lamp or a stone. Autocompletes. Default key is 'M-r'. -#save - Save the game. Default key is 'S'. + NetHack Guidebook 10 -#search - Search for traps and secret doors around you. Default key is - 's'. -#seeall - Show all equipment in use. Default key is '*'. -#seeamulet - Show the amulet currently worn. Default key is '"'. + 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: -#seearmor - Show the armor currently worn. Default key is '['. + ? Help menu: display one of several help texts available. -#seegold - Count your gold. Default key is '$'. + / 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. -#seenv - Show seen vectors. Autocompletes. Wizard-mode only. + 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. -#seerings - Show the ring(s) currently worn. Default key is '='. + Specifying a name rather than a location always gives any + additional information available about that name. -#seespells - List and reorder known spells. Default key is '+'. + 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. -#seetools - Show the tools currently in use. Default key is '('. + & Tell what a command does. -#seetrap - Show the type of a trap near you. Default key is '^'. + < Go up to the previous level (if you are on a staircase or + ladder). -#seeweapon - Show the weapon currently wielded. Default key is ')'. + > Go down to the next level (if you are on a staircase or lad- + der). -#shell - Do a shell escape. Default key is '!'. + [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.'' -#sit - Sit down. Autocompletes. Default key is 'M-s'. -#stats - Show memory statistics. Autocompletes. Wizard-mode only. -#suspend - Suspend the game. Default key is '^Z'. -#swap - Swap wielded and secondary weapons. Default key is 'x'. + NetHack 3.6 April 20, 2018 -#takeoff - Take off one piece of armor. Default key is 'T'. -#takeoffall - Remove all armor. Default key is 'A'. -#teleport - Teleport around the level. Default key is '^T'. -#terrain - Show bare map without displaying monsters, objects, or - traps. Autocompletes. -#therecmdmenu - Show a menu of possible actions in a location next to you. + NetHack Guidebook 11 -#throw - Throw something. Default key is 't'. -#timeout - Look at the timeout queue. Autocompletes. Wizard-mode only. -#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. + y k u 7 8 9 + \ | / \ | / + h- . -l 4- . -6 + / | \ / | \ + b j n 1 2 3 + (if number_pad is set) -#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. + Figure 2 -#turn - Turn undead away. Autocompletes. Default key is 'M-t'. + [YUHJKLBN] + Go in that direction until you hit a wall or run into some- + thing. -#twoweapon - Toggle two-weapon combat on or off. Autocompletes. Default - keys are 'X', and 'M-2'. + m[yuhjklbn] + Prefix: move without picking up objects or fighting (even + if you remember a monster there). - Note that you must use suitable weapons for this type of - combat, or it will be automatically turned off. + 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). -#untrap - Untrap something (trap, door, or chest). Default key is 'M- - u', and 'u' if number_pad is on. + 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. - In some circumstances it can also be used to rescue trapped - monsters. + F[yuhjklbn] + Prefix: fight a monster (even if you only guess one is + there). -#up - Go up a staircase. Default key is '<'. + M[yuhjklbn] + Prefix: move far, no pickup. -#vanquished - List vanquished monsters. Autocompletes. Wizard-mode only. + g[yuhjklbn] + Prefix: move until something interesting is found. -#version - Print compile time options for this version of NetHack. Au- - tocompletes. Default key is 'M-v'. + G[yuhjklbn] or [yuhjklbn] + Prefix: same as `g', but forking of corridors is not con- + sidered interesting. -#versionshort - Show version string. Default key is 'v'. + _ Travel to a map location via a shortest-path algorithm. -#vision - Show vision array. Autocompletes. Wizard-mode only. + 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- -#wait - Rest one move while doing nothing. Default key is '.', and ' - ' if rest_on_space is on. -#wear - Wear a piece of armor. Default key is 'W'. + NetHack 3.6 April 20, 2018 -#whatdoes - Tell what a key does. Default key is '&'. -#whatis - Show what type of thing a symbol corresponds to. Default key - is '/'. -#wield - Wield a weapon. Default key is 'w'. -#wipe - Wipe off your face. Autocompletes. Default key is 'M-w'. -#wizdebug_bury - Bury objects under and around you. Autocompletes. Wizard- - mode only. + NetHack Guidebook 12 -#wizdebug_traveldisplay - Toggle travel display. Autocompletes. Wizard-mode only. -#wizdetect - Search a room. Autocompletes. Wizard-mode only. Default key - is '^E'. -#wizgenesis - Create a monster. Autocompletes. Wizard-mode only. Default - key is '^G'. + click takes place on a location other than the current posi- + tion. -#wizidentify - Identify all items in inventory. Autocompletes. Wizard-mode - only. Default key is '^I'. + . Wait or rest, do nothing for one turn. -#wizintrinsic - Set intrinsic. Autocompletes. Wizard-mode only. + a Apply (use) a tool (pick-axe, key, lamp...). -#wizlevelport - Teleport to another level. Autocompletes. Wizard-mode only. - Default key is '^V'. + If used on a wand, that wand will be broken, releasing its + magic in the process. Confirmation is required. -#wizmap - Map the level. Autocompletes. Wizard-mode only. Default key - is '^F'. + A Remove one or more worn items, such as armor. -#wizrumorcheck - Verify rumor boundaries. Autocompletes. Wizard-mode only. + Use `T' (take off) to take off only one piece of armor or + `R' (remove) to take off only one accessory. -#wizsmell - Smell monster. Autocompletes. Wizard-mode only. + ^A Redo the previous command. -#wizwhere - Show locations of special levels. Autocompletes. Wizard-mode - only. + c Close a door. -#wizwish - Wish for something. Autocompletes. Wizard-mode only. Default - key is '^W'. + C Call (name) a monster, an individual object, or a type of + object. -#wmode - Show wall modes. Autocompletes. Wizard-mode only. + Same as extended command ``#name''. -#zap - Zap a wand. Default key is 'z'. + ^C Panic button. Quit the game. -#? - Help menu: get the list of available extended commands. + d Drop something. - 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, + Ex. ``d7a'' means drop seven items of object a. -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. + D Drop several things. -M-? #? (not supported by all platforms) + In answer to the question -M-2 #twoweapon (unless the number_pad option is enabled) + ``What kinds of things do you want to drop? [!%= BUCXaium]'' -M-a #adjust + 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. -M-A #annotate + 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. -M-c #chat + The last example shows a combination. There are three cate- + gories of object filtering: class (`!' for potions, `?' for + scrolls, and so on), shop status (`u' for unpaid, in other -M-C #conduct -M-d #dip + NetHack 3.6 April 20, 2018 -M-e #enhance -M-f #force -M-i #invoke -M-j #jump -M-l #loot + NetHack Guidebook 13 -M-m #monster -M-n #name -M-o #offer + words, owned by the shop), and bless/curse state (`B', `U', + `C', and `X' as shown above). If you specify more than one + value in a category (such as `!?' for potions and scrolls or + `BU' for blessed and uncursed), an inventory object will + meet the criteria if it matches any of the specified values + (so `!?' means `!' or '?'). If you specify more than one + category, an inventory object must meet each of the category + criteria (so `%u' means class `%' and unpaid `u'). Lastly, + you may specify multiple values within multiple categories: + `!?BU' will select all potions and scrolls which are known + to be blessed or uncursed. (In versions prior to 3.6, fil- + ter combinations behaved differently.) -M-O #overview + ^D Kick something (usually a door). -M-p #pray + e Eat food. -M-q #quit + 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. -M-r #rub + E Engrave a message on the floor. -M-R #ride + E- - write in the dust with your fingers. -M-s #sit + 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. -M-t #turn + 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. -M-T #tip + i List your inventory (everything you're carrying). -M-u #untrap + I List selected parts of your inventory, usually be specifying + the character for a particular set of objects, like `[' for + armor or `!' for potions. -M-v #version + 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-w #wipe + o Open a door. - If the number_pad option is on, some additional letter com- -mands are available: + O Set options. -h #help -j #jump -k #kick + NetHack 3.6 April 20, 2018 -l #loot -N #name -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. + NetHack Guidebook 14 - 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. + 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. - 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. + ^O Show overview or show dungeon layout - Open doors cannot be entered diagonally; you must approach -them straight on, horizontally or vertically. Doorways without -doors are not restricted in this fashion. + In normal play and in explore mode, a shortcut for the + ``#overview'' extended command to list interesting dungeon + levels visited. - 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). + In debug mode, an extra command which lists the placement of + all special levels. - Secret doors are hidden. You can find them with the `s' -(search) command. Once found they are in all ways equivalent to + p Pay your shopping bill. -normal doors. + P Put on an accessory (ring, amulet, or blindfold). -5.2. Traps (`^') + 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.) - 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. + ^P Repeat previous message. - 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. + Subsequent ^P's repeat earlier messages. The behavior can + be varied via the msg_window option. -5.3. Stairs and ladders (`<', `>') + q Quaff (drink) something (potion, water, etc). - 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. + 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. - 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 + (In versions prior to 3.3 this was the command to quit the + game, which has been moved to ``#quit''.) -AUTOPICKUP_EXCEPTION - Set exceptions to the pickup_types option. See the ``Configur- - ing Autopickup Exceptions'' section. + r Read a scroll or spellbook. -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. + R Remove a worn accessory (ring, amulet, or blindfold). - Example: + 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. - 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. - Example: + NetHack 3.6 April 20, 2018 - 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. - Example: + NetHack Guidebook 15 - 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. - Example: + 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.) - WIZKIT=~/wizkit.txt + ^R Redraw the screen. -SOUNDDIR - Define the directory that contains the sound files. See the - ``Configuring User Sounds'' section. + s Search for secret doors and traps around you. It usually + takes several tries to find something. -SOUND - Define a sound mapping. See the ``Configuring User Sounds'' - section. + S Save (and suspend) the game. The game will be restored au- + tomatically the next time you play. - Here is a short example of config file contents: + t Throw an object or shoot a projectile. - # Set your character's role, race, gender, and alignment. - OPTIONS=role:Valkyrie, race:Human, gender:female, align:lawful + T Take off armor. - # 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 + 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. - # No startup splash screen. Windows GUI only. - OPTIONS=!splash_screen + 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.) -9.3. Using the NETHACKOPTIONS environment variable + ^T Teleport, if you have the ability. - 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. + v Display version number. - 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 + V Display the game history. - % setenv NETHACKOPTIONS "autoquiver,\!autopickup,name:Blue Meanie,fruit:papaya" + w Wield weapon. -in csh (note the need to escape the ! since it's special to the -shell), or + w- - wield nothing, use your bare hands. - $ NETHACKOPTIONS="autoquiver,!autopickup,name:Blue Meanie,fruit:papaya" - $ export NETHACKOPTIONS + Some characters can wield two weapons at once; use the `X' + command (or the ``#twoweapon'' extended command) to do so. -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 `@'). + W Wear armor. -9.4. Customization options + 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.) - 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. + NetHack 3.6 April 20, 2018 -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. -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 '#'. + NetHack Guidebook 16 -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'. -getpos.door.next - When asked for a location, the key to go to next closest door - or doorway. Default is 'd'. + x Exchange your wielded weapon with the item in your alternate + weapon slot. -getpos.door.prev - When asked for a location, the key to go to previous closest - door or doorway. Default is 'D'. + 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. -getpos.help - When asked for a location, the key to show help. Default is - '?'. + X Toggle two-weapon combat, if your character can do it. Also + available via the ``#twoweapon'' extended command. -getpos.mon.next - When asked for a location, the key to go to next closest mon- - ster. Default is 'm'. + (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''.) -getpos.mon.prev - When asked for a location, the key to go to previous closest - monster. Default is 'M'. + ^X Display basic information about your character. -getpos.obj.next - When asked for a location, the key to go to next closest ob- - ject. Default is 'o'. + 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. -getpos.obj.prev - When asked for a location, the key to go to previous closest - object. Default is 'O'. + z Zap a wand. -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 '!'. + z. - to aim at yourself, use `.' for the direction. -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 '*'. + Z Zap (cast) a spell. -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 '"'. + Z. - to cast at yourself, use `.' for the direction. -getpos.pick - When asked for a location, the key to choose the location, and - possibly ask for more info. Default is '.'. + ^Z Suspend the game (UNIX(R) versions with job control only). -getpos.pick.once - When asked for a location, the key to choose the location, and - skip asking for more info. Default is ','. + : Look at what is here. -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 ';'. + ; Show what type of thing a visible symbol corresponds to. -getpos.pick.verbose - When asked for a location, the key to choose the location, and - show more info without asking. Default is ':'. + , Pick up some things from the floor beneath you. -getpos.self - When asked for a location, the key to go to your location. De- - fault is '@'. + May be preceded by `m' to force a selection menu. -getpos.unexplored.next - When asked for a location, the key to go to next closest unex- - plored location. Default is 'x'. + @ Toggle the autopickup option on and off. -getpos.unexplored.prev - When asked for a location, the key to go to previous closest - unexplored location. Default is 'X'. + ^ Ask for the type of an adjacent trap you found earlier. -getpos.valid - When asked for a location, the key to go to show valid target - locations. Default is '$'. + ) Tell what weapon you are wielding. -getpos.valid.next - When asked for a location, the key to go to next closest valid - location. Default is 'z'. + [ Tell what armor you are wearing. -getpos.valid.prev - When asked for a location, the key to go to previous closest - valid location. Default is 'Z'. -nopickup - Prefix key to move without picking up items. Default is 'm'. -redraw - Key to redraw the screen. Default is '^R'. + __________ + (R)UNIX is a registered trademark of The Open Group. -redraw.numpad - Key to redraw the screen. With number_pad only. Default is - '^L'. -repeat - Key to repeat previous command. Default is '^A'. + NetHack 3.6 April 20, 2018 -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'. -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'. + NetHack Guidebook 17 -9.10. 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" + = Tell what rings you are wearing. -type - how the message should be shown; -pattern - the pattern to match. + " Tell what amulet you are wearing. - The pattern should be a regular expression. + ( Tell what tools you are using. - Allowed types are: + * Tell what equipment you are using. - 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. + Combines the preceding five type-specific commands into one. - Here's an example of message types using NetHack's internal - pattern matching facility: + $ Count your gold pieces. - MSGTYPE=stop "You feel hungry." - MSGTYPE=hide "You displaced *." + + List the spells you know. - 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. + 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.) - The order of the defined MSGTYPE-lines is important; the last - matching rule is used. Put the general case first, exceptions - below them. + \ Show what types of objects have been discovered. -9.11. Configuring Menu Colors + ` Show discovered types for one class of objects. - 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. + ! Escape to a shell. - In general, the config file entries to configure the menu -color mappings look like this: + # Perform an extended command. - 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. + 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. - Allowed colors are black, red, green, brown, blue, magenta, - cyan, gray, orange, lightgreen, yellow, lightblue, lightmagen- - ta, lightcyan, and white. + #adjust + Adjust inventory letters (most useful when the fixinv option + is ``on''). Autocompletes. Default key is 'M-a'. - Allowed attributes are none, bold, dim, underline, blink, and - inverse. Note that the platform used may interpret the at- - tributes any way it wants. + 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. - 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 + NetHack 3.6 April 20, 2018 - 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 - 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: + NetHack Guidebook 18 -SOUNDDIR - The directory that houses the sound files to be played. -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. + 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. - The pattern should be a POSIX extended regular expression. + #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. De- + fault key is 'M-A', and '^N' if number_pad is on. -9.13. Configuring Status Hilites + #apply + Apply (use) a tool such as a pick-axe, a key, or a lamp. De- + fault key is 'a'. - 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. + If the tool used acts on items on the floor, using the `m' + prefix skips those items. - The format for defining status colors is: + If used on a wand, that wand will be broken, releasing its + magic in the process. Confirmation is required. - OPTION=hilite_status: field-name/behavior/color&attributes + #attributes + Show your attributes. Default key is '^X'. - 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%: + #autopickup + Toggle the autopickup -option on/off. Default key is '@'. - OPTION=hilite_status: hitpoints/<30%/red/normal + #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'. + + #cast + Cast a spell. Default key is 'Z'. + + #chat + Talk to someone. Default key is 'M-c'. + + #close + Close a door. Default key is 'c'. + + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 19 + + + + #conduct + List voluntary challenges you have maintained. Autocom- + pletes. Default key is 'M-C'. + + See the section below entitled ``Conduct'' for details. + + #dip + Dip an object into something. Autocompletes. Default key is + 'M-d'. + + #down + Go down a staircase. Default key is '>'. + + #drop + Drop an item. Default key is 'd'. + + #droptype + Drop specific item types. Default key is 'D'. + + #eat + Eat something. Default key is 'e'. The `m' prefix skips + eating items on the floor. + + #engrave + Engrave writing on the floor. Default key is 'E'. + + #enhance + Advance or check weapon and spell skills. Autocompletes. De- + fault key is 'M-e'. + + #exploremode + Enter the explore mode. + + #fire + Fire ammunition from quiver. Default key is 'f'. + + #force + Force a lock. Autocompletes. Default key is 'M-f'. + + #glance + Show what type of thing a map symbol corresponds to. Default + key is ';'. + + #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'. + + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 20 + + + + #inventory + Show your inventory. Default key is 'i'. + + #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 + '\'. + + #knownclass + Show discovered types for one class of objects. Default key + is '`'. + + #levelchange + Change your experience level. Autocompletes. Wizard-mode on- + ly. + + #lightsources + Show mobile light sources. Autocompletes. Wizard-mode only. + + #look + Look at what is here, under you. Default key is ':'. + + #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. + + #monster + Use a monster's special ability (when polymorphed into mon- + ster form). Autocompletes. Default key is 'M-m'. + + #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'. + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 21 + + + + #offer + Offer a sacrifice to the gods. Autocompletes. Default key is + 'M-o'. The `m' prefix skips offering items on the altar. + + You'll need to find an altar to have any chance at success. + Corpses of recently killed monsters are the fodder of + choice. + + #open + Open a door. Default key is 'o'. + + #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'. + + #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 3.6 April 20, 2018 + + + + + + NetHack Guidebook 22 + + + + #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'. + + 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. + + #quiver + Select ammunition for quiver. Default key is 'Q'. + + #read + Read a scroll, a spellbook, or something else. Default key + is 'r'. + + #redraw + Redraw the screen. Default key is '^R', and '^L' if num- + ber_pad is on. + + #remove + Remove an accessory (ring, amulet, etc). Default key is 'R'. + + #ride + Ride (or stop riding) a saddled creature. Autocompletes. De- + fault key is 'M-R'. + + #rub + Rub a lamp or a stone. Autocompletes. Default key is 'M-r'. + + #save + Save the game. Default key is 'S'. + + #search + Search for traps and secret doors around you. Default key is + 's'. + + #seeall + Show all equipment in use. Default key is '*'. + + #seeamulet + Show the amulet currently worn. Default key is '"'. + + #seearmor + Show the armor currently worn. Default key is '['. + + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 23 + + + + #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 '+'. + + #seetools + Show the tools currently in use. Default key is '('. + + #seetrap + Show the type of an adjacent trap. Default key is '^'. + + #seeweapon + Show the weapon currently wielded. Default key is ')'. + + #shell + Do a shell escape. Default key is '!'. + + #sit + Sit down. Autocompletes. Default key is 'M-s'. + + #stats + Show memory statistics. Autocompletes. Wizard-mode only. + + #suspend + Suspend the game. Default key is '^Z'. + + #swap + Swap wielded and secondary weapons. Default key is 'x'. + + #takeoff + Take off one piece of armor. Default key is 'T'. + + #takeoffall + Remove all armor. Default key is 'A'. + + #teleport + Teleport around the level. Default key is '^T'. + + #terrain + Show bare map without displaying monsters, objects, or + traps. Autocompletes. + + #therecmdmenu + Show a menu of possible actions in a location next to you. + + #throw + Throw something. Default key is 't'. + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 24 + + + + #timeout + Look at the timeout queue. Autocompletes. Wizard-mode only. + + #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. + + #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. + + #turn + Turn undead away. Autocompletes. Default key is 'M-t'. + + #twoweapon + Toggle two-weapon combat on or off. Autocompletes. Default + keys are 'X', and 'M-2'. + + 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 '<'. + + #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 3.6 April 20, 2018 + + + + + + NetHack Guidebook 25 + + + + #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 '/'. + + #wield + Wield a weapon. Default key is 'w'. + + #wipe + Wipe off your face. Autocompletes. Default key is 'M-w'. + + #wizdebug_bury + Bury objects under and around you. Autocompletes. Wizard- + mode only. + + #wizdebug_traveldisplay + Toggle travel display. Autocompletes. Wizard-mode only. + + #wizdetect + Search a room. Autocompletes. Wizard-mode only. Default key + is '^E'. + + #wizgenesis + Create a monster. Autocompletes. Wizard-mode only. Default + key is '^G'. + + #wizidentify + Identify all items in inventory. Autocompletes. Wizard-mode + only. Default key is '^I'. + + #wizintrinsic + Set intrinsic. Autocompletes. Wizard-mode only. + + #wizlevelport + Teleport to another level. Autocompletes. Wizard-mode on- + ly. Default key is '^V'. + + #wizmap + Map the level. Autocompletes. Wizard-mode only. Default key + is '^F'. + + #wizrumorcheck + Verify rumor boundaries. Autocompletes. Wizard-mode only. + + #wizsmell + Smell monster. Autocompletes. Wizard-mode only. + + #wizwhere + Show locations of special levels. Autocompletes. Wizard-mode + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 26 + + + + only. + + #wizwish + Wish for something. Autocompletes. Wizard-mode only. Default + key is '^W'. + + #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) + + 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 + + M-m #monster + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 27 + + + + 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 + + j #jump + + k #kick + + l #loot + + N #name + + 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. + + Secret corridors are hidden. You can find them with the `s' + (search) command. + + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 28 + + + + 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 and ladders (`<', `>') + + 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. + + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 29 + + + + 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.) + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 30 + + + + 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. + + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 31 + + + + 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. + + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 32 + + + + 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 33 + + + + 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 34 + + + + implicit_uncursed option can be used to control this; toggle it + off to have ``uncursed'' be displayed even when that can be de- + duced 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. + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 35 + + + + 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 April 20, 2018 + + + + + + NetHack Guidebook 36 + + + + 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 -- wield- + ing two weapons at once. The primary is your wielded weapon and + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 37 + + + + the secondary is just an item in your inventory that's been des- + ignated 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 + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 38 + + + + 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). + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 39 + + + + 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. + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 40 + + + + 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 41 + + + + 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 April 20, 2018 + + + + + + NetHack Guidebook 42 + + + + 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 43 + + + + 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 44 + + + + being 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 45 + + + + variable. Some versions of NetHack also have front-end programs + that allow you to set options before starting the game or a glob- + al 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, Lin- + ux, and Mac OS X it is ``.nethackrc'' in the user's home directo- + ry. 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 + defaults to the location of the NetHack.exe or NetHackw.exe + file so setting HACKDIR to override that is not usually neces- + sary or recommended. + + LEVELDIR + The location that in-progress level files are stored. Defaults + to HACKDIR, must be writeable. + + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 46 + + + + 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. + Defaults 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 + + AUTOPICKUP_EXCEPTION + Set exceptions to the pickup_types option. See the ``Configur- + ing Autopickup Exceptions'' section. + + 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. + + 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 + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 47 + + + + 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. + + 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. + + Example: + + WIZKIT=~/wizkit.txt + + SOUNDDIR + Define the directory that contains the sound files. See the + ``Configuring User Sounds'' section. + + SOUND + Define a sound mapping. See the ``Configuring User Sounds'' + section. + + 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.3. 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'' + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 48 + + + + before 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. + + NETHACKOPTIONS can also be set to the full name of a config- + uration file you want to use (possibly preceded by an `@'). + + 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. + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 49 + + + + 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 50 + + + + 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. + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 51 + + + + (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), + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 52 + + + + 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. + + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 53 + + + + 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 54 + + + + 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: + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 55 + + + + 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 + defaults 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. + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 56 + + + + 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 accepting any non-yes response as no + quit - require ``yes'' rather than 'y' to confirm quit- + ting the game or switching into non-scoring ex- + plore 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 at- + tacking a peaceful monster; + wand-break - require ``yes'' rather than 'y' to confirm break- + ing a wand; + Were-change - require ``yes'' rather than 'y' to confirm chang- + ing form due to lycanthropy when hero has poly- + morph 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. + + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 57 + + + + 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 ob- + jects. A value of 0 means ``no limit'' (always list the ob- + jects); a value of 1 effectively means ``never show the ob- + jects'' 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 58 + + + + ``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. + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 59 + + + + 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. + + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 60 + + + + 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. + + + + + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 61 + + + + 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). + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 62 + + + + 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. + + 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. + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 63 + + + + 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. + + 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. + + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 64 + + + + 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 second ESC to finish cancelling such a count. At other + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 65 + + + + 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 66 + + + + 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. + + + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 67 + + + + 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 68 + + + + 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'. + + 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 + '?'. + + getpos.mon.next + When asked for a location, the key to go to next closest mon- + ster. Default is 'm'. + + getpos.mon.prev + When asked for a location, the key to go to previous closest + monster. Default is 'M'. + + getpos.obj.next + When asked for a location, the key to go to next closest ob- + ject. Default is 'o'. + + getpos.obj.prev + When asked for a location, the key to go to previous closest + object. Default is 'O'. + + 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 '!'. + + 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 69 + + + + same glyphs instead of by 8 units. Default is '*'. + + 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 '"'. + + getpos.pick + When asked for a location, the key to choose the location, and + possibly ask for more info. Default is '.'. + + getpos.pick.once + When asked for a location, the key to choose the location, and + skip asking for more info. Default is ','. + + 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 ';'. + + getpos.pick.verbose + When asked for a location, the key to choose the location, and + show more info without asking. Default is ':'. + + getpos.self + When asked for a location, the key to go to your location. De- + fault is '@'. + + getpos.unexplored.next + When asked for a location, the key to go to next closest unex- + plored location. Default is 'x'. + + getpos.unexplored.prev + When asked for a location, the key to go to previous closest + unexplored location. Default is 'X'. + + getpos.valid + When asked for a location, the key to go to show valid target + locations. Default is '$'. + + getpos.valid.next + When asked for a location, the key to go to next closest valid + location. Default is 'z'. + + getpos.valid.prev + When asked for a location, the key to go to previous closest + valid location. Default is 'Z'. + + nopickup + Prefix key to move without picking up items. Default is 'm'. + + redraw + Key to redraw the screen. Default is '^R'. + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 70 + + + + 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'. + + 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 + + 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 mes- + sage 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. + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 71 + + + + The order of the defined MSGTYPE-lines is important; the last + matching rule is used. Put the general case first, exceptions + below them. + + 9.11. 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: + + 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 + implicit_uncursed option off so that all items known to be un- + cursed are actually displayed with the ``uncursed'' description. + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 72 + + + + 9.12. 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. + + 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.13. 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. + + The format for defining status colors is: + + OPTION=hilite_status: field-name/behavior/color&attributes + + 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/down/red/up/green + + You can adjust the display of the following status fields: + title strength dexterity + constitution intelligence wisdom + charisma alignment score + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 73 + + + + 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. + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 74 + + + + 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 prefix 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) + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 75 + + + + ^ 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) + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 76 + + + + - S_hbeam (horizontal beam [zap animation]) + # S_hcdbridge (horizontal raised drawbridge) + + S_hcdoor (closed door in horizontal wall) + . S_hodbridge (horizontal lowered drawbridge) + | S_hodoor (open door in horizontal wall) + ^ S_hole (hole) + @ S_human (human or elf) + h S_humanoid (humanoid) + - S_hwall (horizontal wall) + . S_ice (ice) + 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 (diagonal beam [zap animation]) + ^ 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) + . S_ndoor (doorway witout door) + 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_room (floor of a room) + / S_rslant (diagonal beam [zap animation]) + ^ S_rust_trap (rust trap) + R S_rustmonst (rust monster or disenchanter) + ? S_scroll (scroll) + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 77 + + + + # 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 (vertical beam [zap animation]) + # S_vcdbridge (vertical raised drawbridge) + + S_vcdoor (closed door in vertical wall) + . S_venom (splash of venom) + ^ S_vibrating_square (vibrating square) + . S_vodbridge (vertical lowered drawbridge) + - S_vodoor (open door in vertical wall) + v S_vortex (vortex) + | S_vwall (vertical wall) + / S_wand (wand) + } S_water (water) + ) S_weapon (weapon) + " S_web (web) + w S_worm (worm) + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 78 + + + + ~ 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) + + There is one additional class of object, described as + ``strange object'', which will occasionally be the shape taken on + by mimics and shown as `]' for maps displayed as text characters. + Although the displayed character is the same as the default value + for `S_mimic_def', it is a different symbol and there is no cor- + responding `S_strange_object' symbol nor any way to assign an al- + ternate value for it. + + 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 79 + + + + 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 80 + + + + 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. + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 81 + + + + Allows 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. + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 82 + + + + 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 83 + + + + Threepoint, 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. + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 84 + + + + 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 + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 85 + + + + release 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. + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 86 + + + + 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. + + 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. NetHack + 3.6.0 introduced 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/. + + + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 87 + + + + 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 + + + + NetHack 3.6 April 20, 2018 + + + + + + NetHack Guidebook 88 + + + + Izchak Miller Mike Stephenson Yitzhak Sapir + + Brand and product names are trademarks or registered trade- + marks of their respective holders. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NetHack 3.6 April 20, 2018 - 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.