From 484cd86ce3b560e3e9092b74be47e9d30fc788c6 Mon Sep 17 00:00:00 2001 From: nhw_cron Date: Mon, 6 Nov 2023 16:24:09 -0500 Subject: [PATCH] This is cron-daily v1-May-8-2022. 005guidebook updated: doc/Guidebook.txt --- doc/Guidebook.txt | 12176 +++++++++++++++++++++----------------------- 1 file changed, 5890 insertions(+), 6286 deletions(-) diff --git a/doc/Guidebook.txt b/doc/Guidebook.txt index f128d8cf1..3dce90f4e 100644 --- a/doc/Guidebook.txt +++ b/doc/Guidebook.txt @@ -8,7451 +8,7055 @@ - A Guide to the Mazes of Menace - (Guidebook for NetHack) + A Guide to the Mazes of Menace + (Guidebook for NetHack) - Original version - Eric S. Raymond - (Edited and expanded for NetHack 3.7.0 by Mike Stephenson and others) + Original version - Eric S. Raymond + (Edited and expanded for NetHack 3.7.0 by Mike Stephenson and others) - November 6, 2023 + November 6, 2023 - 1. Introduction + 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 - passes, 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 - entered 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? + 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 recollection of the strange and powerful + creatures that seem to be lurking behind every corner of the dungeon + in your dream. Could these details haunting your dreams be real? As + each night passes, 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 entered + 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. + Asking around, you hear about a bauble, called the Amulet of Yen- + dor 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 - NetHack Guidebook 1 + NetHack Guidebook 1 - NetHack Guidebook 2 + NetHack Guidebook 2 - 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? + 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 morning, you gather your gear, + eat what may be your last meal outside, and enter the dungeon.... - 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. + 2. What is going on here? - Your abilities and strengths for dealing with the hazards of - adventure will vary with your background and training: + 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. - 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. + Your abilities and strengths for dealing with the hazards of ad- + venture will vary with your background and training: - 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. + 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. - Cavemen and Cavewomen start with exceptional strength but, - unfortunately, with neolithic weapons. + Barbarians are warriors out of the hinterland, hardened to bat- + tle. They begin their quests with naught but uncommon strength, a + trusty hauberk, and a great two-handed sword. - 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. + Cavemen and Cavewomen start with exceptional strength but, unfor- + tunately, with neolithic weapons. - Knights are distinguished from the common skirmisher by - their devotion to the ideals of chivalry and by the surpassing - excellence of their armor. + Healers are wise in medicine and apothecary. They know the herbs + and simples that can restore vitality, ease pain, anesthetize, and + neutralize poisons; and with their instruments, they can divine a be- + ing's state of health or sickness. Their medical practice earns them + quite reasonable amounts of money, with which they enter the dungeon. - 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. + Knights are distinguished from the common skirmisher by their de- + votion to the ideals of chivalry and by the surpassing excellence of + their armor. - 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. + Monks are ascetics, who by rigorous practice of physical and men- + tal disciplines have become capable of fighting as effectively without + weapons as with. They wear no armor but make up for it with increased + mobility. - 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. + Priests and Priestesses are clerics militant, crusaders advancing + the cause of righteousness with arms, armor, and arts thaumaturgic. + Their ability to commune with deities via prayer occasionally extri- + cates 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 em- + ploy to great advantage. - NetHack 3.7.0 November 6, 2023 + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 3 - Rogues are agile and stealthy thieves, with knowledge of - locks, traps, and poisons. Their advantage lies in surprise, - which they employ to great advantage. + NetHack Guidebook 3 - 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. + 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. - 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. + Tourists start out with lots of gold (suitable for shopping + with), a credit card, lots of food, some maps, and an expensive cam- + era. Most monsters don't like being photographed. - You may also choose the race of your character (within lim- - its; most roles have restrictions on which races are eligible for - them): + Valkyries are hardy warrior women. Their upbringing in the harsh + Northlands makes them strong, inures them to extremes of cold, and in- + stills in them stealth and cunning. - 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. + Wizards start out with a knowledge of magic, a selection of magi- + cal items, and a particular affinity for dweomercraft. Although seem- + ingly weak and easy to overcome at first sight, an experienced Wizard + is a deadly foe. - 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. + You may also choose the race of your character (within limits; + most roles have restrictions on which races are eligible for them): - 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. + Dwarves are smaller than humans or elves, but are stocky and + solid individuals. Dwarves' most notable trait is their great exper- + tise in mining and metalwork. Dwarvish armor is said to be second in + quality not even to the mithril armor of the Elves. - 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. + 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. - 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. + Gnomes are smaller than but generally similar to dwarves. Gnomes + are known to be expert miners, and it is known that a secret under- + ground mine complex built by this race exists within the Mazes of Men- + ace, filled with both riches and danger. - 3. What do all those things on the screen mean? + 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. - 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 + Orcs are a cruel and barbaric race that hate every living thing + (including other orcs). Above all others, Orcs hate Elves with a pas- + sion unequalled, and will go out of their way to kill one at any op- + portunity. The armor and weapons fashioned by the Orcs are typically + of inferior quality. + 3. What do all those things on the screen mean? - NetHack 3.7.0 November 6, 2023 + 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 orienta- + tion 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 + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 4 - of the level, it appears on the screen in front of you. + NetHack Guidebook 4 - 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. + that accept commands in pseudo-English sentences and explain the re- + sults 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 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 cre- - ated. The three possible display options are: a monochrome char- - acter 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. + NetHack can even be played by blind players, with the assistance + of Braille readers or speech synthesisers. Instructions for configur- + ing NetHack for the blind are included later in this document. - 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. + NetHack generates a new dungeon every time you play it; even the + authors still find it an entertaining and exciting game despite having + won several times. + NetHack offers a variety of display options. The options avail- + able to you will vary from port to port, depending on the capabilities + of your hardware and software, and whether various compile-time op- + tions were enabled when your executable was created. The three possi- + ble display options are: a monochrome character interface, a color + character interface, and a graphical interface using small pictures + called tiles. The two character interfaces allow fonts with other + characters to be substituted, but the default assignments use standard + ASCII characters to represent everything. There is no difference be- + tween the various display options with respect to game play. Because + we cannot reproduce the tiles or colors in the Guidebook, and because + it is common 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 $:993 HP:9(12) Pw:3(3) AC:10 Exp:1/19 T:752 Hungry Conf | + +---------------------------Figure-1----------------------------+ + NetHack 3.7.0 November 6, 2023 - NetHack 3.7.0 November 6, 2023 + NetHack Guidebook 5 - NetHack Guidebook 5 + +---------------------------------------------------------------+ + |Player the Rambler St:12 Dx:7 Co:18 In:11 Wi:9 Ch:15 | + |Neutral $:993 HP:9(12) Pw:3(3) AC:10 Exp:1/19 Hungry | + |Dlvl:1 T:752 Conf | + +---------------------------Figure-2----------------------------+ + 3.1. The status lines (bottom) + The bottom two (or three) lines of the screen contain several + cryptic pieces of information describing your current status. Figure + 1 shows the traditional two-line status area below the map. Figure 2 + shows just the status area, when the statuslines:3 option has been set + (not all interfaces support this option). If any status line becomes + wider than the screen, you might not see all of it due to truncation. + When the numbers grow bigger and multiple conditions are present, the + two-line format will run out of room on the second line, but sta- + tuslines:2 is the default because a basic 24-line terminal isn't tall + enough for the third line. - +---------------------------------------------------------------+ - |The bat bites! | - | | - | ------ | - | |....| ---------- | - | |.<..|####...@...$.| | - | |....-# |...B....+ | - | |....| |.d......| | - | ------ -------|-- | - | | - | | - | | - |Player the Rambler St:12 Dx:7 Co:18 In:11 Wi:9 Ch:15 Neutral | - |Dlvl:1 $:993 HP:9(12) Pw:3(3) AC:10 Exp:1/19 T:752 Hungry Conf | - +---------------------------Figure-1----------------------------+ + Here are explanations of what the various status items mean: + Title + Your character's name and professional ranking (based on role and + experience level, see below). - +---------------------------------------------------------------+ - |Player the Rambler St:12 Dx:7 Co:18 In:11 Wi:9 Ch:15 | - |Neutral $:993 HP:9(12) Pw:3(3) AC:10 Exp:1/19 Hungry | - |Dlvl:1 T:752 Conf | - +---------------------------Figure-2----------------------------+ + Strength + A measure of your character's strength; one of your six basic at- + tributes. 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 success- + fully you perform physical tasks, how much damage you do in com- + bat, and how much loot you can carry. - 3.1. The status lines (bottom) + Dexterity + Dexterity affects your chances to hit in combat, to avoid traps, + and do other tasks requiring agility or manipulation of objects. - The bottom two (or three) lines of the screen contain sev- - eral cryptic pieces of information describing your current sta- - tus. Figure 1 shows the traditional two-line status area below - the map. Figure 2 shows just the status area, when the sta- - tuslines:3 option has been set (not all interfaces support this - option). If any status line becomes wider than the screen, you - might not see all of it due to truncation. When the numbers grow - bigger and multiple conditions are present, the two-line format - will run out of room on the second line, but statuslines:2 is the - default because a basic 24-line terminal isn't tall enough for - the third line. + 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 suffi- + ciently high strength, the contribution to carrying capacity from + your constitution no longer matters. - Here are explanations of what the various status items mean: + Intelligence + Intelligence affects your ability to cast spells and read spell- + books. - Title - Your character's name and professional ranking (based on - role and experience level, see below). + Wisdom + Wisdom comes from your practical experience (especially when + dealing with magic). It affects your magical energy. - 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. + NetHack 3.7.0 November 6, 2023 - NetHack 3.7.0 November 6, 2023 + NetHack Guidebook 6 - NetHack Guidebook 6 + Charisma + Charisma affects how certain creatures react toward you. In par- + ticular, it can affect the prices shopkeepers offer you. - Dexterity - Dexterity affects your chances to hit in combat, to avoid - traps, and do other tasks requiring agility or manipulation - of objects. + Alignment + Lawful, Neutral, or Chaotic. Often, Lawful is taken as good and + Chaotic as evil, but legal and ethical do not always coincide. + Your alignment influences how other monsters react toward you. + Monsters of a like alignment are more likely to be non-aggres- + sive, while those of an opposing alignment are more likely to be + seriously offended at your presence. - 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. + 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 somewhere beneath the twentieth + level. - Intelligence - Intelligence affects your ability to cast spells and read - spellbooks. + Gold + The number of gold pieces you are openly carrying. Gold which + you have concealed in containers is not counted. - Wisdom - Wisdom comes from your practical experience (especially when - dealing with magic). It affects your magical energy. + 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 rest- + ing, or by using certain magical items or spells. The number in + parentheses is the maximum number your hit points can reach. - Charisma - Charisma affects how certain creatures react toward you. In - particular, it can affect the prices shopkeepers offer you. + Power + Spell points. This tells you how much mystic energy (mana) you + have available for spell casting. Again, resting will regenerate + the amount available. - 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. + Armor Class + A measure of how effectively your armor stops blows from un- + friendly creatures. The lower this number is, the more effective + the armor; it is quite possible to have negative armor class. + See the Armor subsection of Objects for more information. - 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. + Experience + Your current experience level. If the showexp option is set, it + will be followed by a slash and experience points. As you adven- + ture, you gain experience points. At certain experience point + totals, you gain an experience level. The more experienced you + are, the better you fight and withstand magical attacks. (By the + time your level reaches double digits, the usefulness of showing + the points with it has dropped significantly. You can use the + `O' command to turn showexp off to avoid using up the limited + status line space.) - Gold - The number of gold pieces you are openly carrying. Gold - which you have concealed in containers is not counted. + Time + The number of turns elapsed so far, displayed if you have the - 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 + NetHack 3.7.0 November 6, 2023 - NetHack 3.7.0 November 6, 2023 + NetHack Guidebook 7 - NetHack Guidebook 7 + time option set. + Status + Hunger: your current hunger status. Values are Satiated, Not + Hungry (or Normal), Hungry, Weak, and Fainting. Not shown when + Normal. - regenerate the amount available. + Encumbrance: an indication of how what you are carrying affects + your ability to move. Values are Unencumbered, Burdened, + Stressed, Strained, Overtaxed, and Overloaded. Not shown when + Unencumbered. - 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. See the Armor subsection of Objects for more in- - formation. + 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). - Experience - Your current experience level. If the showexp option is - set, it will be followed by a slash and experience points. - As you adventure, you gain experience points. At certain - experience point totals, you gain an experience level. The - more experienced you are, the better you fight and withstand - magical attacks. (By the time your level reaches double - digits, the usefulness of showing the points with it has - dropped significantly. You can use the `O' command to turn - showexp off to avoid using up the limited status line - space.) + Non-fatal conditions: Blind (can't see), Deaf (can't hear), Stun + (stunned), Conf (confused), Hallu (hallucinating). - Time - The number of turns elapsed so far, displayed if you have - the time option set. + Movement modifiers: Lev (levitating), Fly (flying), Ride (rid- + ing). - Status - Hunger: your current hunger status. Values are Satiated, - Not Hungry (or Normal), Hungry, Weak, and Fainting. Not - shown when Normal. + Other conditions and modifiers exist, but there isn't enough room + to display them with the other status fields. - Encumbrance: an indication of how what you are carrying af- - fects your ability to move. Values are Unencumbered, Bur- - dened, Stressed, Strained, Overtaxed, and Overloaded. Not - shown when Unencumbered. + The #attributes command (default key ^X) will show all current status + information in unabbreviated format. It also shows other information + which might be included on the status lines if those had more room. - 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). + 3.2. The message line (top) - Non-fatal conditions: Blind (can't see), Deaf (can't hear), - Stun (stunned), Conf (confused), Hallu (hallucinating). + The top line of the screen is reserved for messages that describe + things that are impossible to represent visually. If you see a + "--More--" on the top line, this means that NetHack has another mes- + sage 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. - Movement modifiers: Lev (levitating), Fly (flying), Ride - (riding). + To change how and what messages are shown on the message line, + see "Configuring Message Types" and the verbose option. - Other conditions and modifiers exist, but there isn't enough - room to display them with the other status fields. + 3.3. The map (rest of the screen) - The #attributes command (default key ^X) will show all current - status information in unabbreviated format. It also shows other - information which might be included on the status lines if those - had more room. + The rest of the screen is the map of the level as you have ex- + plored it so far. Each symbol on the screen represents something. + 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: + - and | + The walls of a room, or an open door. Or a grave (|). - NetHack 3.7.0 November 6, 2023 + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 8 + NetHack Guidebook 8 - 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 an- - other message to display on the screen, but it wants to make cer- - tain 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. + . The floor of a room, ice, or a doorless doorway. - 3.3. The map (rest of the screen) + # A corridor, or iron bars, or a tree, or possibly a kitchen sink + (if your dungeon has sinks), or a drawbridge. - 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: + > Stairs down: a way to the next level. - - and | - The walls of a room, or an open door. Or a grave (|). + < Stairs up: a way to the previous level. - . The floor of a room, ice, or a doorless doorway. + + A closed door, or a spellbook containing a spell you may be able + to learn. - # A corridor, or iron bars, or a tree, or possibly a kitchen - sink (if your dungeon has sinks), or a drawbridge. + @ Your character or a human. - > Stairs down: a way to the next level. + $ A pile of gold. - < Stairs up: a way to the previous level. + ^ A trap (once you have detected it). - + A closed door, or a spellbook containing a spell you may be - able to learn. + ) A weapon. - @ Your character or a human. + [ A suit or piece of armor. - $ A pile of gold. + % Something edible (not necessarily healthy). - ^ A trap (once you have detected it). + ? A scroll. - ) A weapon. + / A wand. - [ A suit or piece of armor. + = A ring. - % Something edible (not necessarily healthy). + ! A potion. - ? A scroll. + ( A useful item (pick-axe, key, lamp...). - / A wand. + " An amulet or a spider web. - = A ring. + * A gem or rock (possibly valuable, possibly worthless). + ` A boulder or statue. + 0 An iron ball. + _ An altar, or an iron chain. - NetHack 3.7.0 November 6, 2023 + { A fountain. + } 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 inhabi- + tants of the Mazes of Menace. Watch out, they can be nasty and + vicious. Sometimes, however, they can be helpful. - NetHack Guidebook 9 + NetHack 3.7.0 November 6, 2023 - ! A potion. - ( A useful item (pick-axe, key, lamp...). - " An amulet or a spider web. + NetHack Guidebook 9 - * A gem or rock (possibly valuable, possibly worthless). - ` A boulder or statue. - 0 An iron ball. + I This marks the last known location of an invisible or otherwise + unseen monster. Note that the monster could have moved. The `F' + and `m' commands may be useful here. - _ An altar, or an iron chain. + 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). - { A fountain. + 4. Commands - } A pool of water or moat or a pool of lava. + Commands can be initiated by typing one or two characters to + which the command is bound to, or typing the command name in the ex- + tended 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 direction, or an + object to be used. For those commands that require additional infor- + mation, NetHack will present you with either 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. - \ An opulent throne. + 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 `*' in- + dicating that you may choose an object not on the list, if you wanted + to use something unexpected. Typing a `*' lists your entire inven- + tory, so you can see the inventory letters of every object you're car- + rying. 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 com- + mand. - 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. + 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 ex- + ample above would be typed "n10s" instead. Commands for which counts + make no sense ignore them. In addition, movement commands can be pre- + fixed for greater control (see below). To cancel a count or a prefix, + press the ESC key. - 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. + 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: - 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). + ? Help menu: display one of several help texts available. - 4. Commands + / 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 option is on, and then you will be asked to pick + another location; `,' will explain the symbol but skip any - 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 pos- - sible choices. Typing `?' gives you an inventory list of these - items, so you can see what each letter refers to. In this exam- - ple, there is also a `*' indicating that you may choose an object - not on the list, if you wanted to use something unexpected. Typ- - ing a `*' lists your entire inventory, so you can see the + NetHack 3.7.0 November 6, 2023 - NetHack 3.7.0 November 6, 2023 + NetHack Guidebook 10 - NetHack Guidebook 10 + 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 command, or + pressing `?' will give a brief reminder about how it works. + If the autodescribe option is on, a short description of what you + see at each location is shown as you move the cursor. Typing `#' + while picking a location will toggle that option on or off. The + whatis_coord option controls whether the short description in- + cludes map coordinates. - 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. + Specifying a name rather than a location always gives any addi- + tional information available about that name. - 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. Com- - mands for which counts make no sense ignore them. In addition, - movement commands can be prefixed for greater control (see be- - low). To cancel a count or a prefix, press the ESC key. + You may also request a description of nearby monsters, all mon- + sters currently displayed, nearby objects, or all objects. The + whatis_coord option controls which format of map coordinate is + included with their descriptions. - 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: + & Tell what a command does. - ? Help menu: display one of several help texts available. + < Go up to the previous level (if you are on a staircase or lad- + der). - / 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 option is on, and - then you will be asked to pick another location; `,' 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 ask- - ing for confirmation. When picking a location, pressing the - ESC key will terminate this command, or pressing `?' will - give a brief reminder about how it works. + > Go down to the next level (if you are on a staircase or ladder). - 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. + [yuhjklbn] + Go one step in the direction indicated (see Figure 3). If you + sense or remember a monster there, you will fight the monster in- + stead. 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 | + | (number_pad off) (number_pad on) | + +---------------------------Figure-3-----------------------------+ - Specifying a name rather than a location always gives any - additional information available about that name. + [YUHJKLBN] + Go in that direction until you hit a wall or run into something. - 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. + m[yuhjklbn] + Prefix: move without picking up objects or fighting (even if you + remember a monster there). - & Tell what a command does. + A few non-movement commands use the `m' prefix to request operat- + ing 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 - < Go up to the previous level (if you are on a staircase or - ladder). + NetHack 3.7.0 November 6, 2023 - NetHack 3.7.0 November 6, 2023 + NetHack Guidebook 11 - NetHack Guidebook 11 + that prompt). + The prefix will make "#travel" command show a menu of interesting + targets in sight. It can also be used with the `\' (known, show + a list of all discovered objects) and the ``' (knownclass, show a + list of discovered objects in a particular class) commands to of- + fer a menu of several sorting alternatives (which sets a new + value for the sortdiscoveries option); also for "#vanquished" and + "#genocided" commands to offer a sorting menu. - > Go down to the next level (if you are on a staircase or lad- - der). + A few other commands (eat food, offer sacrifice, apply tinning- + kit, drink/quaff, dip, tip container) 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. - [yuhjklbn] - Go one step in the direction indicated (see Figure 3). 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." + In debug mode (aka "wizard mode"), the `m' prefix may also be + used with the "#teleport" and "#wizlevelport" commands. - y k u 7 8 9 - \ | / \ | / - h- . -l 4- . -6 - / | \ / | \ - b j n 1 2 3 - (if number_pad is set) - Figure 3 + F[yuhjklbn] + Prefix: fight a monster (even if you only guess one is there). - [YUHJKLBN] - Go in that direction until you hit a wall or run into some- - thing. + g[yuhjklbn] + Prefix: move until something interesting is found. - m[yuhjklbn] - Prefix: move without picking up objects or fighting (even - if you remember a monster there). + G[yuhjklbn] or +[yuhjklbn] + Prefix: similar to `g', but forking of corridors is not consid- + ered interesting. - 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). + Note: + means holding the or key + down like while typing and releasing , then releas- + ing . ^ is used as shorthand elsewhere in the + Guidebook to mean the same thing. Control characters are case- + insensitive so ^x and ^X are the same. - The prefix will make "#travel" command show a menu of inter- - esting targets in sight. It can also be used with the `\' - (known, show a list of all discovered objects) and the ``' - (knownclass, show a list of discovered objects in a particu- - lar class) commands to offer a menu of several sorting al- - ternatives (which sets a new value for the sortdiscoveries - option); also for "#vanquished" and "#genocided" commands to - offer a sorting menu. + M[yuhjklbn] + Old versions supported `M' as a movement prefix which combined + the effect of `m' with +. That is no longer + supported as a prefix but similar effect can be achieved by using + `m' and G in combination. m can also be used in com- + bination with g, +, or + +. - A few other commands (eat food, offer sacrifice, apply tin- - ning-kit, drink/quaff, dip, tip container) use the `m' pre- - fix 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 mon- - sters. + _ Travel to a map location via a shortest-path algorithm. - In debug mode (aka "wizard mode"), the `m' prefix may also - be used with the "#teleport" and "#wizlevelport" commands. + 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 condi- + tions as the `G' prefix, but without picking up objects, so im- + plicitly forces the `m' prefix. For ports with mouse support, + the command is also invoked when a mouse-click takes place on a + location other than the current position. - F[yuhjklbn] - Prefix: fight a monster (even if you only guess one is - there). - NetHack 3.7.0 November 6, 2023 + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 12 + NetHack Guidebook 12 - g[yuhjklbn] - Prefix: move until something interesting is found. - G[yuhjklbn] or +[yuhjklbn] - Prefix: similar to `g', but forking of corridors is not - considered interesting. + . Wait or rest, do nothing for one turn. Precede with the `m' pre- + fix to wait for a turn even next to a hostile monster, if + safe_wait is on. - Note: + means holding the or - key down like while typing and releasing , then - releasing . ^ is used as shorthand elsewhere - in the Guidebook to mean the same thing. Control characters - are case-insensitive so ^x and ^X are the same. + a Apply (use) a tool (pick-axe, key, lamp...). - M[yuhjklbn] - Old versions supported `M' as a movement prefix which com- - bined the effect of `m' with +. That is - no longer supported as a prefix but similar effect can be - achieved by using `m' and G in combination. m - can also be used in combination with g, +, or +. + If used on a wand, that wand will be broken, releasing its magic + in the process. Confirmation is required. - _ Travel to a map location via a shortest-path algorithm. + A Remove one or more worn items, such as armor. - The shortest path is computed over map locations the hero - knows about (e.g. seen or previously traversed). If there - is no known path, a guess is made instead. Stops on most of - the same conditions as the `G' prefix, but without picking - up objects, so implicitly forces the `m' prefix. For ports - with mouse support, the command is also invoked when a - mouse-click takes place on a location other than the current - position. + Use `T' (take off) to take off only one piece of armor or `R' + (remove) to take off only one accessory. - . Wait or rest, do nothing for one turn. Precede with the `m' - prefix to wait for a turn even next to a hostile monster, if - safe_wait is on. + ^A Repeat the previous command. - a Apply (use) a tool (pick-axe, key, lamp...). + c Close a door. - If used on a wand, that wand will be broken, releasing its - magic in the process. Confirmation is required. + C Call (name) a monster, an individual object, or a type of object. - A Remove one or more worn items, such as armor. + Same as extended command "#name". - Use `T' (take off) to take off only one piece of armor or - `R' (remove) to take off only one accessory. + ^C Panic button. Quit the game. - ^A Repeat the previous command. + d Drop something. - c Close a door. + For example "d7a" means drop seven items of object a. - C Call (name) a monster, an individual object, or a type of - object. + D Drop several things. + In answer to the question + "What kinds of things do you want to drop? [!%= BUCXPaium]" + you should type zero or more object symbols possibly followed 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 3.7.0 November 6, 2023 + 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. + DP - drop objects picked up last. + 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. + The last example shows a combination. There are four categories + of object filtering: class (`!' for potions, `?' for scrolls, and + so on), shop status (`u' for unpaid, in other words, owned by the + shop), bless/curse state (`B', `U', `C', and `X' as shown above), + and novelty (`P', recently picked up items; controlled by picking + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 13 - Same as extended command "#name". + NetHack Guidebook 13 - ^C Panic button. Quit the game. - d Drop something. - For example "d7a" means drop seven items of object a. + up or dropping things rather than by any time factor). - D Drop several things. + If you specify more than one value in a category (such as "!?" + for potions and scrolls or "BU" for blessed and uncursed), an in- + ventory 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 cat- + egory 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, filter combina- + tions behaved differently.) - In answer to the question + ^D Kick something (usually a door). - "What kinds of things do you want to drop? [!%= BUCXPaium]" + e Eat food. - 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. + 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 attempting to eat any- + thing off the floor. - 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. - DP - drop objects picked up last. - 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. + If you attempt to eat while already satiated, you might choke to + death. If you risk it, you will be asked whether to "continue + eating?" if you survive the first bite. You can set the para- + noid_confirmation:eating option to require a response of yes in- + stead of just y. - The last example shows a combination. There are four cate- - gories of object filtering: class (`!' for potions, `?' for - scrolls, and so on), shop status (`u' for unpaid, in other - words, owned by the shop), bless/curse state (`B', `U', `C', - and `X' as shown above), and novelty (`P', recently picked - up items; controlled by picking up or dropping things rather - than by any time factor). + E Engrave a message on the floor. - If you specify more than one value in a category (such as - "!?" for potions and scrolls or "BU" for blessed and un- - cursed), 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 se- - lect all potions and scrolls which are known to be blessed - or uncursed. (In versions prior to 3.6, filter combinations - behaved differently.) + E- - write in the dust with your fingers. - ^D Kick something (usually a door). + Engraving the word "Elbereth" will cause most monsters to not at- + tack you hand-to-hand (but if you attack, you will rub it out); + this is often useful to give yourself a breather. - e Eat food. + f Fire (shoot or throw) one of the objects placed in your quiver + (or quiver sack, or that you have at the ready). You may select + ammunition with a previous `Q' command, or let the computer pick + something appropriate if autoquiver is true. If your wielded + weapon has the throw-and-return property, your quiver is empty, + and autoquiver is false, you will throw that wielded weapon in- + stead of filling the quiver. This will also automatically use a + polearm if wielded. If fireassist is true, firing will automati- + cally try to wield a launcher (for example, a bow or a sling) + matching the ammo in the quiver; this might take multiple turns, + and get interrupted by a monster. Remember to swap back to your + main melee weapon afterwards. + See also `t' (throw) for more general throwing and shooting. + i List your inventory (everything you're carrying). - NetHack 3.7.0 November 6, 2023 + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 14 - 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. + NetHack Guidebook 14 - If you attempt to eat while already satiated, you might - choke to death. If you risk it, you will be asked whether - to "continue eating?" if you survive the first bite. You - can set the paranoid_confirmation:eating option to require a - response of yes instead of just y. - E Engrave a message on the floor. - E- - write in the dust with your fingers. + I List selected parts of your inventory, usually be specifying the + character for a particular set of objects, like `[' for armor or + `!' for potions. - 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. + 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 unknown; + IP - list items picked up last; + I$ - count your money. - f Fire (shoot or throw) one of the objects placed in your - quiver (or quiver sack, or that you have at the ready). You - may select ammunition with a previous `Q' command, or let - the computer pick something appropriate if autoquiver is - true. If your wielded weapon has the throw-and-return prop- - erty, your quiver is empty, and autoquiver is false, you - will throw that wielded weapon instead of filling the - quiver. This will also automatically use a polearm if - wielded. If fireassist is true, firing will automatically - try to wield a launcher (for example, a bow or a sling) - matching the ammo in the quiver; this might take multiple - turns, and get interrupted by a monster. Remember to swap - back to your main melee weapon afterwards. + o Open a door. - See also `t' (throw) for more general throwing and shooting. + O Set options. - i List your inventory (everything you're carrying). + A menu showing the current option values will be displayed. You + can change most values simply by selecting the menu entry for the + given option (ie, by typing its letter or clicking upon it, de- + pending 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. Op- + tions are usually set before the game rather than with the `O' + command; see the section on options below. Precede `O' with the + `m' prefix to show advanced options. - I List selected parts of your inventory, usually be specifying - the character for a particular set of objects, like `[' for - armor or `!' for potions. + ^O Show overview. - 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 unknown; - IP - list items picked up last; - I$ - count your money. + Shortcut for "#overview": list interesting dungeon levels vis- + ited. - o Open a door. + (Prior to 3.6.0, `^O' was a debug mode command which listed the + placement of all special levels. Use "#wizwhere" to run that + command.) + 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.) - NetHack 3.7.0 November 6, 2023 + ^P Repeat previous message. + Subsequent `^P's repeat earlier messages. For some interfaces, + the behavior can be varied via the msg_window option. + q Quaff (drink) something (potion, water, etc). - NetHack Guidebook 15 + NetHack 3.7.0 November 6, 2023 - 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. Precede `O' with the `m' prefix to - show advanced options. - ^O Show overview. + NetHack Guidebook 15 - Shortcut for "#overview": list interesting dungeon levels - visited. - (Prior to 3.6.0, `^O' was a debug mode command which listed - the placement of all special levels. Use "#wizwhere" to run - that command.) - p Pay your shopping bill. + When there is a fountain or sink present, it asks whether to + drink from that. If that is declined, then it offers a chance to + choose a potion from inventory. Precede `q' with the `m' prefix + to skip asking about drinking from a fountain or sink. - P Put on an accessory (ring, amulet, or blindfold). + Q Select an object for your quiver, quiver sack, or just generally + 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. - 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.) + r Read a scroll or spellbook. - ^P Repeat previous message. + R Remove a worn accessory (ring, amulet, or blindfold). - Subsequent `^P's repeat earlier messages. For some inter- - faces, the behavior can be varied via the msg_window option. + 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_confirma- + tion:Remove option to require a prompt. - q Quaff (drink) something (potion, water, etc). + This command may also be used to take off armor. The prompt for + which inventory item to remove only lists worn accessories, 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 acces- + sory and attempt to remove it.) - When there is a fountain or sink present, it asks whether to - drink from that. If that is declined, then it offers a - chance to choose a potion from inventory. Precede `q' with - the `m' prefix to skip asking about drinking from a fountain - or sink. + ^R Redraw the screen. - 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. + s Search for secret doors and traps around you. It usually takes + several tries to find something. Precede with the `m' prefix to + search for a turn even next to a hostile monster, if safe_wait is + on. - r Read a scroll or spellbook. + Can also be used to figure out whether there is still a monster + at an adjacent "remembered, unseen monster" marker. + S Save the game (which suspends play and exits the program). The + saved game will be restored automatically the next time you play + using the same character name. + In normal play, once a saved game is restored the file used to + hold the saved data is deleted. In explore mode, once restora- + tion is accomplished you are asked whether to keep or delete the + file. Keeping the file makes it feasible to play for a while + then quit without saving and later restore again. + There is no "save current game state and keep playing" command, + not even in explore mode where saved game files can be kept and + re-used. - NetHack 3.7.0 November 6, 2023 + t Throw an object or shoot a projectile. + There's no separate "shoot" command. If you throw an arrow while + wielding a bow, you are shooting that arrow and any weapon skill + bonus or penalty for bow applies. If you throw an arrow while + not wielding a bow, you are throwing it by hand and it will + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 16 - R Remove a worn accessory (ring, amulet, or blindfold). + NetHack Guidebook 16 - 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:Remove 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.) - ^R Redraw the screen. + generally be less effective than when shot. - s Search for secret doors and traps around you. It usually - takes several tries to find something. Precede with the `m' - prefix to search for a turn even next to a hostile monster, - if safe_wait is on. + See also `f' (fire) for throwing or shooting an item pre-selected + via the `Q' (quiver) command, with some extra assistance. - Can also be used to figure out whether there is still a mon- - ster at an adjacent "remembered, unseen monster" marker. + T Take off armor. - S Save the game (which suspends play and exits the program). - The saved game will be restored automatically the next time - you play using the same character name. + 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 under- + lying 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:Remove option to require a prompt. - In normal play, once a saved game is restored the file used - to hold the saved data is deleted. In explore mode, once - restoration is accomplished you are asked whether to keep or - delete the file. Keeping the file makes it feasible to play - for a while then quit without saving and later restore - again. + 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 choices but will accept an + item of armor and attempt to take it off.) - There is no "save current game state and keep playing" com- - mand, not even in explore mode where saved game files can be - kept and re-used. + ^T Teleport, if you have the ability. - t Throw an object or shoot a projectile. + v Display version number. - There's no separate "shoot" command. If you throw an arrow - while wielding a bow, you are shooting that arrow and any - weapon skill bonus or penalty for bow applies. If you throw - an arrow while not wielding a bow, you are throwing it by - hand and it will generally be less effective than when shot. + V Display the game history. - See also `f' (fire) for throwing or shooting an item pre-se- - lected via the `Q' (quiver) command, with some extra assis- - tance. + w Wield weapon. - T Take off armor. + w- - wield nothing, use your bare (or gloved) hands. - If you're wearing more than one piece, you'll be prompted - for which one to take off. (Note that this treats a cloak + Some characters can wield two weapons at once; use the `X' com- + mand (or the "#twoweapon" extended command) to do so. + W Wear armor. - NetHack 3.7.0 November 6, 2023 + 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 accessory will + attempt to put it on. (See the `P' command above. It lists ac- + cessories as the inventory choices but will accept an item of ar- + mor 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 empty, the ex- + change still takes place. + X Toggle two-weapon combat, if your character can do it. Also + available via the "#twoweapon" extended command. + (In versions prior to 3.6 this keystroke ran the command to + switch from normal play to "explore mode", also known as - NetHack Guidebook 17 + NetHack 3.7.0 November 6, 2023 - 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:Remove op- - tion to require a prompt. - This command may also be used to remove accessories. The - prompt for which inventory item to take off only lists worn - armor, but a worn accessory can be chosen. (See the `R' - command above. It lists accessories as the inventory - choices but will accept an item of armor and attempt to take - it off.) - ^T Teleport, if you have the ability. - v Display version number. + NetHack Guidebook 17 - V Display the game history. - w Wield weapon. - w- - wield nothing, use your bare (or gloved) hands. + "discovery mode", which has now been moved to "#exploremode" and + M-X.) - Some characters can wield two weapons at once; use the `X' - command (or the "#twoweapon" extended command) to do so. + ^X Display basic information about your character. - W Wear armor. + Displays name, role, race, gender (unless role name makes that + redundant, such as Caveman or Priestess), and alignment, along + with your patron deity and his or her opposition. It also shows + most of the various items of information 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 considera- + tions. - 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.) + In normal play, that's all that `^X' displays. In explore mode, + the role and status feedback is augmented by the information pro- + vided by enlightenment magic. - x Exchange your wielded weapon with the item in your alternate - weapon slot. + z Zap a wand. - The latter is used as your secondary weapon when engaging in - two-weapon combat. Note that if one of these slots is - empty, the exchange still takes place. + z. - to aim at yourself, use `.' for the direction. - X Toggle two-weapon combat, if your character can do it. Also - available via the "#twoweapon" extended command. + Z Zap (cast) a spell. - (In versions prior to 3.6 this keystroke ran the command to - switch from normal play to "explore mode", also known as - "discovery mode", which has now been moved to "#exploremode" - and M-X.) + Z. - to cast at yourself, use `.' for the direction. - ^X Display basic information about your character. + ^Z Suspend the game (UNIX(R) versions with job control only). See + "#suspend" below for more details. - Displays name, role, race, gender (unless role name makes - that redundant, such as Caveman or Priestess), and + : Look at what is here. + ; Show what type of thing a visible symbol corresponds to. - NetHack 3.7.0 November 6, 2023 + , Pick up some things from the floor beneath you. + May be preceded by `m' to force a selection menu. + @ Toggle the autopickup option on and off. + ^ Ask for the type of an adjacent trap you found earlier. + ) Tell what weapon you are wielding. - NetHack Guidebook 18 + [ Tell what armor you are wearing. + = Tell what rings you are wearing. + " Tell what amulet you are wearing. - alignment, along with your patron deity and his or her oppo- - sition. 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. + ( Tell what tools you are using. - In normal play, that's all that `^X' displays. In explore - mode, the role and status feedback is augmented by the in- - formation provided by enlightenment magic. - z Zap a wand. - z. - to aim at yourself, use `.' for the direction. + __________ + (R)UNIX is a registered trademark of The Open Group. - Z Zap (cast) a spell. - Z. - to cast at yourself, use `.' for the direction. + NetHack 3.7.0 November 6, 2023 - ^Z Suspend the game (UNIX(R) versions with job control only). - See "#suspend" below for more details. - : Look at what is here. - ; Show what type of thing a visible symbol corresponds to. - , Pick up some things from the floor beneath you. - May be preceded by `m' to force a selection menu. + NetHack Guidebook 18 - @ Toggle the autopickup option on and off. - ^ Ask for the type of an adjacent trap you found earlier. - ) Tell what weapon you are wielding. + * Tell what equipment you are using. - [ Tell what armor you are wearing. + Combines the preceding five type-specific commands into one. - = Tell what rings you are wearing. + $ Report the gold you're carrying, possibly shop credit and/or debt + too. - " Tell what amulet you are wearing. + + List the spells you know. - ( Tell what tools you are using. + 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 another to swap + places with it. Swapping pairs of spells changes their casting + letters, so the change lasts after the current `+' command fin- + ishes. Sorting the whole list is temporary. To make the most + recent sort order persist beyond 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.) - * Tell what equipment you are using. + \ Show what types of objects have been discovered. - Combines the preceding five type-specific commands into one. + May be preceded by `m' to select preferred display order. - $ Report the gold you're carrying, possibly shop credit and/or - debt too. + ` Show discovered types for one class of objects. + May be preceded by `m' to select preferred display order. + | If persistent inventory display is supported and enabled (with + the perm_invent option), interact with it instead of with the + map. - __________ - (R)UNIX is a registered trademark of The Open Group. + Allows scrolling with the menu_first_page, menu_previous_page, + menu_next_page, and menu_last_page keys (`^', `<', `>', `|' by + default). Some interfaces also support menu_shift_left and + menu_shift_right keys (`{' and `}' by default). Use the Return + (aka Enter) or Escape key to resume play. + ! Escape to a shell. See "#shell" below for more details. - NetHack 3.7.0 November 6, 2023 + Del Show map without obstructions. You can view the explored portion + of the current level's map without monsters; without monsters and + objects; or without monsters, objects, and traps. + The key is also shown as on some keyboards or + on others. It is sometimes displayed as ^? even though + that is not an actual control character. + Many terminals have an option to swap the and + keys, so typing the key might not execute this + command. If that happens, you can use the extended command + "#terrain" instead. - NetHack Guidebook 19 + NetHack 3.7.0 November 6, 2023 - + List the spells you know. - Using this command, you can also rearrange the order in - which your spells are listed, either by sorting the entire - list or by picking one spell from the menu then picking an- - other to swap places with it. Swapping pairs of spells - changes their casting letters, so the change lasts after the - current `+' command finishes. Sorting the whole list is - temporary. To make the most recent sort order persist be- - yond the current `+' command, choose the sort option again - and then pick "reassign casting letters". (Any spells - learned after that will be added to the end of the list - rather than be inserted into the sorted ordering.) - \ Show what types of objects have been discovered. - May be preceded by `m' to select preferred display order. + NetHack Guidebook 19 - ` Show discovered types for one class of objects. - May be preceded by `m' to select preferred display order. - | If persistent inventory display is supported and enabled - (with the perm_invent option), interact with it instead of - with the map. + # Perform an extended command. - Allows scrolling with the menu_first_page, menu_previ- - ous_page, menu_next_page, and menu_last_page keys (`^', `<', - `>', `|' by default). Some interfaces also support - menu_shift_left and menu_shift_right keys (`{' and `}' by - default). Use the Return (aka Enter) or Escape key to re- - sume play. - ! Escape to a shell. See "#shell" below for more details. - Del Show map without obstructions. You can view the explored - portion of the current level's map without monsters; without - monsters and objects; or without monsters, objects, and - traps. + As you can see, the authors of NetHack used up all the letters, + so this is a way to introduce the less frequently used commands. What + extended commands are available depends on what features the game was + compiled with. - The key is also shown as on some keyboards or - on others. It is sometimes displayed as ^? even - though that is not an actual control character. + #adjust + Adjust inventory letters (most useful when the fixinv option is + "on"). Autocompletes. Default key is `M-a'. - Many terminals have an option to swap the and - keys, so typing the key might not execute - this command. If that happens, you can use the extended - command "#terrain" instead. + This command allows you to move an item from one particular in- + ventory slot to another so that it has a letter which is more + meaningful for you or that it will appear in a particular loca- + tion when inventory listings are displayed. You can move to a + currently empty slot, or if the destination is occupied--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 let- + ter. - # Perform an extended command. + 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 in- + ventory slot. If it has a name assigned, 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 eligible. In either case, otherwise com- + patible stacks with a different name will not be merged. This + contrasts with using "#adjust" to move from one slot to a differ- + ent slot. In that situation, moving (no count given) a compati- + ble 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 deciding whether + to merge with the destination stack. + #annotate + Allows you to specify one line of text to associate with the cur- + rent dungeon level. All levels with annotations are displayed by + the "#overview" command. Autocompletes. Default key is `M-A', + and also `^N' if number_pad is on. + #apply + Apply (use) a tool such as a pick-axe, a key, or a lamp. Default + key is `a'. + If the tool used acts on items on the floor, using the `m' prefix + skips those items. + If used on a wand, that wand will be broken, releasing its magic + in the process. Confirmation is required. - NetHack 3.7.0 November 6, 2023 + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 20 + NetHack Guidebook 20 - As you can see, the authors of NetHack used up all the let- - ters, so this is a way to introduce the less frequently used com- - mands. What extended commands are available depends on what fea- - tures the game was compiled with. - #adjust - Adjust inventory letters (most useful when the fixinv option - is "on"). Autocompletes. Default key is `M-a'. + #attributes + Show your attributes. Default key is `^X'. - 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. + #autopickup + Toggle the autopickup option on/off. Default key is `@'. - 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 assigned, - 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 eligi- - ble. 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 deciding - whether to merge with the destination stack. + #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'. - #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 also `^N' if number_pad is on. + #cast + Cast a spell. Default key is `Z'. - #apply - Apply (use) a tool such as a pick-axe, a key, or a lamp. - Default key is `a'. + #chat + Talk to someone. Default key is `M-c'. - If the tool used acts on items on the floor, using the `m' - prefix skips those items. + #chronicle + Show a list of important game events. - If used on a wand, that wand will be broken, releasing its - magic in the process. Confirmation is required. + #close + Close a door. Default key is `c'. - #attributes - Show your attributes. Default key is `^X'. + #conduct + List voluntary challenges you have maintained. Autocompletes. + Default key is `M-C'. + See the section below entitled "Conduct" for details. + #debugfuzzer + Start the fuzz tester. Debug mode only. - NetHack 3.7.0 November 6, 2023 + #dip + Dip an object into something. Autocompletes. Default key is `M- + d'. + The `m' prefix skips dipping into a fountain or pool if there is + one at your location. + #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'. - NetHack Guidebook 21 + #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'. - #autopickup - Toggle the autopickup option on/off. Default key is `@'. + NetHack 3.7.0 November 6, 2023 - #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'. - #chronicle - Show a list of important game events. - #close - Close a door. Default key is `c'. + NetHack Guidebook 21 - #conduct - List voluntary challenges you have maintained. Autocom- - pletes. Default key is `M-C'. - See the section below entitled "Conduct" for details. - #debugfuzzer - Start the fuzz tester. Debug mode only. + #enhance + Advance or check weapon and spell skills. Autocompletes. De- + fault key is `M-e'. - #dip - Dip an object into something. Autocompletes. Default key - is `M-d'. + #exploremode + Switch from normal play to non-scoring explore mode. Default key + is `M-X'. - The `m' prefix skips dipping into a fountain or pool if - there is one at your location. + Requires confirmation; default response is n (no). To really + switch to explore mode, respond with y. You can set the para- + noid_confirmation:quit option to require a response of yes in- + stead. - #down - Go down a staircase. Default key is `>'. + #fight + Prefix key to force fight a direction, even if you see nothing to + fight there. Default key is `F', or `-' with number_pad - #drop - Drop an item. Default key is `d'. + #fire + Fire ammunition from quiver, possibly autowielding a launcher, or + hit with a wielded polearm. Default key is `f'. - #droptype - Drop specific item types. Default key is `D'. + #force + Force a lock. Autocompletes. Default key is `M-f'. - #eat - Eat something. Default key is `e'. The `m' prefix skips - eating items on the floor. + #genocided + List any monster types which have been genocided. In explore + mode and debug mode it also shows types which have become ex- + tinct. - #engrave - Engrave writing on the floor. Default key is `E'. + The display order is the same as is used by #vanquished. The `m' + prefix brings up a menu of available sorting orders, and doing + that for either #genocided or #vanquished changes the order for + both. + If the sorting order is "count high to low" or "count low to + high" (which are applicable for #vanquished), that will be ig- + nored for #genocided and alphabetical will be used instead. The + menu omits those two choices when used for #genocide. + Autocompletes. Default key is `M-g'. + #glance + Show what type of thing a map symbol corresponds to. Default key + is `;'. - NetHack 3.7.0 November 6, 2023 + #help + Show the help menu. Default key is `?', and also `h' if num- + ber_pad is on. + #herecmdmenu + Show a menu of possible actions directed at your current loca- + tion. The menu is limited to a subset of the likeliest actions, + not an exhaustive set of all possibilities. Autocompletes. + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 22 - #enhance - Advance or check weapon and spell skills. Autocompletes. - Default key is `M-e'. - #exploremode - Switch from normal play to non-scoring explore mode. De- - fault key is `M-X'. + NetHack Guidebook 22 - Requires confirmation; default response is n (no). To re- - ally switch to explore mode, respond with y. You can set - the paranoid_confirmation:quit option to require a response - of yes instead. - #fight - Prefix key to force fight a direction, even if you see noth- - ing to fight there. Default key is `F', or `-' with num- - ber_pad - #fire - Fire ammunition from quiver, possibly autowielding a - launcher, or hit with a wielded polearm. Default key is - `f'. - - #force - Force a lock. Autocompletes. Default key is `M-f'. - - #genocided - List any monster types which have been genocided. In ex- - plore mode and debug mode it also shows types which have be- - come extinct. - - The display order is the same as is used by #vanquished. - The `m' prefix brings up a menu of available sorting orders, - and doing that for either #genocided or #vanquished changes - the order for both. - - If the sorting order is "count high to low" or "count low to - high" (which are applicable for #vanquished), that will be - ignored for #genocided and alphabetical will be used in- - stead. The menu omits those two choices when used for - #genocide. - - Autocompletes. Default key is `M-g'. - - #glance - Show what type of thing a map symbol corresponds to. De- - fault key is `;'. - - #help - Show the help menu. Default key is `?', and also `h' if - number_pad is on. - - #herecmdmenu - Show a menu of possible actions directed at your current - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 23 - - - - location. The menu is limited to a subset of the likeliest - actions, not an exhaustive set of all possibilities. Auto- - completes. - - If mouse support is enabled and the herecmd_menu option is - On, clicking on the hero (or steed when mounted) will exe- - cute this command. - - #history - Show long version and game history. Default key is `V'. - - #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 also `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 - `\'. - - The `m' prefix allows assigning a new value to the sortdis- - coveries option to control the order in which the discover- - ies are displayed. - - #knownclass - Show discovered types for one class of objects. Default key - is ``'. - - The `m' prefix operates the same as for "#known". - - #levelchange - Change your experience level. Autocompletes. Debug mode - only. - - #lightsources - Show mobile light sources. Autocompletes. Debug mode only. - - #look - Look at what is here, under you. Default key is `:'. - - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 24 - - - - #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 - also `l' if number_pad is on. - - #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'. - - You'll need to find an altar to have any chance at success. - Corpses of recently killed monsters are the fodder of - choice. - - The `m' prefix skips offering any items which are on the al- - tar. - - #open - Open a door. Default key is `o'. - - #options - Show and change option settings. Default key is `O'. Pre- - cede with the `m' prefix to show advanced options. - - #optionsfull - Show advanced game option settings. No default key. Pre- - cede with the `m' prefix to execute the simpler options com- - mand. (Mainly useful if you use BINDING=O:optionsfull to - switch `O' from simple options back to traditional advanced - options.) - - #overview - Display information you've discovered about the dungeon. - Any visited level with an annotation is included, and many - things (altars, thrones, fountains, and so on; extra stairs - leading to another dungeon branch) trigger an automatic an- - notation. If dungeon overview is chosen during end-of-game - disclosure, every visited level will be included regardless - of annotations. - - Precede #overview with the `m' prefix to display the dungeon - overview as a menu where you can select any visited level to - add or remove an annotation without needing to return to - that level. This will also force all visited levels to be - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 25 - - - - displayed rather than just the "interesting" subset. - - Autocompletes. Default keys are `^O', and `M-O'. - - #panic - Test the panic routine. Terminates the current game. Auto- - completes. Debug mode only. - - Asks for confirmation; default is n (no); continue playing. - To really panic, respond with y. You can set the para- - noid_confirmation:quit option to require a response of yes - instead. - - #pay - Pay your shopping bill. Default key is `p'. - - #perminv - If persistent inventory display is supported and enabled - (with the perm_invent option), interact with it instead of - with the map. You'll be prompted for menu scrolling key- - strokes such as `>' and `<'. Press Return or Escape to re- - sume normal play. Default key is `|'. - - #pickup - Pick up things at the current location. Default key is `,'. - The `m' prefix forces use of a menu. - - #polyself - Polymorph self. Autocompletes. Debug 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'. - - #puton - Put on an accessory (ring, amulet, etc). Default key is - `P'. - - #quaff - Quaff (drink) something. Default key is `q'. - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 26 - - - - The `m' prefix skips drinking from a fountain or sink if - there is one at your location. - - #quit - Quit the program without saving your game. Autocompletes. - - Since using this command by accident would throw away the - current game, you are asked to confirm your intent before - quitting. Default response is n (no); continue playing. To - really quit, respond with y. You can set the paranoid_con- - firmation:quit option to require 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 also `^L' if - number_pad is on. - - #remove - Remove an accessory (ring, amulet, etc). Default key is - `R'. - - #repeat - Repeat the previous command. Default key is `^A'. - - #reqmenu - Prefix key to modify the behavior or request menu from some - commands. Prevents autopickup when used with movement com- - mands. Default key is `m'. - - #retravel - Travel to a previously selected travel destination. Default - key is `C-_'. See also #travel. - - #ride - Ride (or stop riding) a saddled creature. Autocompletes. - Default key is `M-R'. - - #rub - Rub a lamp or a stone. Autocompletes. Default key is `M- - r'. - - #run - Prefix key to run towards a direction. Default key is `G' - when number_pad is off, `5' when number_pad is set to 1 or - 3, otherwise `M-5' when it is set to 2 or 4. - - #rush - Prefix key to rush towards a direction. Default is `g' when - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 27 - - - - number_pad is off, `M-5' when number_pad is set to 1 or 3, - otherwise `5' when it is set to 2 or 4. - - #save - Save the game and exit the program. Default key is `S'. - - #saveoptions - Save configuration options to the config file. This will - overwrite the file, removing all comments, so if you have - manually edited the config file, don't use this. - - #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 `['. - - #seerings - Show the ring(s) currently worn. Default key is `='. - - #seetools - Show the tools currently in use. Default key is `('. - - #seeweapon - Show the weapon currently wielded. Default key is `)'. - - #shell - Do a shell escape, switching from NetHack to a subprocess. - Can be disabled at the time the program is built. When en- - abled, access for specific users can be controlled by the - system configuration file. Use the shell command `exit' to - return to the game. Default key is `!'. - - #showgold - Report the gold in your inventory, including gold you know - about in containers you're carrying. If you are inside a - shop, report any credit or debt you have in that shop. De- - fault key is `$'. - - #showspells - List and reorder known spells. Default key is `+'. - - #showtrap - Describe an adjacent trap, possibly covered by objects or a - monster. To be eligible, the trap must already be discov- - ered. (The "#terrain" command can display your map with all - objects and monsters temporarily removed, making it possible - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 28 - - - - to see all discovered traps.) Default key is `^'. - - #sit - Sit down. Autocompletes. Default key is `M-s'. - - #stats - Show memory usage statistics. Autocompletes. Debug mode - only. - - #suspend - Suspend the game, switching from NetHack to the terminal it - was started from without performing save-and-exit. Can be - disabled at the time the program is built. When enabled, - mainly useful for tty and curses interfaces on UNIX. Use - the shell command `fg' to return to 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 map without obstructions. In normal play you can view - the explored portion of the current level's map without mon- - sters; without monsters and objects; or without monsters, - objects, and traps. - - In explore mode, you can choose to view the full map rather - than just its explored portion. In debug mode there are ad- - ditional choices. - - Autocompletes. Default key is `' or `' (see - Del above). - - #therecmdmenu - Show a menu of possible actions directed at a location next - to you. The menu is limited to a subset of the likeliest - actions, not an exhaustive set of all possibilities. Auto- - completes. - - #throw - Throw something. Default key is `t'. - - #timeout - Look at the timeout queue. Autocompletes. Debug mode only. - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 29 - - - - #tip - Tip over a container (bag or box) to pour out its contents. - When there are containers on the floor, the game will prompt - to pick one of them or "tip something being carried". If - the latter is chosen, there will be another prompt for which - item from inventory to tip. - - The `m' prefix makes the command skip containers on the - floor and pick one from inventory, except for the special - case of menustyle:traditional with two or more containers - present; that situation will start with the floor container - menu. - - Autocompletes. Default key is `M-T'. - - #travel - Travel to a specific location on the map. Default key is - `_'. Using the "request menu" prefix shows a menu of inter- - esting targets in sight without asking to move the cursor. - When picking a target with cursor and the autodescribe op- - tion is on, the top line will show "(no travel path)" if - your character does not know of a path to that location. - See also #retravel. - - #turn - Turn undead away. Autocompletes. Default key is `M-t'. - - #twoweapon - Toggle two-weapon combat on or off. Autocompletes. Default - key is `X', and also `M-2' if number_pad is off. - - 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 by type and count. - - Note that the vanquished monsters list includes all monsters - killed by traps and each other as well as by you, and omits - any which got removed from the game without being killed - (perhaps by genocide, or by a mollified shopkeeper dismiss- - ing summoned Kops) or were already corpses when placed on - the map. - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 30 - - - - Using the "request menu" prefix prior to #vanquished brings - up a menu of sorting orders available (provided that the - vanquished monsters list contains at least two types of mon- - sters). Whichever ordering is picked gets assigned to the - sortvanquished option so is remembered for subsequent #van- - quished requests. The "#genocided" command shares this - sorting order. - - During end-of-game disclosure, when asked whether to show - vanquished monsters answering `a' will let you choose from - the sort menu. - - Autocompletes. Default key is `M-V'. - - #version - Print compile time options for this version of NetHack. - - The second paragraph lists the user interface(s) that are - included. If there are more than one, you can use the win- - dowtype option in your run-time configuration file to select - the one you want. - - Autocompletes. Default key is `M-v'. - - #versionshort - Show the program's version number, plus the date and time - that the running copy was built from sources (not the ver- - sion's release date). Default key is `v'. - - #vision - Show vision array. Autocompletes. Debug mode only. - - #wait - Rest one move while doing nothing. Default key is `.', and - also ` ' if rest_on_space is on. - - #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'. - - #wizborn - Show monster birth, death, genocide, and extinct statistics. - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 31 - - - - Debug mode only. - - #wizbury - Bury objects under and around you. Autocompletes. Debug - mode only. - - #wizcast - Cast any spell. Debug mode only. - - #wizdetect - Reveal hidden things (secret doors or traps or unseen mon- - sters) within a modest radius. No time elapses. Autocom- - pletes. Debug mode only. Default key is `^E'. - - #wizgenesis - Create a monster. May be prefixed by a count to create more - than one. Autocompletes. Debug mode only. Default key is - `^G'. - - #wizidentify - Identify all items in inventory. Autocompletes. Debug mode - only. Default key is `^I'. - - #wizintrinsic - Set one or more intrinsic attributes. Autocompletes. Debug - mode only. - - #wizkill - Remove monsters from play by just pointing at them. By de- - fault the hero gets credit or blame for killing the targets. - Precede this command with the `m' prefix to override that. - Autocompletes. Debug mode only. - - #wizlevelport - Teleport to another level. Autocompletes. Debug mode only. - Default key is `^V'. - - #wizmap - Map the level. Autocompletes. Debug mode only. Default - key is `^F'. - - #wizrumorcheck - Verify rumor boundaries by displaying first and last true - rumors and first and last false rumors. - - Also displays first, second, and last random engravings, - epitaphs, and hallucinatory monsters. - - Autocompletes. Debug mode only. - - #wizseenv - Show map locations' seen vectors. Autocompletes. Debug - mode only. - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 32 - - - - #wizsmell - Smell monster. Autocompletes. Debug mode only. - - #wizwhere - Show locations of special levels. Autocompletes. Debug - mode only. - - #wizwish - Wish for something. Autocompletes. Debug mode only. De- - fault key is `^W'. - - #wmode - Show wall modes. Autocompletes. Debug 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. - - On Windows and MS-DOS, the "Alt" key can be used in this - fashion. On other systems, if typing "Alt" plus another key - transmits a two character sequence consisting of an Escape fol- - lowed by the other key, you may set the altmeta option to have - NetHack combine them into meta+. (This combining action - only takes place when NetHack is expecting a command to execute, - not when accepting input to name something or to make a wish.) - - Unlike control characters, where ^x and ^X denote the same - thing, meta characters are case-sensitive: M-x and M-X represent - different things. Some commands which can be run via a meta - character require that the letter be capitalized because the - lower-case equivalent is used for another command, so the three - key combination meta+Shift+ is needed. - - - 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 - - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 33 - - - - M-C #conduct - - M-d #dip - - M-e #enhance - - M-f #force - - M-g #genocided - - M-i #invoke - - M-j #jump - - M-l #loot - - M-m #monster - - M-n #name - - M-o #offer - - M-O #overview - - M-p #pray - - M-r #rub - - M-R #ride - - M-s #sit - - M-t #turn - - M-T #tip - - M-u #untrap - - M-v #version - - M-V #vanquished - - M-w #wipe - - M-X #exploremode - - - - If the number_pad option is on, some additional letter com- - mands are available: - - h #help - - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 34 - - - - 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 and appear to be solid rock. - You can find them with the `s' (search) command when adjacent to - them. Multiple search attempts may be needed. When searching is - successful, secret corridors become ordinary open corridor loca- - tions. Mapping magic reveals secret corridors, so converts them - into ordinary corridors and shows them as such. - - 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. By default the autoopen option is enabled, so simply - attempting to walk onto a closed door's location will attempt to - open it without needing `o'. Opening via autoopen will not work - if you are confused or stunned or suffer from the fumbling at- - tribute. - - Open doors cannot be entered diagonally; you must approach - them straight on, horizontally or vertically. Doorways without - doors are not restricted in this fashion except on one particular - level (described by "#overview" as "a primitive area"). - - Unlocking magic exists but usually won't be available early - on. You can get through a locked door without magic by first us- - ing an unlocking tool with the `a' (apply) command, and then - opening it. By default the autounlock option is also enabled, so - if you attempt to open (via `o' or autoopen) a locked door while - carrying an unlocking tool, you'll be asked whether to use it on - the door's lock. Alternatively, you can break a closed door - (whether locked or not) down by kicking it via the `^D' (kick) - command. Kicking down a door destroys it and makes a lot of - noise which might wake sleeping monsters. - - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 35 - - - - Some closed doors are booby-trapped and will explode if an - attempt is made to open (when unlocked) or unlock (when locked) - or kick down. Like kicking, an explosion destroys the door and - makes a lot of noise. The "#untrap" command can be used to - search a door for traps but might take multiple attempts to find - one. When one is found, you'll be asked whether to try to disarm - it. If you accede, success will eliminate the trap but failure - will set off the trap's explosion. (If you decline, you effec- - tively forget that a trap was found there.) - - Closed doors can be useful for shutting out monsters. Most - monsters cannot open closed doors, although a few don't need to - (for example, ghosts can walk through doors and fog clouds can - flow under them). Some monsters who can open doors can also use - unlocking tools. And some (giants) can smash doors. - - Secret doors are hidden and appear to be ordinary wall (from - inside a room) or solid rock (from outside). You can find them - with the `s' (search) command but it might take multiple tries - (possibly many tries if your luck is poor). Once found they are - in all ways equivalent to normal doors. Mapping magic does not - reveal secret doors. - - 5.2. Traps (`^') - - There are traps throughout the dungeon to snare the unwary - intruder. For example, you may suddenly fall into a pit and be - stuck for a few turns trying to climb out (see below). A trap - usually won't appear on your map until you trigger it by moving - onto it, you see someone else trigger it, or you discover it with - the `s' (search) command (multiple attempts are often needed; if - your luck is poor, many attempts might be needed). Wands of se- - cret door detection and spell of detect unseen also reveal traps - within a modest radius but only if the trap is also within line- - of-sight (whether you can see at the time or not). There is also - other magic which can reveal traps. - - Monsters can fall prey to traps, too, which can potentially - be used as a defensive strategy. Unfortunately traps can be - harmful to your pet(s) as well. Monsters, including pets, usu- - ally will avoid moving onto a trap which is shown on your map if - they have encountered that type of trap before. - - Some traps such as pits, bear traps, and webs hold you in - one place. You can escape by simply trying to move to an adja- - cent spot and repeat as needed; eventually you will get free. - - Other traps can send you to different locations. Tele- - porters send you elsewhere on the same dungeon level. Level - teleporters send you to a random dungeon level, the destination - chosen from a few levels lower all the way to the top. These - traps choose a new destination each time they're activated. Trap - doors and holes also send you to another level, but one which is - always below the current level. Usually that will be the next - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 36 - - - - level down but it can be farther. Unlike (level) teleporters, - the destination level of a particular trap door or hole is per- - sistent, so falling into one will bring you to the same level - each time--though not necessarily the same spot on the level. - Magic portals behave similarly, but with some additional varia- - tion. Some portals are two-way and their remote destination is - always the same: another portal which can take you back. Others - are one-way and send you to a specific destination level but not - necessarily to a specific location there. - - There is a special multi-level branch of the dungeon with - pre-mapped levels based on the classic computer game "Sokoban." - In that game, you operate as a warehouse worker who pushes crates - around obstacles to position them at designated locations. In - NetHack, the goal is to push boulders into pits or holes until - those traps have all been nullified, giving access to whatever is - beyond them. In the Sokoban game, you can only move in the four - cardinal compass directions, and a crate in its final destination - blocks further access to that spot. In the Sokoban levels of - NetHack, you can move diagonally (unless that would let you pass - between two neighboring boulders) but you can only push boulders - in the four cardinal directions, and a boulder which fills a pit - or hole removes both the boulder and the trap so opens up normal - access to that spot. With careful foresight, it is possible to - complete all of the levels according to the traditional rules of - Sokoban. (Hint: to solve Sokoban puzzles, you often need to move - things away from their eventual destinations in order to open up - more room to maneuver.) Since NetHack does not support an undo - capability, some allowances are permitted in case you get stuck. - For example, each level has at least one extra boulder. Also, it - is possible to drop everything in order to be able to squeeze - into the same location as a boulder (and then presumably move - past it), or to destroy a boulder with magic or tools, or to cre- - ate new boulders with a scroll of earth. However, doing such - things will lower your luck without any specific message given - about that. See the Conduct section for information about get- - ting feedback for your actions in Sokoban. - - 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 - other branching into an area known as the Gnomish Mines. Those - mines eventually hit a dead end, so after exploring them (if you - choose to do so), you'll need to climb back up to the main dun- - geon. - - When you traverse a set of stairs, or trigger a trap which - sends you to another level, the level you're leaving will be de- - activated and stored in a file on disk. If you're moving to a - previously visited level, it will be loaded from its file on disk - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 37 - - - - 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 de- - scribed below). Monsters are only active on the current 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 sometime 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, will also show current shop debt or credit, if any. - The "Iu" command lists unpaid items (those which still belong to - the shop) if you are carrying any. The "Ix" command shows an in- - ventory-like display of any unpaid items which have been used up, - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 38 - - - - along with other shop fees, if any. - - 5.4.1. Shop idiosyncrasies - - 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 or she 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. - - 5.5. Movement feedback - - Moving around the map usually provides no feedback--other - than drawing the hero at the new location--unless you step on an - object or pile of objects, or on a trap, or attempt to move onto - a spot where a monster is located. There are several options - which can be used to augment the normal feedback. - - The pile_limit option controls how many objects can be in a - pile--sharing the same map location--for the game to state "there - are objects here" instead of listing them. The default is 5. - Setting it to 1 would always give that message instead of listing - any objects. Setting it to 0 is a special case which will always - list all objects no matter how big a pile is. Note that the num- - ber refers to the count of separate stacks of objects present - rather than the sum of the quantities of those stacks (so 7 ar- - rows or 25 gold pieces will each count as 1 rather than as 7 and - 25, respectively, and total to 2 when both are at the same loca- - tion). - - The "nopickup" command prefix (default `m') can be used be- - fore a movement direction to step on objects without attempting - auto-pickup and without giving feedback about them. - - The mention_walls option controls whether you get feedback - if you try to walk into a wall or solid stone or off the edge of - the map. Normally nothing happens (unless the hero is blind and - no wall is shown, then the wall that is being bumped into will be - drawn on the map). This option also gives feedback when rushing - or running stops for some non-obvious reason. - - The mention_decor option controls whether you get feedback - when walking on "furniture." Normally stepping onto stairs or a - fountain or an altar or various other things doesn't elicit - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 39 - - - - anything unless it is covered by one or more objects so is ob- - scured on the map. Setting this option to true will describe - such things even when they aren't obscured. Doorless doorways - and open doors aren't considered worthy of mention; closed doors - (if you can move onto their spots) and broken doors are. Assum- - ing that you're able to do so, moving onto water or lava or ice - will give feedback if not yet on that type of terrain but not re- - peat it (unless there has been some intervening message) when - moving from water to another water spot, or lava to lava, or ice - to ice. Moving off of any of those back onto "normal" terrain - will give one message too, unless there is feedback about one or - more objects, in which case the back on land circumstance is im- - plied. - - The confirm and safe_pet options control what happens when - you try to move onto a peaceful monster's spot or a tame one's - spot. - - The "nopickup" command prefix (default `m') is also the - move-without-attacking prefix and can be used to try to step onto - a visible monster's spot without the move being considered an at- - tack (see the Fighting subsection of Monsters below). The - "fight" command prefix (default `F'; also `-' if number_pad is - on) can be used to force an attack, when guessing where an unseen - monster is or when deliberately attacking a peaceful or tame - creature. - - The run_mode option controls how frequently the map gets re- - drawn when moving more than one step in a single command (so when - rushing, running, or traveling). - - 5.6. Rogue level - - One dungeon level (occurring in mid to late teens of the - main dungeon) is a tribute to the ancestor game hack's inspira- - tion rogue. - - It is usually displayed differently from other levels: pos- - sibly in characters instead of tiles, or without line-drawing - symbols if already in characters; also, gold is shown as * rather - than $ and stairs are shown as % rather than < and >. There are - some minor differences in actual game play: doorways lack doors; - a scroll, wand, or spell of light used in a room lights up the - whole room rather than within a radius around your character. - And monsters represented by lower-case letters aren't randomly - generated on the rogue level. - - The slight strangeness of this level is a feature, not a - bug.... - - 6. Monsters - - Monsters you cannot see are not displayed on the screen. - Beware! You may suddenly come upon one in a dark place. Some - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 40 - - - - 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 mon- - sters 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:attack option to require a re- - sponse 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'), kitten (`f'), or - pony (`u'), which follows you about the dungeon and fights mon- - sters with you. Like you, your pet needs food to survive. Dogs - and cats usually feed themselves on fresh carrion and other - meats; horses need vegetarian food which is harder to come by. - If you're worried about your pet or want to train it, you can - feed it, too, by throwing it food. A properly trained pet can be - very useful under 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 - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 41 - - - - 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 creature - to try to remove the saddle from that creature. If successful, - 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. - - 6.5. Persistence of Monsters - - Monsters (a generic reference which also includes humans and - pets) are only shown while they can be seen or otherwise sensed. - Moving to a location where you can't see or sense a monster any - more will result in it disappearing from your map, similarly if - it is the one who moved rather than you. - - However, if you encounter a monster which you can't see or - sense--perhaps it is invisible and has just tapped you on the - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 42 - - - - noggin--a special "remembered, unseen monster" marker will be - displayed at the location where you think it is. That will per- - sist until you have proven that there is no monster there, even - if the unseen monster moves to another location or you move to a - spot where the marker's location ordinarily wouldn't be seen any - more. - - 7. Objects - - When you find something in the dungeon, it is common to want - to pick it up. In NetHack, this is accomplished by using the `,' - command. If autopickup option is on, you will automatically pick - up the object by walking over, unless you move with the `m' pre- - fix. - - 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. - If you are encumbered, one of the conditions Burdened, Stressed, - Strained, Overtaxed, or Overloaded will be shown on the bottom - line status display. - - 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 - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 43 - - - - 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 instead. Blessed items usually - work better or more beneficially than normal uncursed items. For - example, a blessed weapon will do slightly 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. Dropping objects onto an altar will reveal their bless or - curse state provided that you can see them land. - - 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 redundant when - enough other information is displayed. The implicit_uncursed op- - tion can be used to control this; toggle it off to have uncursed - be displayed even when that can be deduced from other attributes. - - Sometimes the bless or curse state of objects is referred to - as their "BUC" attribute, for Blessed, Uncursed, or Cursed state, - or "BUCX" for Blessed, Uncursed, Cursed, or unknown. (The term - beatitude is occasionally used as well.) - - 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 - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 44 - - - - points of damage (plus bonuses, if any). Monk characters are an - exception; they normally do more damage with bare (or gloved) - 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 simul- - taneously as primary and secondary; use the `X' 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 incurs 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), `Q' (quiver), `x' (exchange), `X' (twoweapon), and - "#enhance" (see below). - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 45 - - - - 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. - - Some weapons will return when thrown. A boomerang--provided - it fails to hit anything--is an obvious example. If an aklys - (thonged club) is thrown while it is wielded, it will return even - when it hits something. A sufficiently strong hero can throw the - warhammer Mjollnir; when thrown by a Valkyrie it will return too. - However, aklyses and Mjollnir occasionally fail to return. Re- - turning thrown objects occasionally fail to be caught, sometimes - even hitting the thrower, but when caught they become re-wielded. - - 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. If your quiver is empty, autoquiver is false, - and you are wielding a weapon which returns when thrown, you will - throw that weapon instead of filling the quiver. The fire com- - mand also has extra assistance, if fireassist is on it will try - to wield a launcher matching the ammo in the quiver. - - Some characters have the ability to throw or shoot a volley - of multiple items (from the same stack) in a single action. - 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 ar- - rows, in crossbow skill if you're wielding one to shoot bolts, or - in sling skill if you're wielding one to shoot stones). The num- - ber 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 exam- - ple, "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 specified. Once the volley is in motion, - all of the items will travel in the same direction; if the first - ones kill a monster, the others can still continue beyond that - spot. - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 46 - - - - 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". Re- - stricted skills simply will not appear in the list shown by "#en- - hance". (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" com- - mand. 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 sec- - ondary is just an item in your inventory that's been designated - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 47 - - - - 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 `X' command tog- - gles back to single-weapon mode. Throwing or dropping either of - the weapons or having one of them be stolen or destroyed 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 a list of the armor class values provided by suits - of armor: - Dragon scale mail 1 - Plate mail, Crystal plate mail 3 - Bronze plate mail, Splint mail, - Banded mail, Dwarvish mithril-coat 4 - Chain mail, Elven mithril-coat 5 - Scale mail, Orcish chain mail 6 - Ring mail, Studded leather armor, - Dragon scales 7 - Leather armor, Orcish ring mail 8 - Leather jacket 9 - none 10 - - You can also wear other pieces of armor (cloak over suit, - shirt under suit, helmet, gloves, boots, shield) to lower your - armor class even further. Most of these provide a one or two - point improvement to AC (making the overall value smaller and - eventually negative) but can also be enchanted. Shirts are an - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 48 - - - - exception; they don't provide any protection unless enchanted. - Some cloaks also don't improve AC when unenchanted but all cloaks - offer some protection against rust or corrosion to suits worn un- - der them and against some monster touch attacks. - - 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 nega- - tive 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 nudist option can be set (prior to game start) to at- - tempt to play the entire game without wearing any armor (a self- - imposed challenge which is extremely difficult to accomplish). - - The commands to use armor are `W' (wear) and `T' (take off). - The `A' command can be used to take off armor as well as other - worn items. Also, `P' (put on) and `R' (remove) which are nor- - mally for accessories can be used for armor, but pieces of armor - won't be shown as likely candidates in a prompt for choosing what - to put on or remove. - - 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'. - - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 49 - - - - 7.5. Scrolls (`?') - - Scrolls are labeled with various titles, probably chosen by - ancient wizards for their amusement value (for example "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" en- - vironment 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 - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 50 - - - - 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 at most - two rings at any time, one on the ring finger of each hand. - - Most worn rings also cause you to grow hungry more rapidly, - the rate varying with the type of ring. - - When wearing gloves, rings are worn underneath. If the - gloves are cursed, rings cannot be put on and any already being - worn cannot be removed. When worn gloves aren't cursed, you - don't have to manually take them off before putting on or remov- - ing a ring and then re-wear them after. That's done implicitly - to avoid unnecessary tedium. - - The commands to use rings are `P' (put on) and `R' (remove). - `A', `W', and `T' can also be used; see Amulets. - - 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 - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 51 - - - - 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. - - Some tools (such as a blindfold) can be worn and can be put - on and removed like other accessories (rings, amulets); see - Amulets. Other tools (such as pick-axe) can be wielded as - weapons in addition to being applied for their usual purpose, and - in some cases (again, pick-axe) become wielded as a weapon even - when applied. - - The blind option can be set (prior to game start) to attempt - to play the entire game without being able to see (a self-imposed - challenge which is very difficult to accomplish). - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 52 - - - - The command to use a tool 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 com- - mand 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. - Like wearing rings, wearing an amulet affects your metabolism, - causing you to grow hungry more rapidly. - - The commands to use amulets are the same as for rings, `P' - (put on) and `R' (remove). `A' can be used to remove various - worn items including amulets. Also, `W' (wear) and `T' (take - off) which are normally for armor can be used for amulets and - other accessories (rings and eyewear), but accessories won't be - shown as likely candidates in a prompt for choosing what to wear - or take off. - - 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. - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 53 - - - - Boulders occasionally block your path. You can push one - forward (by attempting to walk onto its spot) when nothing blocks - its path, or you can smash it into a pile of small rocks with - breaking magic or a pick-axe. It is possible to move onto a - boulder's location if certain conditions are met; ordinarily one - of those conditions is that pushing it any further be blocked. - Using the move-without-picking-up prefix (default key `m') prior - to the direction of movement will attempt to move to a boulder's - location without pushing it in addition to the prefix's usual ac- - tion of suppressing auto-pickup at the destination. - - Very large humanoids (giants and their ilk) have been known - to pick up boulders and use them as missile weapons. - - Unlike boulders, statues can't be pushed, but don't need to - be because they don't block movement. They can be smashed into - rocks though. - - 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). - - Gold pieces are the only type of object where bless/curse - state does not apply. They're always uncursed but never de- - scribed as uncursed even if you turn off the implicit_uncursed - option. You can set the goldX option if you prefer to have gold - pieces be treated as bless/curse state unknown rather than as - known to be uncursed. Only matters when you're using an object - selection prompt that can filter by "BUCX" state. - - 7.15. Persistence of Objects - - Normally, if you have seen an object at a particular map lo- - cation and move to another location where you can't directly see - that object any more, it will continue to be displayed on your - map. That remains the case even if it is not actually there any - more--perhaps a monster has picked it up or it has rotted away-- - until you can see or feel that location again. One notable ex- - ception is that if the object gets covered by the "remembered, - unseen monster" marker. When that marker is later removed after - you've verified that no monster is there, you will have forgotten - that there was any object there regardless of whether the unseen - monster actually took the object. If the object is still there, - then once you see or feel that location again you will re-dis- - cover the object and resume remembering it. - - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 54 - - - - The situation is the same for a pile of objects, except that - only the top item of the pile is displayed. The hilite_pile op- - tion can be enabled in order to show an item differently when it - is the top one of a pile. - - 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 - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 55 - - - - 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 does not read or write. This in- - cludes 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 is a side-branch to the main dungeon called "Sokoban," - briefly described in the earlier section about Traps. As men- - tioned there, the goal is to push boulders into pits and/or holes - to plug those in order to both get the boulders out of the way - and be able to go past the traps. There are some special "rules" - that are active when in that branch of the dungeon. Some rules - can't be bypassed, such as being unable to push a boulder - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 56 - - - - diagonally. Other rules can, such as not smashing boulders with - magic or tools, but doing so causes you to receive a luck - penalty. No message about that is given at the time, but it is - tracked as a conduct. The #conduct command and end of game dis- - closure will report whether you have abided by the special rules - of Sokoban, and if not, how many times you violated them, provid- - ing you with a way to discover which actions incur bad luck so - that you can be better informed about whether or not to avoid re- - peating those actions in the future. (Note: the Sokoban conduct - will only be displayed if you have entered the Sokoban branch of - the dungeon during the current game. Once that has happened, it - becomes part of disclosed conduct even if you haven't done any- - thing interesting there. Ending the game with "never broke the - Sokoban rules" conduct is most meaningful if you also manage to - perform the "obtained the Sokoban prize" achievement (see - Achievements below).) - - 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 decline. - 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. Polymor- - phing 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 imme- - diately disappears). When the game offers you an opportunity to - make a wish for an item, you may choose "nothing" if you want to - decline. - - 8.1. Achievements - - End of game disclosure will also display various achieve- - ments representing progress toward ultimate ascension, if any - have been attained. They aren't directly related to conduct but - are grouped with it because they fall into the same category of - "bragging rights" and to limit the number of questions during - disclosure. Listed here roughly in order of difficulty and not - necessarily in the order in which you might accomplish them. - - - Attained rank title . - Shop - Entered a shop. - Temple - Entered a temple. - Mines - Entered the Gnomish Mines. - Town - Entered Mine Town. - Oracle - Consulted the Oracle of Delphi. - Novel - Read a passage from a Discworld Novel. - Sokoban - Entered Sokoban. - Big Room - Entered the Big Room. - Soko-Prize - Explored to the top of Sokoban - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 57 - - - - and found a special item there. - Mines' End - Explored to the bottom of the Gnomish Mines - and found a special item there. - Medusa - Defeated Medusa. - Tune - Discovered the tune that can be used to open and - close the drawbridge on the Castle level. - Bell - Acquired the Bell of Opening. - Gehennom - Entered Gehennom. - Candle - Acquired the Candelabrum of Invocation. - Book - Acquired the Book of the Dead. - Invocation - Gained access to the bottommost level of Gehennom. - Amulet - Acquired the fabled Amulet of Yendor. - Endgame - Reached the Elemental Planes. - Astral - Reached the Astral Plane level. - Blind - Blind from birth. - Deaf - Deaf from birth. - Nudist - Never wore any armor. - Ascended - Delivered the Amulet to its final destination. - - Notes: - - Achievements are recorded and subsequently reported in the - order in which they happen during your current game rather than - the order listed here. - - There are nine titles for each role, bestowed at ex- - perience levels 1, 3, 6, 10, 14, 18, 22, 26, and 30. The one for - experience level 1 is not recorded as an achievement. Losing - enough levels to revert to lower rank(s) does not discard the - corresponding achievement(s). - - There's no guaranteed Novel so the achievement to read one - might not always be attainable (except perhaps by wishing). Sim- - ilarly, the Big Room level is not always present. Unlike with - the Novel, there's no way to wish for this opportunity. - - The "special items" hidden in Mines' End and Sokoban are not - unique but are considered to be prizes or rewards for exploring - those levels since doing so is not necessary to complete the - game. Finding other instances of the same objects doesn't record - the corresponding achievement. - - The Medusa achievement is recorded if she dies for any rea- - son, even if you are not directly responsible, and only if she - dies. - - The 5-note tune can be learned via trial and error with a - musical instrument played closely enough--but not too close!--to - the Castle level's drawbridge or can be given to you via prayer - boon. - - Blind, Deaf, and Nudist are also conducts, and they can only - be enabled by setting the correspondingly named option in - NETHACKOPTIONS or run-time configuration file prior to game - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 58 - - - - start. In the case of Blind and Deaf, the option also enforces - the conduct. They aren't really significant accomplishments un- - less/until you make substantial progress into the dungeon. - - 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 UNIX, Linux, and macOS 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. - - On Windows, the name is ".nethackrc" located in the folder - "%USERPROFILE%\NetHack\". The file may not exist, but it is a - normal ASCII text file can can be created with any text editor. - After running NetHack for the first time, you should find a de- - fault template for the configuration file named ".nethackrc.tem- - plate" in "%USERPROFILE%\NetHack\". If you have not created the - configuration file, NetHack will create one for you using the de- - fault template file. - - On MS-DOS, it is "defaults.nh" in the same folder as - nethack.exe. - - Any line in the configuration file starting with `#' is - treated as a comment and ignored. Empty lines are ignored. - - Any line beginning with `[' and ending in `]' is a section - marker (the closing `]' can be followed by whitespace and then an - arbitrary comment beginning with `#'). The text between the - square brackets is the section name. Section markers are only - valid after a CHOOSE directive and their names are case insensi- - tive. Lines after a section marker belong to that section up un- - til another section starts or a marker without a name is encoun- - tered or the file ends. Lines within sections are ignored unless - a CHOOSE directive has selected that section. - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 59 - - - - You can use different configuration directives in the file, - some of which can be used multiple times. In general, the direc- - tives are written in capital letters, followed by an equals sign, - followed by settings particular to that directive. - - Here is a list of allowed directives: - - 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 directives, and multiple options separated by commas in - a single OPTIONS directive. (Comma separated options are pro- - cessed from right to left.) - - 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 writable. - - SAVEDIR - The location where saved games are kept. Defaults to HACKDIR, - must be writable. - - BONESDIR - The location that bones files are kept. Defaults to HACKDIR, - must be writable. - - LOCKDIR - The location that file synchronization locks are stored. - Defaults to HACKDIR, must be writable. - - TROUBLEDIR - The location that a record of game aborts and self-diagnosed - game problems is kept. Defaults to HACKDIR, must be writable. - - 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 - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 60 - - - - 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, extended commands, or mouse buttons. You can specify - multiple bindings. Format is key followed by the command, sep- - arated 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 - [] #end of CHOOSE - OPTIONS=!rest_on_space - - If [] is present, the preceding section is closed and no new - section begins; whatever follows will be common to all sec- - tions. Otherwise the last section extends to the end of the - options file. - - MENUCOLOR - Highlight menu lines with different colors. See the "Configur- - ing Menu Colors" section. - - MSGTYPE - Change the way messages are shown in the top status line. See - the "Configuring Message Types" section. - - ROGUESYMBOLS - Custom symbols for for the rogue level's symbol set. See SYM- - BOLS below. - - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 61 - - - - SOUND - Define a sound mapping. See the "Configuring User Sounds" sec- - tion. - - SOUNDDIR - Define the directory that contains the sound files. See the - "Configuring User Sounds" section. - - SYMBOLS - Override one or more symbols in the symbol set used for all - dungeon levels except for the special rogue level. See the - "Modifying NetHack Symbols" section. - - Example: - - # replace small punctuation (tick marks) with digits - SYMBOLS=S_boulder:0,S_golem:7 - - WIZKIT - Debug mode only: extra items to add to initial inventory. - Value is the name of a text file containing a list of item - names, one per line, up to a maximum of 128 lines. Each line - is processed by the function that handles wishing. - - Example: - - WIZKIT=~/wizkit.txt - - - - Here is an example of configuration file contents: - - # Set your character's role, race, gender, and alignment. - OPTIONS=role:Valkyrie, race:Human, gender:female, align:lawful - # - # Turn on autopickup, set automatically picked up object types - OPTIONS=autopickup,pickup_types:$"=/!?+ - # - # Map customization - OPTIONS=color # Display things in color if possible - OPTIONS=lit_corridor # Show lit corridors differently - OPTIONS=hilite_pet,hilite_pile - # Replace small punctuation (tick marks) with digits - SYMBOLS=S_boulder:0,S_golem:7 - # - # 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 - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 62 - - - - on or off. You turn one of these on by adding the name of the - option to the list, and turn it off by typing a `!' or "no" be- - fore the name. Others take a character string as a value. You - can set string options by typing the option name, a colon or - equals sign, and then the value of the string. The value is ter- - minated by the next comma or the end of string. - - For example, to set up an environment variable so that color - is on, legacy is off, character name is set to "Blue Meanie", and - named fruit is set to "lime", you would enter the command - - % setenv NETHACKOPTIONS "color,\!leg,name:Blue Meanie,fruit:lime" - - in csh (note the need to escape the `!' since it's special to - that shell), or the pair of commands - - $ NETHACKOPTIONS="color,!leg,name:Blue Meanie,fruit:lime" - $ export NETHACKOPTIONS - - in sh, ksh, or bash. - - The NETHACKOPTIONS value is effectively the same as a single - OPTIONS directive in a configuration file. The "OPTIONS=" prefix - is implied and comma separated options are processed from right - to left. Other types of configuration directives such as BIND or - MSGTYPE are not allowed. - - Instead of a comma-separated list of options, NETHACKOPTIONS - can be set to the full name of a configuration file you want to - use. If that full name doesn't start with a slash, precede it - with `@' (at-sign) to let NetHack know that the rest is intended - as a file name. If it does start with `/', the at-sign is op- - tional. - - 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. - - alignment - Your starting alignment (align:lawful, align:neutral, or - align:chaotic). You may specify just the first letter. Many - roles and the non-human races restrict which alignments are al- - lowed. See role for a description of how to use negation to - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 63 - - - - exclude choices. - - Default is random. Cannot be set with the `O' command. Per- - sistent. - - autodescribe - Automatically describe the terrain under cursor when asked to - get a location on the map (default true). The whatis_coord op- - tion 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 closed door attempts to open it (default true). - Persistent. - - autopickup - Automatically pick up things onto which you move (default off). - Persistent. - - See pickup_types and also autopickup_exception for ways to re- - fine the behavior. - - Note: prior to version 3.7.0, the default for autopickup was - on. - - autoquiver - This option controls what happens when you attempt the `f' - (fire) command when nothing is quivered or readied (default - false). 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, enchant- - ment, damage, or quality of the weapon; you are free to manu- - ally 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. Persistent. - - autounlock - Controls what action to take when attempting to walk into a - locked door or to loot a locked container. Takes a plus-sign - separated list of values: - - Untrap - prompt about whether to attempt to find a trap; it - might fail to find one even when present; if it - does find one, it will ask whether you want to try - to disarm the trap; if you decline, your character - will forget that the door or box is trapped; - Apply-Key - if carrying a key or other unlocking tool, prompt - about using it; - Kick - kick the door (if you omit untrap or decline to at- - tempt untrap and you omit apply-key or you lack a - key or you decline to use the key; has no effect on - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 64 - - - - containers); - Force - try to force a container's lid with your currently - wielded weapon (if you omit untrap or decline to - attempt untrap and you omit apply-key or you lack a - key or you decline to use the key; has no effect on - doors); - None - none of the above; can't be combined with the other - choices. - - Omitting the value is treated as if autounlock:apply-key. Pre- - ceding autounlock with `!' or "no" is treated as autoun- - lock:none. - - Applying a key might set off a trap if the door or container is - trapped. Successfully kicking a door will break it and wake up - nearby monsters. Successfully forcing a container open will - break its lock and might also destroy some of its contents or - damage your weapon or both. - - The default is Apply-Key. Persistent. - - blind - Start the character permanently blind (default false). Persis- - tent. - - bones - Allow saving and loading bones files (default true). Persis- - tent. - - boulder - Set the character used to display boulders (default is the - "large rock" class symbol, ``'). - - catname - Name your starting cat (for example "catname:Morris"). Cannot - be set with the `O' command. - - character - Synonym for "role" to pick the type of your character (for ex- - ample "character:Monk"). See role for more details. - - checkpoint - Save game state after each level change, for possible recovery - after program crash (default on). Persistent. - - 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. - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 65 - - - - dark_room - Show out-of-sight areas of lit rooms (default on). Persistent. - - deaf - Start the character permanently deaf (default false). 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; also achievements, if any; - 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 listings of vanquished monsters and of genocided types can - be sorted, so there are two additional choices for `v' and `g': - - ? - 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 order specified by the sortvanquished option. - - 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. - - (for example "disclose:yi na +v -g o") The example sets inven- - tory to prompt and default to yes, attributes to prompt and de- - fault to no, vanquished to disclose without prompting, geno- - cided to not disclose and not prompt, conduct to implicitly - prompt and default to no, and overview to disclose without - prompting. - - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 66 - - - - 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 (for example "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 for the tty interface (default off). - - For the X11 interface, which always uses a menu for choosing an - extended command, it controls whether the menu shows all avail- - able commands (on) or just the subset of commands which have - traditionally been considered extended ones (off). - - female - An obsolete synonym for "gender:female". Cannot be set with - the `O' command. - - fireassist - This option controls what happens when you attempt the `f' - (fire) and don't have an appropriate launcher, such as a bow or - a sling, wielded. If on, you will automatically wield the - launcher. Default is on. - - 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 (for example - "fruit:mango") (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 either of the deprecated male and female op- - tions, if the gender option is also present it will take prece- - dence. See role for a description of how to use negation to - exclude choices. - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 67 - - - - Default is random. Cannot be set with the `O' command. Per- - sistent. - - 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" com- - mands. - - 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. - - With the curses interface, the petattr option controls how to - highlight pets and setting it will turn the hilite_pet option - on or off as warranted. - - 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 (for example "horsename:Trigger"). - Cannot be set with the `O' command. - - ignintr - Ignore interrupt signals, including breaks (default off). - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 68 - - - - Persistent. - - implicit_uncursed - Omit "uncursed" from object descriptions when it can be deduced - from other aspects of the description (default on). Persis- - tent. - - If you use menu coloring, you may want to turn this off. - - 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 - When using a menu to interact with a container, use the old - `a', `b', and `c' keyboard shortcuts 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_decor - Give feedback when walking onto various dungeon features such - as stairs, fountains, or altars which are ordinarily only de- - scribed when covered by one or more objects (default off). - Cannot be set with the `O' command. Persistent. - - mention_walls - Give feedback when walking against a wall (default off). Per- - sistent. - - menucolors - Enable coloring menu lines (default off). See "Configuring - Menu Colors" on how to configure the colors. - - menustyle - Controls the method used when you need to choose various ob- - jects (in response to the Drop (aka droptype) command, for in- - stance). The value specified should be the first letter of one - of the following: traditional, combination, full, or partial. - Default is full. Persistent. - - Traditional was the only method available for very early ver- - sions; 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 - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 69 - - - - prompt for object class(es) of interest, but then displays a - menu of matching objects 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. - (Choosing its `A' (Autoselect-All) choice skips the second - menu. To avoid choosing that by accident, set paranoid_con- - firm:AutoAll to require confirmation.) Partial skips the ob- - ject class filtering and immediately displays a menu of all ob- - jects. - - menu_deselect_all - Key to deselect all items in a menu. Default `-'. - - menu_deselect_page - Key to deselect all items on this page of a menu. Default `\'. - - menu_first_page - Key to jump to the first page in a menu. Default `^'. - - menu_headings - Controls how the headings in a menu are highlighted. Values - are "none", "bold", "dim", "italic", "underline", "blink", or - "inverse". Not all ports can actually display all types. - - menu_invert_all - Key to invert all items in a menu. Default `@'. - - menu_invert_page - Key to invert all items on this page of a menu. Default `~'. - - menu_last_page - Key to jump to the last page in a menu. Default `|'. - - menu_next_page - Key to go to the next menu page. 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 - Key to go to the previous menu page. Default `<'. - - menu_search - Key to search for some text and toggle selection state of - matching menu items. Default `:'. - - menu_select_all - Key to select all items in a menu. Default `.'. - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 70 - - - - menu_select_page - Key to select all items on this page of a menu. Default `,'. - - menu_shift_left - Key to scroll a menu--one which has been scrolled right--back - to the left. Implemented for perm_invent only by curses and - X11. Default `{'. - - menu_shift_right - Key to scroll a menu which has text beyond the right edge to - the right. Implemented for perm_invent only by curses and X11. - Default `}'. - - monpolycontrol - Prompt for new form whenever any monster changes shape (default - off). Debug mode only. - - montelecontrol - Prompt for destination whenever any monster gets teleported - (default off). Debug mode only. - - mouse_support - Allow use of the mouse for input and travel. Valid settings - are: - - 0 - disabled - 1 - enabled and make OS adjustments to support mouse use - 2 - like 1 but does not make any OS adjustments - - Omitting a value is the same as specifying 1 and negating - mouse_support is the same as specifying 0. - - msghistory - The number of top line messages to keep (and be able to recall - with `^P') (default 20). Cannot be set with the `O' command. - - msg_window - Allows you to change the way recalled messages are displayed. - Currently it is only supported for tty (all four choices) and - for curses (`f' and `r' choices, default `r'). The possible - values 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 - 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 - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 71 - - - - 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 MS-DOS 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 MS-DOS 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 omit- - ted 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 swim". - - 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; - changes pray and AutoAll to require "yes" or `no' - too; - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 72 - - - - 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 with the apply command; - eating - require "yes" rather than `y' to confirm whether - to continue eating; - 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; (to re- - quire "yes" rather than just `y', set Confirm - too); - trap - require `y' to confirm an attempt to move into or - onto a known trap, unless doing so is considered - to be harmless; (to require "yes" rather than - just `y', set Confirm too); confirmation can be - skipped by using the `m' movement prefix; - swim - prevent walking into water or lava; on by de- - fault; (to deliberately step onto/into such ter- - rain when this is set, use the `m' movement pre- - fix when adjacent); - AutoAll - require confirmation when the `A' (Autoselect- - All) choice is selected in object class filtering - menus for menustyle:Full; (to require "yes" - rather than just `y', set Confirm too); - 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 and swim choices are enabled, the others - disabled. To disable them without setting any of the other - choices, use paranoid_confirmation:none. To keep them enabled - while setting any of the others, you can include them in the - new list, such as paranoid_confirmation:attack pray swim Remove - or you can precede the first entry in the list with a plus - sign, paranoid_confirmation:+attack Remove. To remove an entry - that has been previously set without removing others, precede - the first entry in the list with a minus sign, paranoid_confir- - mation:-swim. To both add some new entries and remove some old - ones, you can use mulitple paranoid_confirmation option set- - tings, or you can use the `+' form and list entries to be added - by their name and entries to be removed by `!' and name. The - positive (no `!') and negative (with `!') entries can be inter- - mixed. - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 73 - - - - perm_invent - If true, always display your current inventory in a window (de- - fault false). - - This only makes sense for windowing system interfaces that im- - plement this feature. For those that do, the perminv_mode op- - tion can be used to refine what gets displayed for perm_invent. - Setting that to a value other than none while perm_invent is - false will change it to true. - - perminv_mode - Augments the perm_invent option. Value is one of - - none - behave as if perm_invent is false; - all - show all inventory except for gold; - full - show full inventory including gold; - in-use - only show items which are in use (worn, wielded, lit - lamp). - - Default is none but if perm_invent gets set to true while it is - none it will be changed to all. - - Note: if gold has been equipped in quiver/ammo-pouch then it - will be included for all despite that mode normally omitting - gold. - - petattr - Specifies one or more text highlighting attributes to use when - showing pets on the map. Effectively a superset of the - hilite_pet boolean option. Curses interface only; value is one - or more of the following letters. - - n - Normal text (no highlighting) - i - Inverse video (default) - b - Bold text - u - Underlined text - k - blinKing text - d - Dim text - t - iTalic text - l - Left line indicator - r - Right line indicator - - Some of those choices might not work, particularly the final - three, depending upon terminal hardware or terminal emulation - software. - - Currently multiple highlight-style letters can be combined by - simply stringing them together (for example, "bk"), but in the - future they might require being separated by plus signs (such - as "b+k", which works already). When using the `n' choice, it - should be specified on its own, not in combination with any of - the other letters. - - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 74 - - - - 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 ignored. For - example, "horse" will only be honored when playing 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. Persistent. - - The value is a list of object symbols, such as pickup_types:$?! - to pick up gold, scrolls, and potions. You can use au- - topickup_exception configuration file lines to further refine - autopickup behavior. - - There is no way to set pickup_types to "none". (Setting it to - an empty value reverts to "all".) If you want to avoid auto- - matically picking up any types of items but do want to have au- - topickup on in order to have autopickup_exception settings con- - trol what you do and don't pick up, you can set pickup_types to - `.'. That is the type symbol for venom and you won't come - across any venom items so won't unintentionally pick such up. - - 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 - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 75 - - - - results 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. - - quick_farsight - When set, usually prevents the "you sense your surroundings" - message where play pauses to allow you to browse the map when- - ever clairvoyance randomly activates. Some situations, such as - being underwater or engulfed, ignore this option. It does not - affect the clairvoyance spell where pausing to examine revealed - objects or monsters is less intrusive. Default is off. Per- - sistent. - - race - Selects your race (for example, race:human). Choices are hu- - man, dwarf, elf, gnome, and orc but most roles restrict which - of the non-human races are allowed. See role for a description - of how to use negation to exclude choices. - - Default is random. Cannot be set with the `O' command. Per- - sistent. - - rest_on_space - Make the space bar a synonym for the `.' (#wait) command (de- - fault off). Persistent. - - role - Pick your type of character (for example, role:Samurai); syn- - onym for character. See name for an alternate method of speci- - fying your role. - - This option can also be used to limit selection when role is - chosen randomly. Use a space-separated list of roles and ei- - ther negate each one or negate the option itself instead. - Negation is accomplished in the same manner as with boolean op- - tions, by prefixing the option or its value(s) with `!' or - "no". - Examples: - - OPTIONS=role:!arc !bar !kni - OPTIONS=!role:arc bar kni - - There can be multiple instances of the role option if they're - all negations. - - Default is random. Cannot be set with the `O' command. Per- - sistent. - - roguesymset - This option may be used to select one of the named symbol sets - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 76 - - - - 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. - - safe_wait - Prevents you from waiting or searching when next to a hostile - monster (default on). Persistent. - - sanity_check - Evaluate monsters, objects, and map prior to each turn (default - off). Debug mode only. - - scores - Control what parts of the score list you are shown at the end - (for example "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.7.0 November 6, 2023 - - - - - - NetHack Guidebook 77 - - - - showscore - Show your approximate accumulated score on bottom line (default - off). Persistent. - - silent - Suppress terminal beeps (default on). Persistent. - - sortdiscoveries - Controls the sorting behavior for the output of the `\' and ``' - commands. Persistent. - - The possible values are: - - o - list object types by class, in discovery order within each - class; default; - s - list object types by sortloot classification: by class, by - sub-class within class for classes which have substantial - groupings (like helmets, boots, gloves, and so forth for - armor), with object types partly-discovered via assigned - name coming before fully identified types; - c - list by class, alphabetically within each class; - a - list alphabetically across all classes. - - Can be interactively set via the `O' command or via using the - `m' prefix before the `\' or ``' command. - - 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; default. - - sortpack - Sort the pack contents by type when displaying inventory (de- - fault on). Persistent. - - sortvanquished - Controls the sorting behavior for the output of the #vanquished - command and also for the #genocided command. Persistent. - - The possible values are: - - t - traditional--order by monster level; ties are broken by in- - ternal monster index; default; - d - order by monster difficulty rating; ties broken by internal - index; - a - order alphabetically, first any unique monsters then all - the others; - c - order by monster class, by low to high level within each - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 78 - - - - class; - n - order by count, high to low; ties are broken by internal - monster index; - z - order by count, low to high; ties broken by internal index. - - Can be interactively set via the `m O' command or via using the - `m' prefix before either the #vanquished command or the #geno- - cided command. - - sounds - Allow sounds to be emitted from an integrated sound library - (default on). - - 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 (for example "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 default - 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" and "curses" - interfaces only; "X11" interface always uses a timer-based de- - lay. The default is on if configured into the program.) Per- - sistent. - - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 79 - - - - tips - Show some helpful tips during gameplay (default on). Persis- - tent. - - 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 via mouse click (default on). Turning - this option off will prevent the game from attempting unin- - tended moves if you make inadvertent mouse clicks on the map - window. Does not affect traveling via the `_' ("#travel") com- - mand. Persistent. - - tutorial - Play a tutorial level at the start of the game. Setting this - option on or off in the config file will skip the query. - - 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.7.0 November 6, 2023 - - - - - - NetHack Guidebook 80 - - - - 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 - When the program has been built to support multiple interfaces, - select which one to use, such as "tty" or "X11" (default de- - pends on build-time settings; use "#version" to check). Cannot - be set with the `O' command. - - When used, it should be the first option set since its value - might enable or disable the availability of various other op- - tions. For multiple lines in a configuration file, that would - be the first non-comment line. For a comma-separated list in - NETHACKOPTIONS or an OPTIONS line in a configuration file, that - would be the rightmost option in the list. - - wizweight - Augment object descriptions with their objects' weight (default - off). Debug mode only. - - 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 - configuration file, and if the window port is capable of adjust- - ing 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 supported by the window port that you are currently using by - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 81 - - - - checking to see if it shows up in the Options list. Some options - are dynamic and can be specified during the game with the `O' + If mouse support is enabled and the herecmd_menu option is On, + clicking on the hero (or steed when mounted) will execute this command. - align_message - Where to align or place the message window (top, bottom, left, - or right) + #history + Show long version and game history. Default key is `V'. - align_status - Where to align or place the status window (top, bottom, left, - or right). + #inventory + Show your inventory. Default key is `i'. - ascii_map - If NetHack can, it should display the map using simple charac- - ters (letters and punctuation) rather than tiles graphics. In - some cases, characters can be augmented with line-drawing sym- - bols; use the symset option to select a symbol set such as - DECgraphics or IBMgraphics if your display supports them. Set- - ting ascii_map to True forces tiled_map to be False. + #inventtype + Inventory specific item types. Default key is `I'. - color - If NetHack can, it should display color if it can for different - monsters, objects, and dungeon features (default on). + #invoke + Invoke an object's special powers. Autocompletes. Default key + is `M-i'. - 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). + #jump + Jump to another location. Autocompletes. Default key is `M-j', + and also `j' if number_pad is on. - font_map - if NetHack can, it should use a font by the chosen name for the - map window. + #kick + Kick something. Default key is `^D', and `k' if number_pad is + on. - font_menu - If NetHack can, it should use a font by the chosen name for - menu windows. + #known + Show what object types have been discovered. Default key is `\'. - font_message - If NetHack can, it should use a font by the chosen name for the - message window. + The `m' prefix allows assigning a new value to the sortdiscover- + ies option to control the order in which the discoveries are dis- + played. - font_status - If NetHack can, it should use a font by the chosen name for the - status window. + #knownclass + Show discovered types for one class of objects. Default key is + ``'. - font_text - If NetHack can, it should use a font by the chosen name for - text windows. + The `m' prefix operates the same as for "#known". - font_size_map - If NetHack can, it should use this size font for the map win- - dow. + #levelchange + Change your experience level. Autocompletes. Debug mode only. + #lightsources + Show mobile light sources. Autocompletes. Debug 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 re- + moving a saddle. Default key is `M-l', and also `l' if num- + ber_pad is on. - NetHack 3.7.0 November 6, 2023 + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 82 + NetHack Guidebook 23 - 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. + #monster + Use a monster's special ability (when polymorphed into monster + form). Autocompletes. Default key is `M-m'. - font_size_text - If NetHack can, it should use this size font for text windows. + #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'. - fullscreen - If NetHack can, it should try and display on the entire screen - rather than in a window. + #offer + Offer a sacrifice to the gods. Autocompletes. Default key is + `M-o'. - guicolor - Use color text and/or highlighting attributes when displaying - some non-map data (such as menu selector letters). Curses in- - terface only; default is on. + You'll need to find an altar to have any chance at success. + Corpses of recently killed monsters are the fodder of choice. - large_font - If NetHack can, it should use a large font. + The `m' prefix skips offering any items which are on the altar. - map_mode - If NetHack can, it should display the map in the manner speci- - fied. + #open + Open a door. Default key is `o'. - player_selection - If NetHack can, it should pop up dialog boxes, or use prompts - for character selection. + #options + Show and change option settings. Default key is `O'. Precede + with the `m' prefix to show advanced options. - popup_dialog - If NetHack can, it should pop up dialog boxes for input. + #optionsfull + Show advanced game option settings. No default key. Precede + with the `m' prefix to execute the simpler options command. + (Mainly useful if you use BINDING=O:optionsfull to switch `O' + from simple options back to traditional advanced options.) - preload_tiles - If NetHack can, it should preload tiles into memory. For exam- - ple, in the protected mode MS-DOS version, control whether - tiles get pre-loaded into RAM at the start of the game. Doing - so enhances performance of the tile graphics, but uses more - memory. (default on). Cannot be set with the `O' command. + #overview + Display information you've discovered about the dungeon. Any + visited level with an annotation is included, and many things + (altars, thrones, fountains, and so on; extra stairs leading to + another dungeon branch) trigger an automatic annotation. If dun- + geon overview is chosen during end-of-game disclosure, every vis- + ited level will be included regardless of annotations. - scroll_amount - If NetHack can, it should scroll the display by this number of - cells when the hero reaches the scroll_margin. + Precede #overview with the `m' prefix to display the dungeon + overview as a menu where you can select any visited level to add + or remove an annotation without needing to return to that level. + This will also force all visited levels to be displayed rather + than just the "interesting" subset. - 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. + Autocompletes. Default keys are `^O', and `M-O'. + #panic + Test the panic routine. Terminates the current game. Autocom- + pletes. Debug mode only. + Asks for confirmation; default is n (no); continue playing. To + really panic, respond with y. You can set the paranoid_confirma- + tion:quit option to require a response of yes instead. - NetHack 3.7.0 November 6, 2023 + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 83 + NetHack Guidebook 24 - 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. + #pay + Pay your shopping bill. Default key is `p'. - softkeyboard - Display an onscreen keyboard. Handhelds are most likely to - support this option. + #perminv + If persistent inventory display is supported and enabled (with + the perm_invent option), interact with it instead of with the + map. You'll be prompted for menu scrolling keystrokes such as + `>' and `<'. Press Return or Escape to resume normal play. De- + fault key is `|'. - splash_screen - If NetHack can, it should display an opening splash screen when - it starts up (default yes). + #pickup + Pick up things at the current location. Default key is `,'. The + `m' prefix forces use of a menu. - statuslines - Number of lines for traditional below-the-map status display. - Acceptable values are 2 and 3 (default is 2). + #polyself + Polymorph self. Autocompletes. Debug mode only. - When set to 3, the tty interface moves some fields around and - mainly shows status conditions on their own line. A display - capable of showing at least 25 lines is recommended. The value - can be toggled back and forth during the game with the `O' com- - mand. + #pray + Pray to the gods for help. Autocompletes. Default key is `M-p'. - The curses interface does likewise if the align_status option - is set to top or bottom but ignores statuslines when set to - left or right. + Praying too soon after receiving prior help is a bad idea. + (Hint: entering the dungeon alive is treated as having received + 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 be- + fore praying. It is enabled by default, and you can reset the + paranoid_confirmation option to disable it. - The Qt interface already displays more than 3 lines for status - so uses the statuslines value differently. A value of 3 ren- - ders status in the Qt interface's original format, with the - status window spread out vertically. A value of 2 makes status - be slightly condensed, moving some fields to different lines to - eliminate one whole line, reducing the height needed. (If - NetHack has been built using a version of Qt older than qt-5.9, - statuslines can only be set in the run-time configuration file - or via NETHACKOPTIONS, not during play with the `O' command.) + #prevmsg + Show previously displayed game messages. Default key is `^P'. - term_cols and + #puton + Put on an accessory (ring, amulet, etc). Default key is `P'. - term_rows - Curses interface only. Number of columns and rows to use for - the display. Curses will attempt to resize to the values spec- - ified but will settle for smaller sizes if they are too big. - Default is the current window size. + #quaff + Quaff (drink) something. Default key is `q'. - tile_file - Specify the name of an alternative tile file to override the - default. + The `m' prefix skips drinking from a fountain or sink if there is + one at your location. - Note: the X11 interface uses X resources rather than NetHack's - options to select an alternate tile file. See NetHack.ad, the - sample X "application defaults" file. + #quit + Quit the program without saving your game. Autocompletes. + Since using this command by accident would throw away the current + game, you are asked to confirm your intent before quitting. De- + fault response is n (no); continue playing. To really quit, re- + spond with y. You can set the paranoid_confirmation:quit option + to require 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 - NetHack 3.7.0 November 6, 2023 + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 84 + NetHack Guidebook 25 - 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 + `r'. - tiled_map - If NetHack can, it should display the map using tiles graphics - rather than simple characters (letters and punctuation, possi- - bly augmented by line-drawing symbols). Setting tiled_map to - True forces ascii_map to be False. + #redraw + Redraw the screen. Default key is `^R', and also `^L' if num- + ber_pad is on. - use_darkgray - Use bold black instead of blue for black glyphs (TTY only). + #remove + Remove an accessory (ring, amulet, etc). Default key is `R'. - use_inverse - If NetHack can, it should display inverse when the game speci- - fies it. + #repeat + Repeat the previous command. Default key is `^A'. - vary_msgcount - If NetHack can, it should display this number of messages at a - time in the message window. + #reqmenu + Prefix key to modify the behavior or request menu from some com- + mands. Prevents autopickup when used with movement commands. + Default key is `m'. - windowborders - Whether to draw boxes around the map, status area, message - area, and persistent inventory window if enabled. Curses in- - terface only. Acceptable values are + #retravel + Travel to a previously selected travel destination. Default key + is `C-_'. See also #travel. - 0 - off, never show borders - 1 - on, always show borders - 2 - auto, on if display is at least (24+2)x(80+2) [default] - 3 - on, except forced off for perm_invent - 4 - auto, except forced off for perm_invent + #ride + Ride (or stop riding) a saddled creature. Autocompletes. De- + fault key is `M-R'. - (The 26x82 size threshold for `2' refers to number of rows and - columns of the display. A width of at least 110 columns - (80+2+26+2) is needed to show borders if align_status is set to - left or right.) + #rub + Rub a lamp or a stone. Autocompletes. Default key is `M-r'. - The persistent inventory window, when enabled, can grow until - it is too big to fit on most displays, resulting in truncation - of its contents. If borders are forced on (1) or the display - is big enough to show them (2), setting the value to 3 or 4 in- - stead will keep borders for the map, message, and status win- - dows but have room for two additional lines of inventory plus - widen each inventory line by two columns. + #run + Prefix key to run towards a direction. Default key is `G' when + number_pad is off, `5' when number_pad is set to 1 or 3, other- + wise `M-5' when it is set to 2 or 4. - windowcolors - If NetHack can, it should display windows with the specified - foreground/background colors. Windows GUI only. The format is + #rush + Prefix key to rush towards a direction. Default is `g' when num- + ber_pad is off, `M-5' when number_pad is set to 1 or 3, otherwise + `5' when it is set to 2 or 4. - OPTION=windowcolors:wintype foreground/background + #save + Save the game and exit the program. Default key is `S'. + #saveoptions + Save configuration options to the config file. This will over- + write the file, removing all comments, so if you have manually + edited the config file, don't use this. + #search + Search for traps and secret doors around you. Default key is + `s'. - NetHack 3.7.0 November 6, 2023 + #seeall + Show all equipment in use. Default key is `*'. + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 85 - where wintype is one of "menu", "message", "status", or - "text", and foreground and background are colors, either a hexa- - decimal \'#rrggbb', one of the named colors (black, red, green, - brown, blue, magenta, cyan, orange, brightgreen, yellow, bright- - blue, brightmagenta, brightcyan, white, trueblack, gray, purple, - silver, maroon, fuchsia, lime, olive, navy, teal, aqua), or one - of Windows UI colors (activeborder, activecaption, appworkspace, - background, btnface, btnshadow, btntext, captiontext, graytext, - greytext, highlight, highlighttext, inactiveborder, inactivecap- - tion, menu, menutext, scrollbar, window, windowframe, window- - text). - wraptext - If NetHack can, it should wrap long lines of text if they don't - fit in the visible area of the window. + NetHack Guidebook 26 - 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. - altkeyhandling - Select an alternate way to handle keystrokes (Win32 tty NetHack - only). The name of the handling type is one of "default", - "ray", "340". + #seeamulet + Show the amulet currently worn. Default key is `"'. - altmeta - On 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 (de- - fault off). + #seearmor + Show the armor currently worn. Default key is `['. - 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. + #seerings + Show the ring(s) currently worn. Default key is `='. - 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). + #seetools + Show the tools currently in use. Default key is `('. - 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. + #seeweapon + Show the weapon currently wielded. Default key is `)'. + #shell + Do a shell escape, switching from NetHack to a subprocess. Can + be disabled at the time the program is built. When enabled, ac- + cess for specific users can be controlled by the system configu- + ration file. Use the shell command `exit' to return to the game. + Default key is `!'. + #showgold + Report the gold in your inventory, including gold you know about + in containers you're carrying. If you are inside a shop, report + any credit or debt you have in that shop. Default key is `$'. - NetHack 3.7.0 November 6, 2023 + #showspells + List and reorder known spells. Default key is `+'. + #showtrap + Describe an adjacent trap, possibly covered by objects or a mon- + ster. To be eligible, the trap must already be discovered. (The + "#terrain" command can display your map with all objects and mon- + sters temporarily removed, making it possible to see all discov- + ered traps.) Default key is `^'. + #sit + Sit down. Autocompletes. Default key is `M-s'. + #stats + Show memory usage statistics. Autocompletes. Debug mode only. + #suspend + Suspend the game, switching from NetHack to the terminal it was + started from without performing save-and-exit. Can be disabled + at the time the program is built. When enabled, mainly useful + for tty and curses interfaces on UNIX. Use the shell command + `fg' to return to the game. Default key is `^Z'. - NetHack Guidebook 86 + #swap + Swap wielded and secondary weapons. Default key is `x'. - 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 assign- - ments in the configuration file if needed. Cannot be set with - the `O' command. - video - Set the video mode used (PC NetHack only). Values are "autode- - tect", "default", "vga", or "vesa". Setting "vesa" will cause - the game to display tiles, using the full capability of the VGA - hardware. Setting "vga" will cause the game to display tiles, - fixed at 640x480 in 16 colors, a mode that is compatible with - all VGA hardware. Third party tilesets will probably not work. - Setting "autodetect" attempts "vesa", then "vga", and finally - sets "default" if neither of those modes works. Cannot be set - with the `O' command. + NetHack 3.7.0 November 6, 2023 - video_height - Set the VGA mode resolution height (MS-DOS only, with - video:vesa) - video_width - Set the VGA mode resolution width (MS-DOS only, with - video:vesa) - 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 + NetHack Guidebook 27 - 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. + #takeoff + Take off one piece of armor. Default key is `T'. + #takeoffall + Remove all armor. Default key is `A'. - NetHack 3.7.0 November 6, 2023 + #teleport + Teleport around the level. Default key is `^T'. + #terrain + Show map without obstructions. In normal play you can view the + explored portion of the current level's map without monsters; + without monsters and objects; or without monsters, objects, and + traps. + In explore mode, you can choose to view the full map rather than + just its explored portion. In debug mode there are additional + choices. + Autocompletes. Default key is `' or `' (see Del + above). + #therecmdmenu + Show a menu of possible actions directed at a location next to + you. The menu is limited to a subset of the likeliest actions, + not an exhaustive set of all possibilities. Autocompletes. - NetHack Guidebook 87 + #throw + Throw something. Default key is `t'. + #timeout + Look at the timeout queue. Autocompletes. Debug mode only. + #tip + Tip over a container (bag or box) to pour out its contents. When + there are containers on the floor, the game will prompt to pick + one of them or "tip something being carried". If the latter is + chosen, there will be another prompt for which item from inven- + tory to tip. - 9.8. Configuring Autopickup Exceptions + The `m' prefix makes the command skip containers on the floor and + pick one from inventory, except for the special case of + menustyle:traditional with two or more containers present; that + situation will start with the floor container menu. - You can further refine the behavior of the autopickup option - beyond what is available through the pickup_types option. + Autocompletes. Default key is `M-T'. - By placing autopickup_exception lines in your configuration - file, you can define patterns to be checked when the game is - about to autopickup something. + #travel + Travel to a specific location on the map. Default key is `_'. + Using the "request menu" prefix shows a menu of interesting tar- + gets in sight without asking to move the cursor. 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. See also #retravel. - autopickup_exception - Sets an exception to the pickup_types option. The au- - topickup_exception option should be followed by a regular ex- - pression 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: + NetHack 3.7.0 November 6, 2023 - < - always pickup an object that matches rest of pattern; - > - never pickup an object that matches rest of pattern. - The autopickup_exception rules are processed in the order in - which they appear in your configuration file, thus allowing a - later rule to override an earlier rule. - Exceptions can be set with the `O' command, but because they - are not included in your configuration file, they won't be in - effect if you save and then restore your game. autopickup_ex- - ception rules and not saved with the game. - Here are some examples: - autopickup_exception="<*arrow" - autopickup_exception=">*corpse" - autopickup_exception=">* cursed*" + NetHack Guidebook 28 - 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"), a mouse button, or a three-digit decimal - ASCII code. + #turn + Turn undead away. Autocompletes. Default key is `M-t'. - For example: + #twoweapon + Toggle two-weapon combat on or off. Autocompletes. Default key + is `X', and also `M-2' if number_pad is off. + 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 mon- + sters. - NetHack 3.7.0 November 6, 2023 + #up + Go up a staircase. Default key is `<'. + #vanquished + List vanquished monsters by type and count. + Note that the vanquished monsters list includes all monsters + killed by traps and each other as well as by you, and omits any + which got removed from the game without being killed (perhaps by + genocide, or by a mollified shopkeeper dismissing summoned Kops) + or were already corpses when placed on the map. + Using the "request menu" prefix prior to #vanquished brings up a + menu of sorting orders available (provided that the vanquished + monsters list contains at least two types of monsters). Which- + ever ordering is picked gets assigned to the sortvanquished op- + tion so is remembered for subsequent #vanquished requests. The + "#genocided" command shares this sorting order. + During end-of-game disclosure, when asked whether to show van- + quished monsters answering `a' will let you choose from the sort + menu. - NetHack Guidebook 88 + Autocompletes. Default key is `M-V'. + #version + Print compile time options for this version of NetHack. + The second paragraph lists the user interface(s) that are in- + cluded. If there are more than one, you can use the windowtype + option in your run-time configuration file to select the one you + want. - BIND=^X:getpos.autodescribe - BIND=\:menu_first_page - BIND=v:loot + Autocompletes. Default key is `M-v'. - Extended command keys - You can bind multiple keys to the same extended command. Un- - bind a key by using "nothing" as the extended command to bind - to. You can also bind the "", "", and "" - keys. + #versionshort + Show the program's version number, plus the date and time that - Menu accelerator keys - The menu control or accelerator keys can also be rebound via - OPTIONS lines in the configuration file. You cannot bind ob- - ject symbols or selection letters into menu accelerators. Some - interfaces only support some of the menu accelerators. - Mouse buttons - You can bind "mouse1" or "mouse2" to "nothing", "therecmdmenu", - "clicklook", or "mouseaction". + NetHack 3.7.0 November 6, 2023 - 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 - commands 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'. - getdir.help - When asked for a direction, the key to show the help. Default - is `?'. - getdir.mouse - When asked for a direction, the key to initiate a simulated - mouse click. You will be asked to pick a location. Use move- - ment keystrokes to move the cursor around the map, then type - the getpos.pick.once key (default `,') or the getpos.pick key - (default `.') to finish as if performing a left or right - click. Only useful when using the #therecmdmenu command. De- - fault is `_'. - getdir.self - When asked for a direction, the key to target yourself. De- - fault is `.'. + NetHack Guidebook 29 - getdir.self2 - When asked for a direction, an alternate key to target your- - self. Default is `s'. - getpos.autodescribe - When asked for a location, the key to toggle autodescribe. + the running copy was built from sources (not the version's re- + lease date). Default key is `v'. - NetHack 3.7.0 November 6, 2023 + #vision + Show vision array. Autocompletes. Debug mode only. + #wait + Rest one move while doing nothing. Default key is `.', and also + ` ' if rest_on_space is on. + #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 + `/'. - NetHack Guidebook 89 + #wield + Wield a weapon. Default key is `w'. + #wipe + Wipe off your face. Autocompletes. Default key is `M-w'. + #wizborn + Show monster birth, death, genocide, and extinct statistics. De- + bug mode only. - Default is `#'. + #wizbury + Bury objects under and around you. Autocompletes. Debug mode + only. - getpos.all.next - When asked for a location, the key to go to next closest inter- - esting thing. Default is `a'. + #wizcast + Cast any spell. Debug mode only. - getpos.all.prev - When asked for a location, the key to go to previous closest - interesting thing. Default is `A'. + #wizdetect + Reveal hidden things (secret doors or traps or unseen monsters) + within a modest radius. No time elapses. Autocompletes. Debug + mode only. Default key is `^E'. - getpos.door.next - When asked for a location, the key to go to next closest door - or doorway. Default is `d'. + #wizgenesis + Create a monster. May be prefixed by a count to create more than + one. Autocompletes. Debug mode only. Default key is `^G'. - getpos.door.prev - When asked for a location, the key to go to previous closest - door or doorway. Default is `D'. + #wizidentify + Identify all items in inventory. Autocompletes. Debug mode + only. Default key is `^I'. - getpos.help - When asked for a location, the key to show help. Default is - `?'. + #wizintrinsic + Set one or more intrinsic attributes. Autocompletes. Debug mode + only. - 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'. + NetHack 3.7.0 November 6, 2023 - 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 - 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. - Toggles between no filtering, in view only, and in the same - area only. Default is `"'. + NetHack Guidebook 30 - NetHack 3.7.0 November 6, 2023 + #wizkill + Remove monsters from play by just pointing at them. By default + the hero gets credit or blame for killing the targets. Precede + this command with the `m' prefix to override that. Autocom- + pletes. Debug mode only. + #wizlevelport + Teleport to another level. Autocompletes. Debug mode only. De- + fault key is `^V'. + #wizmap + Map the level. Autocompletes. Debug mode only. Default key is + `^F'. + #wizrumorcheck + Verify rumor boundaries by displaying first and last true rumors + and first and last false rumors. - NetHack Guidebook 90 + Also displays first, second, and last random engravings, epi- + taphs, and hallucinatory monsters. + Autocompletes. Debug mode only. + #wizseenv + Show map locations' seen vectors. Autocompletes. Debug mode + only. - getpos.pick - When asked for a location, the key to choose the location, and - possibly ask for more info. When simulating a mouse click af- - ter being asked for a direction (see getdir.mouse above), the - key to use to respond as right click. Default is `.'. + #wizsmell + Smell monster. Autocompletes. Debug mode only. - getpos.pick.once - When asked for a location, the key to choose the location, and - skip asking for more info. When simulating a mouse click after - being asked for a direction, the key to respond as left click. - Default is `,'. + #wizwhere + Show locations of special levels. Autocompletes. Debug mode + only. - 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 `;'. + #wizwish + Wish for something. Autocompletes. Debug mode only. Default + key is `^W'. - getpos.pick.verbose - When asked for a location, the key to choose the location, and - show more info without asking. Default is `:'. + #wmode + Show wall modes. Autocompletes. Debug mode only. - getpos.self - When asked for a location, the key to go to your location. De- - fault is `@'. + #zap + Zap a wand. Default key is `z'. - getpos.unexplored.next - When asked for a location, the key to go to next closest unex- - plored location. Default is `x'. + #? + Help menu: get the list of available extended commands. - 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'. + If your keyboard has a meta key (which, when pressed in combina- + tion 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. - getpos.valid.prev - When asked for a location, the key to go to previous closest - valid location. Default is `Z'. - 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. + NetHack 3.7.0 November 6, 2023 - In general, the configuration file entries to describe the - message types look like this: MSGTYPE=type "pattern" - type - how the message should be shown; - NetHack 3.7.0 November 6, 2023 + NetHack Guidebook 31 + On Windows and MS-DOS, the "Alt" key can be used in this fashion. + On other systems, if typing "Alt" plus another key transmits a two + character sequence consisting of an Escape followed by the other key, + you may set the altmeta option to have NetHack combine them into + meta+. (This combining action only takes place when NetHack is + expecting a command to execute, not when accepting input to name some- + thing or to make a wish.) - NetHack Guidebook 91 + Unlike control characters, where ^x and ^X denote the same thing, + meta characters are case-sensitive: M-x and M-X represent different + things. Some commands which can be run via a meta character require + that the letter be capitalized because the lower-case equivalent is + used for another command, so the three key combination + meta+Shift+ is needed. + M-? #? (not supported by all platforms) - pattern - the pattern to match. + M-2 #twoweapon (unless the number_pad option is enabled) - The pattern should be a regular expression. + M-a #adjust - Allowed types are: + M-A #annotate - 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. + M-c #chat - Here's an example of message types using NetHack's internal - pattern matching facility: + M-C #conduct - MSGTYPE=stop "You feel hungry." - MSGTYPE=hide "You displaced *." + M-d #dip - 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. + M-e #enhance - The order of the defined MSGTYPE lines is important; the last - matching rule is used. Put the general case first, exceptions - below them. + M-f #force - 9.11. Configuring Menu Colors + M-g #genocided - Some platforms allow you to define colors used in menu lines - when the line matches a user-defined pattern. At this time the - tty, curses, win32tty and win32gui interfaces support this. + M-i #invoke - In general, the configuration file entries to describe the - menu color mappings look like this: + M-j #jump - MENUCOLOR="pattern"=color&attribute + M-l #loot - 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. + M-m #monster - The pattern should be a regular expression. + M-n #name - Allowed colors are black, red, green, brown, blue, magenta, - cyan, gray, orange, light-green, yellow, light-blue, light-ma- - genta, light-cyan, and white. And no-color, the default fore- - ground color, which isn't necessarily the same as any of the - other colors. + M-o #offer + M-O #overview + M-p #pray - NetHack 3.7.0 November 6, 2023 + M-r #rub + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 92 - Allowed attributes are none, bold, dim, italic, underline, - blink, and inverse. "Normal" is a synonym for "none". Note - that the platform used may interpret the attributes any way it - wants. + NetHack Guidebook 32 - 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- - uration file, and the last MENUCOLOR line that matches a menu - line will be used for the line. + M-R #ride - 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. + M-s #sit - 9.12. Configuring User Sounds + M-t #turn - 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. + M-T #tip - The following configuration file entries are relevant to - mapping user sounds to messages: + M-u #untrap - SOUNDDIR - The directory that houses the sound files to be played. + M-v #version - SOUND - An entry that maps a sound file to a user-specified message - pattern. Each SOUND entry is broken down into the following - parts: + M-V #vanquished - MESG - message window mapping (the only one supported in - 3.7.0); - msgtype - optional; message type to use, see "Configuring - Message Types" - pattern - the pattern to match; - sound file - the sound file to play; - volume - the volume to be set while playing the sound - file; - sound index - optional; the index corresponding to a sound - file. + M-w #wipe + M-X #exploremode - NetHack 3.7.0 November 6, 2023 + If the number_pad option is on, some additional letter commands + are available: + h #help + j #jump + k #kick - NetHack Guidebook 93 + l #loot + N #name + u #untrap - The pattern should be a POSIX extended regular expression. - For example: + 5. Rooms and corridors - SOUNDDIR=C:\nethack\sounds - SOUND=MESG "This door is locked" "lock.wav" 100 - SOUND=MESG hide "^You miss the " "swing.wav" 75 + 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 corri- + dors remain on the map as you explore them. + Secret corridors are hidden and appear to be solid rock. You can + find them with the `s' (search) command when adjacent to them. Multi- + ple search attempts may be needed. When searching is successful, se- + cret corridors become ordinary open corridor locations. Mapping magic + reveals secret corridors, so converts them into ordinary corridors and + shows them as such. + 5.1. Doorways - 9.13. Configuring Status Hilites + Doorways connect rooms and corridors. Some doorways have no + doors; you can walk right through. Others have doors in them, which - 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: + NetHack 3.7.0 November 6, 2023 - OPTION=hilite_status:field-name/behavior/color&attributes - For example, the following line in your configuration 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 - (That example is actually specifying red&normal for <=30% and no- - color&normal for >30%.) - For another example, the following line in your configura- - tion file will cause wisdom to be displayed red if it drops and - green if it rises: + NetHack Guidebook 33 - OPTION=hilite_status:wisdom/down/red/up/green - Allowed colors are black, red, green, brown, blue, magenta, - cyan, gray, orange, light-green, yellow, light-blue, light-ma- - genta, light-cyan, and white. And "no-color", the default fore- - ground color on the display, which is not necessarily the same as - black or white or any of the other colors. - Allowed attributes are none, bold, dim, underline, blink, - and inverse. "Normal" is a synonym for "none"; they should not - be used in combination with any of the other attributes. + 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. By + default the autoopen option is enabled, so simply attempting to walk + onto a closed door's location will attempt to open it without needing + `o'. Opening via autoopen will not work if you are confused or + stunned or suffer from the fumbling attribute. - To specify both a color and an attribute, use `&' to combine - them. To specify multiple attributes, use `+' to combine those. - For example: "magenta&inverse+dim". + Open doors cannot be entered diagonally; you must approach them + straight on, horizontally or vertically. Doorways without doors are + not restricted in this fashion except on one particular level (de- + scribed by "#overview" as "a primitive area"). - Note that the display may substitute or ignore particular - attributes depending upon its capabilities, and in general may - interpret the attributes any way it wants. For example, on some - display systems a request for bold might yield blink or vice + Unlocking magic exists but usually won't be available early on. + You can get through a locked door without magic by first using an un- + locking tool with the `a' (apply) command, and then opening it. By + default the autounlock option is also enabled, so if you attempt to + open (via `o' or autoopen) a locked door while carrying an unlocking + tool, you'll be asked whether to use it on the door's lock. Alterna- + tively, you can break a closed door (whether locked or not) down by + kicking it via the `^D' (kick) command. Kicking down a door destroys + it and makes a lot of noise which might wake sleeping monsters. + Some closed doors are booby-trapped and will explode if an at- + tempt is made to open (when unlocked) or unlock (when locked) or kick + down. Like kicking, an explosion destroys the door and makes a lot of + noise. The "#untrap" command can be used to search a door for traps + but might take multiple attempts to find one. When one is found, + you'll be asked whether to try to disarm it. If you accede, success + will eliminate the trap but failure will set off the trap's explosion. + (If you decline, you effectively forget that a trap was found there.) - NetHack 3.7.0 November 6, 2023 + Closed doors can be useful for shutting out monsters. Most mon- + sters cannot open closed doors, although a few don't need to (for ex- + ample, ghosts can walk through doors and fog clouds can flow under + them). Some monsters who can open doors can also use unlocking tools. + And some (giants) can smash doors. + Secret doors are hidden and appear to be ordinary wall (from in- + side a room) or solid rock (from outside). You can find them with the + `s' (search) command but it might take multiple tries (possibly many + tries if your luck is poor). Once found they are in all ways equiva- + lent to normal doors. Mapping magic does not reveal secret doors. + 5.2. Traps (`^') + There are traps throughout the dungeon to snare the unwary in- + truder. For example, you may suddenly fall into a pit and be stuck + for a few turns trying to climb out (see below). A trap usually won't + appear on your map until you trigger it by moving onto it, you see + someone else trigger it, or you discover it with the `s' (search) com- + mand (multiple attempts are often needed; if your luck is poor, many + attempts might be needed). Wands of secret door detection and spell + of detect unseen also reveal traps within a modest radius but only if + the trap is also within line-of-sight (whether you can see at the time - NetHack Guidebook 94 + NetHack 3.7.0 November 6, 2023 - versa. On others, issuing an attribute request while another is - already set up will replace the earlier attribute rather than - combine with it. Since NetHack issues attribute requests sequen- - tially (at least with the tty interface) rather than all at once, - the only way a situation like that can be controlled is to spec- - ify just one attribute. - You can adjust the appearance of the following status - fields: - title dungeon-level experience-level - strength gold experience - dexterity hitpoints HD - constitution hitpoints-max time - intelligence power hunger - wisdom power-max carrying-capacity - charisma armor-class condition - alignment score - 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. + NetHack Guidebook 34 - 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 text to match against. - For the hitpoints field, the additional behavior "criticalhp" - is available. It overrides other behavior rules if hit points - are at or below the major problem threshold (which varies de- - pending upon maximum hit points and experience level). - * "always" will set the default attributes for that field. + or not). There is also other magic which can reveal traps. - * "up", "down" set the field attributes for when the field - value changes upwards or downwards. This attribute times - out after statushilites turns. + Monsters can fall prey to traps, too, which can potentially be + used as a defensive strategy. Unfortunately traps can be harmful to + your pet(s) as well. Monsters, including pets, usually will avoid + moving onto a trap which is shown on your map if they have encountered + that type of trap before. - * "changed" sets the field attribute for when the field - value changes. This attribute times out after sta- - tushilites turns. (If a field has both a "changed" rule - and an "up" or "down" rule which matches a change in the - field's value, the "up" or "down" one takes precedence.) + Some traps such as pits, bear traps, and webs hold you in one + place. You can escape by simply trying to move to an adjacent spot + and repeat as needed; eventually you will get free. - * percentage sets the field attribute when the field value - matches the percentage. It is specified as a number be- - tween 0 and 100, followed by `%' (percent sign). If the - percentage is prefixed with `<=' or `>=', it also matches + Other traps can send you to different locations. Teleporters + send you elsewhere on the same dungeon level. Level teleporters send + you to a random dungeon level, the destination chosen from a few lev- + els lower all the way to the top. These traps choose a new destina- + tion each time they're activated. Trap doors and holes also send you + to another level, but one which is always below the current level. + Usually that will be the next level down but it can be farther. Un- + like (level) teleporters, the destination level of a particular trap + door or hole is persistent, so falling into one will bring you to the + same level each time--though not necessarily the same spot on the + level. Magic portals behave similarly, but with some additional vari- + ation. Some portals are two-way and their remote destination is al- + ways the same: another portal which can take you back. Others are + one-way and send you to a specific destination level but not necessar- + ily to a specific location there. + There is a special multi-level branch of the dungeon with pre- + mapped levels based on the classic computer game "Sokoban." In that + game, you operate as a warehouse worker who pushes crates around ob- + stacles to position them at designated locations. In NetHack, the + goal is to push boulders into pits or holes until those traps have all + been nullified, giving access to whatever is beyond them. In the + Sokoban game, you can only move in the four cardinal compass direc- + tions, and a crate in its final destination blocks further access to + that spot. In the Sokoban levels of NetHack, you can move diagonally + (unless that would let you pass between two neighboring boulders) but + you can only push boulders in the four cardinal directions, and a + boulder which fills a pit or hole removes both the boulder and the + trap so opens up normal access to that spot. With careful foresight, + it is possible to complete all of the levels according to the tradi- + tional rules of Sokoban. (Hint: to solve Sokoban puzzles, you often + need to move things away from their eventual destinations in order to + open up more room to maneuver.) Since NetHack does not support an + undo capability, some allowances are permitted in case you get stuck. + For example, each level has at least one extra boulder. Also, it is + possible to drop everything in order to be able to squeeze into the + same location as a boulder (and then presumably move past it), or to + destroy a boulder with magic or tools, or to create new boulders with + a scroll of earth. However, doing such things will lower your luck + without any specific message given about that. See the Conduct sec- + tion for information about getting feedback for your actions in + Sokoban. - NetHack 3.7.0 November 6, 2023 + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 95 + NetHack Guidebook 35 - when value is below or above the percentage. Use prefix - `<' or `>' to match when strictly below or above. (The - numeric limit is relaxed slightly for those: >-1% and - <101% are allowed.) Only four fields support percentage - rules. Percentages for "hitpoints" and "power" are - straightforward; they're based on the corresponding maxi- - mum field. Percentage highlight rules are also allowed - for "experience level" and "experience points" (valid when - the showexp option is enabled). For those, the percentage - is based on the progress from the start of the current ex- - perience level to the start of the next level. So if - level 2 starts at 20 points and level 3 starts at 40 - points, having 30 points is 50% and 35 points is 75%. - 100% is unattainable for experience because you'll gain a - level and the calculations will be reset for that new - level, but a rule for =100% is allowed and matches the - special case of being exactly 1 experience point short of - the next level. - * absolute value sets the attribute when the field value - matches that number. The number must be 0 or higher, ex- - cept for "armor-class' which allows negative values, and - may optionally be preceded by `='. If the number is pre- - ceded by `<=' or `>=' instead, it also matches when value - is below or above. If the prefix is `<' or `>', only - match when strictly above or below. + 5.3. Stairs and ladders (`<', `>') - * criticalhp only applies to the hitpoints field and only - when current hit points are below a threshold (which - varies by maximum hit points and experience level). When - the threshold is met, a criticalhp rule takes precedence - over all other hitpoints rules. + 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 instance, fairly + early in the dungeon you will find a level with two down staircases, + one continuing into the dungeon and the other branching into an area + known as the Gnomish Mines. Those mines eventually hit a dead end, so + after exploring them (if you choose to do so), you'll need to climb + back up to the main dungeon. - * text match sets the attribute when the field value matches - the text. Text matches can only be used for "alignment", - "carrying-capacity", "hunger", "dungeon-level", and "ti- - tle". For title, only the role's rank title is tested; - the character's name is ignored. + When you traverse a set of stairs, or trigger a trap which sends + you to another level, the level you're leaving will be deactivated 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 current level; those on other levels are essentially placed + into stasis. - The in-game options menu can help you determine the correct - syntax for a configuration file. + Ordinarily when you climb a set of stairs, you will arrive on the + corresponding staircase at your destination. However, pets (see be- + low) and some other monsters will follow along if they're close enough + when you travel up or down stairs, and occasionally one of these crea- + tures 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. - The whole feature can be disabled by setting option sta- - tushilites to 0. + Ladders serve the same purpose as staircases, and the two types + of inter-level connections are nearly indistinguishable during game + play. - Example hilites: + 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 using the "#chat" com- + mand 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 shop- + keeper isn't interested (generally, your item needs to be compatible + with the type of merchandise carried by the shop). + If you drop something in a shop by accident, the shopkeeper will + usually claim ownership without offering any compensation. You'll + have to buy it back if you want to reclaim it. + NetHack 3.7.0 November 6, 2023 - NetHack 3.7.0 November 6, 2023 + NetHack Guidebook 36 + Shopkeepers sometime 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 Guidebook 96 + The `$' command, which reports the amount of gold you are carry- + ing, will also show current shop debt or credit, if any. The "Iu" + command lists unpaid items (those which still belong to the shop) if + you are carrying any. The "Ix" command shows an inventory-like dis- + play of any unpaid items which have been used up, along with other + shop fees, if any. + 5.4.1. Shop idiosyncrasies + Several aspects of shop behavior might be unexpected. - 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 + * 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 or she will gener- + ally ignore any other customers. - 9.14. Modifying NetHack Symbols + * If a shop is "closed for inventory," it will not open of its own ac- + cord. - NetHack can load entire symbol sets from the symbol file. + * Shops do not get restocked with new items, regardless of inventory + depletion. - The options that are used to select a particular symbol set - from the symbol file are: + 5.5. Movement feedback - symset - Set the name of the symbol set that you want to load. + Moving around the map usually provides no feedback--other than + drawing the hero at the new location--unless you step on an object or + pile of objects, or on a trap, or attempt to move onto a spot where a + monster is located. There are several options which can be used to + augment the normal feedback. - roguesymset - Set the name of the symbol set that you want to load for dis- - play on the rogue level. + The pile_limit option controls how many objects can be in a + pile--sharing the same map location--for the game to state "there are + objects here" instead of listing them. The default is 5. Setting it + to 1 would always give that message instead of listing any objects. + Setting it to 0 is a special case which will always list all objects + no matter how big a pile is. Note that the number refers to the count + of separate stacks of objects present rather than the sum of the quan- + tities of those stacks (so 7 arrows or 25 gold pieces will each count + as 1 rather than as 7 and 25, respectively, and total to 2 when both + are at the same location). - You can also override one or more symbols using the SYMBOLS - and ROGUESYMBOLS configuration file options. Symbols are speci- - fied as name:value pairs. Note that NetHack escape-processes the - value string in conventional C fashion. This means that \ is a - prefix to take the following 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. + The "nopickup" command prefix (default `m') can be used before a + movement direction to step on objects without attempting auto-pickup + and without giving feedback about them. - NetHack Symbols - 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) + NetHack 3.7.0 November 6, 2023 - NetHack 3.7.0 November 6, 2023 + NetHack Guidebook 37 - NetHack Guidebook 97 + The mention_walls option controls whether you get feedback if you + try to walk into a wall or solid stone or off the edge of the map. + Normally nothing happens (unless the hero is blind and no wall is + shown, then the wall that is being bumped into will be drawn on the + map). This option also gives feedback when rushing or running stops + for some non-obvious reason. + The mention_decor option controls whether you get feedback when + walking on "furniture." Normally stepping onto stairs or a fountain + or an altar or various other things doesn't elicit anything unless it + is covered by one or more objects so is obscured on the map. Setting + this option to true will describe such things even when they aren't + obscured. Doorless doorways and open doors aren't considered worthy + of mention; closed doors (if you can move onto their spots) and broken + doors are. Assuming that you're able to do so, moving onto water or + lava or ice will give feedback if not yet on that type of terrain but + not repeat it (unless there has been some intervening message) when + moving from water to another water spot, or lava to lava, or ice to + ice. Moving off of any of those back onto "normal" terrain will give + one message too, unless there is feedback about one or more objects, + in which case the back on land circumstance is implied. - 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) - > S_brdnladder (branch ladder down) - > S_brdnstair (branch staircase down) - < S_brupladder (branch ladder up) - < S_brupstair (branch staircase up) - 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_expl_tl (explosion top left) - - S_expl_tc (explosion top center) - \ S_expl_tr (explosion top right) - | S_expl_ml (explosion middle left) - S_expl_mc (explosion middle center) - | S_expl_mr (explosion middle right) - \ S_expl_bl (explosion bottom left) - - S_expl_bc (explosion bottom center) - / S_expl_br (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 (horizontal beam [zap animation]) - # S_hcdbridge (horizontal raised drawbridge) - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 98 - - - - + 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) - } S_lavawall (wall of 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 without 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) - # S_sink (sink) - - - - NetHack 3.7.0 November 6, 2023 - - - - - - NetHack Guidebook 99 - - - - ^ 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 (solid rock) - ] 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) - S_unexplored (unexplored terrain) - 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.7.0 November 6, 2023 - - - - - - NetHack Guidebook 100 - - - - ~ S_worm_tail (long worm tail) - W S_wraith (wraith) - x S_xan (xan or other extraordinary insect) - X S_xorn (xorn) - Y S_yeti (apelike creature) - Z S_zombie (zombie) - z S_zruty (zruty) - S_pet_override (any pet if ACCESSIBILITY=1 is set) - S_hero_override (hero if ACCESSIBILITY=1 is set) + The confirm and safe_pet options control what happens when you + try to move onto a peaceful monster's spot or a tame one's spot. - Notes: + The "nopickup" command prefix (default `m') is also the move- + without-attacking prefix and can be used to try to step onto a visible + monster's spot without the move being considered an attack (see the + Fighting subsection of Monsters below). The "fight" command prefix + (default `F'; also `-' if number_pad is on) can be used to force an + attack, when guessing where an unseen monster is or when deliberately + attacking a peaceful or tame creature. - * Several symbols in this table appear to be blank. They are the - space character, except for S_pet_override and S_hero_override - which don't have any default value and can only be used if en- - abled in the "sysconf" file. + The run_mode option controls how frequently the map gets redrawn + when moving more than one step in a single command (so when rushing, + running, or traveling). - * S_rock is misleadingly named; rocks and stones use S_gem. - Statues and boulders are the rock being referred to, but since - version 3.6.0, statues are displayed as the monster they de- - pict. So S_rock is only used for boulders and not used at all - if overridden by the more specific S_boulder. + 5.6. Rogue level - 9.15. Customizing Map Glyph Representations Using Unicode + One dungeon level (occurring in mid to late teens of the main + dungeon) is a tribute to the ancestor game hack's inspiration rogue. - If your platform or terminal supports the display of UTF-8 - character sequences, you can customize your game display by as- - signing Unicode codepoint values and red-green-blue colors to - glyph representations. The customizations can be specified for - use with a symset that has a UTF8 handler within the symbols file - such as the enhanced1 set, or individually within your nethack.rc - file. + It is usually displayed differently from other levels: possibly + in characters instead of tiles, or without line-drawing symbols if al- + ready in characters; also, gold is shown as * rather than $ and stairs + are shown as % rather than < and >. There are some minor differences + in actual game play: doorways lack doors; a scroll, wand, or spell of + light used in a room lights up the whole room rather than within a ra- + dius around your character. And monsters represented by lower-case + letters aren't randomly generated on the rogue level. - The format for defining a glyph representation is: + The slight strangeness of this level is a feature, not a bug.... - OPTIONS=glyph:glyphid/U+nnnn/R-G-B - The window port that is active needs to provide support for - displaying UTF-8 character sequences and explicit red-green-blue - colors in order for the glyph representation to be visible. For - example, the following line in your configuration file will cause - the glyph representation for glyphid G_pool to use Unicode code- - point U+224B and the color represented by R-G-B value 0-0-160: - OPTIONS=glyph:G_pool/U+224B/0-0-160 - The list of acceptable glyphid's can be produced by nethack - --dumpglyphids. Individual NetHack glyphs can be specified using - the G_ prefix, or you can use an S_ symbol for a glyphid and - store the custom representation for all NetHack glyphs that would - map to that particular symbol. + NetHack 3.7.0 November 6, 2023 - You will need to select a symset with a UTF8 handler to en- - able the display of the customizations, such as the Enhanced - NetHack 3.7.0 November 6, 2023 + NetHack Guidebook 38 - NetHack Guidebook 101 + 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 command "#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 re- + move any prior name. - symset. + The extended command "#chat" can be used to interact with an ad- + jacent 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. - 9.16. Configuring NetHack for Play by the Blind + 6.1. Fighting - NetHack can be set up to use only standard ASCII characters - for making maps of the dungeons. This makes even the MS-DOS ver- - sions of NetHack (which use special line-drawing characters by - default) 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 capabilities of their - screen-readers to be quite valuable. Be certain to examine this - Guidebook before playing so you have an idea what the screen lay- - out 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 character 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 of- - ten useful in giving players a better sense of the overall loca- - tion of items on the screen. + 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 un- + less you attack them. Some of them are very dangerous when angered. + Remember: discretion is the better part of valor. - 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. + In most circumstances, if you attempt to attack a peaceful mon- + ster by moving into its location, you'll be asked to confirm your in- + tent. By default an answer of `y' acknowledges that intent, which can + be error prone if you're using `y' to move. You can set the para- + noid_confirmation:attack option to require a response of "yes" in- + stead. - The most crucial settings to make the game more accessible - are: + 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 monster 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 remember a monster but want to try + fighting anyway, you can use the `F' command. - symset:plain - Load a symbol set appropriate for use by blind players. + 6.2. Your pet - menustyle:traditional - This will assist in the interface to speech synthesizers. + You start the game with a little dog (`d'), kitten (`f'), or pony + (`u'), which follows you about the dungeon and fights monsters with + you. Like you, your pet needs food to survive. Dogs and cats usually + feed themselves on fresh carrion and other meats; horses need vegetar- + ian food which is harder to come by. If you're worried about your pet + or want to train it, you can feed it, too, by throwing it food. A + properly trained pet can be very useful under certain circumstances. - nomenu_overlay - Show menus on a cleared screen and aligned to the left edge. + Your pet also gains experience from killing monsters, and can + grow over time, gaining hit points and doing more damage. Initially, - 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. - paranoid_confirmation:swim - Prevent walking into water or lava. + NetHack 3.7.0 November 6, 2023 - NetHack 3.7.0 November 6, 2023 + NetHack Guidebook 39 + your pet may even be better at killing things than you, which makes + pets useful for low-level characters. - NetHack Guidebook 102 + 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-adja- + cent 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 ridden 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 order to forge the al- + liance. 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. - autodescribe - Automatically describe the terrain under the cursor when tar- - geting. + Riding skill is managed by the "#enhance" command. See the sec- + tion on Weapon proficiency for more information about that. - mention_walls - Give feedback messages when walking towards a wall or when - travel command was interrupted. + Use the `a' (apply) command and pick a saddle in your inventory + to attempt to put that saddle on an adjacent creature. If successful, + it will be transferred to that creature's inventory. - whatis_coord:compass - When targeting with cursor, describe the cursor position with - coordinates relative to your character. + Use the "#loot" command while adjacent to a saddled creature to + try to remove the saddle from that creature. If successful, it will + be transferred to your inventory. - 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. + 6.4. Bones levels - whatis_moveskip - When targeting with cursor and using fast-move, skip the same - glyphs instead of moving 8 units at a time. + You may encounter the shades and corpses of other adventurers (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. - 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. + 6.5. Persistence of Monsters - 9.17. Global Configuration for System Administrators + Monsters (a generic reference which also includes humans and + pets) are only shown while they can be seen or otherwise sensed. Mov- + ing to a location where you can't see or sense a monster any more will + result in it disappearing from your map, similarly if it is the one + who moved rather than you. - 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 - uses a compiled-in default (which may not be appropriate for your - system). + However, if you encounter a monster which you can't see or + sense--perhaps it is invisible and has just tapped you on the noggin-- - WIZARDS = A space-separated list of user names who are allowed - to play in debug mode (commonly referred to as wizard mode). A - value of a single asterisk (*) allows anyone to start a game in - debug mode. - SHELLERS = A list of users who are allowed to use the shell es- - cape command (!). The syntax is the same as WIZARDS. + NetHack 3.7.0 November 6, 2023 - 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. - SAVEFORMAT = A list of up to two save file formats separated by - space. The first format in the list will written as well as - read. The second format will be read only if no save file in - NetHack 3.7.0 November 6, 2023 + NetHack Guidebook 40 + a special "remembered, unseen monster" marker will be displayed at the + location where you think it is. That will persist until you have + proven that there is no monster there, even if the unseen monster + moves to another location or you move to a spot where the marker's lo- + cation ordinarily wouldn't be seen any more. + 7. Objects - NetHack Guidebook 103 + When you find something in the dungeon, it is common to want to + pick it up. In NetHack, this is accomplished by using the `,' com- + mand. If autopickup option is on, you will automatically pick up the + object by walking over, unless you move with the `m' prefix. + 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 depends 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 encumber you. Your reactions + will get slower and you'll burn calories faster, requiring food more + frequently to cope with it. Eventually, you'll be so overloaded that + you'll either have to discard some of what you're carrying or collapse + under its weight. - the first format exists. Valid choices are "historical" for - binary writing of entire structs, "lendian" for binary writing - of each field in little-endian order, "ascii" for writing the - save file content in ascii text. + NetHack will tell you how badly you have loaded yourself. If you + are encumbered, one of the conditions Burdened, Stressed, Strained, + Overtaxed, or Overloaded will be shown on the bottom line status dis- + play. - BONESFORMAT = A list of up to two bones file formats separated - by space. The first format in the list will written as well as - read. The second format will be read only if no bones files in - the first format exist. Valid choices are "historical" for bi- - nary writing of entire structs, "lendian" for binary writing of - each field in little-endian order, "ascii" for writing the - bones file content in ascii text. + When you pick up an object, it is assigned an inventory letter. + 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 presented with a list of in- + ventory letters to choose from (see Commands, above). - SUPPORT = A string explaining how to get local support (no de- - fault value). + Some objects, such as weapons, are easily differentiated. Oth- + ers, like scrolls and potions, are given descriptions which vary ac- + cording to type. During a game, any two objects with the same de- + scription are the same type. However, the descriptions will vary from + game to game. - RECOVER = A string explaining how to recover a game on this - system (no default value). + 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 ex- + tremely 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 instead of assigning a new one. - 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 - user'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). + NetHack 3.7.0 November 6, 2023 - The following four 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. + NetHack Guidebook 41 - HIDEUSAGE = 0 or 1 to control whether the help menu entry for - command line usage is shown or suppressed. - MAX_STATUENAME_RANK = Maximum number of score file entries to - use for random statue names (default is 10). - ACCESSIBILITY = 0 or 1 to disable or enable, respectively, the - ability for players to set S_pet_override and S_hero_override - symbols in their configuration file. + 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 enchantments that make them + less effective in combat. Other cursed objects may act poorly or + detrimentally in other ways. + Objects can also be blessed instead. Blessed items usually work + better or more beneficially than normal uncursed items. For example, + a blessed weapon will do slightly 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. - NetHack 3.7.0 November 6, 2023 + There are magical means of bestowing or removing curses upon ob- + jects, 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. Dropping objects + onto an altar will reveal their bless or curse state provided that you + can see them land. + An item with unknown status will be reported in your inventory + with no prefix. An item which you know the state of will be distin- + guished in your inventory by the presence of the word cursed, un- + cursed, or blessed in the description of the item. In some cases un- + cursed will be omitted as being redundant when enough other informa- + tion is displayed. The implicit_uncursed option can be used to con- + trol this; toggle it off to have uncursed be displayed even when that + can be deduced from other attributes. + Sometimes the bless or curse state of objects is referred to as + their "BUC" attribute, for Blessed, Uncursed, or Cursed state, or + "BUCX" for Blessed, Uncursed, Cursed, or unknown. (The term beatitude + is occasionally used as well.) + 7.2. Weapons (`)') + Given a chance, most monsters in the Mazes of Menace will gratu- + itously 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 nor- + mally do more damage with bare (or gloved) hands than they do with + weapons. - NetHack Guidebook 104 + There are wielded weapons, like maces and swords, and thrown + weapons, like arrows and spears. To hit monsters with a weapon, you + NetHack 3.7.0 November 6, 2023 - PORTABLE_DEVICE_PATHS = 0 or 1 Windows OS only, the game will - look for all of its external files, and write to all of its - output files in one place rather than at the standard loca- - tions. - 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. - Allows the following placeholders: - %% - literal `%' - %v - version (eg. "3.7.0-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 - LIVELOG = A bit-mask of types of events that should be written - to the livelog file if one is present. The sample sysconf file - accompanying the program contains a comment which lists the - meaning of the various bits used. Intended for server systems - supporting simultaneous play by multiple players (to be clear, - each one running a separate single player game), for displaying - their game progress to observers. Only relevant if the program - was built with LIVELOG enabled. When available, it should be - left commented out on single player installations because over - time the file could grow to be extremely large unless it is ac- - tively maintained. - CRASHREPORTURL = If set to https://www.nethack.org/common/con- - tact.html and support is compiled in, brings up a browser win- - dow populated with the information needed to report a problem - if the game panics or ends up in an internally inconsistent - state. + NetHack Guidebook 42 - 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 + 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 crossbow 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 identified somehow. Most + weapons are subject to some type of damage like rust. Such "erosion" + damage can be repaired. - NetHack 3.7.0 November 6, 2023 + 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 (enchantment and/or + erosion), experience level, strength, dexterity, encumbrance, and pro- + ficiency (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 ex- + changes 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 simultaneously as primary and secondary; use the + `X' command to engage or disengage that. Only some types of charac- + ters (barbarians, for instance) have the necessary skill available. + Even with that skill, using two weapons at once incurs 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' command 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 damage to mon- + sters 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), `Q' (quiver), `x' (exchange), `X' (twoweapon), and "#enhance" + (see below). - NetHack Guidebook 105 + 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 in- + ventory which are considered likely to be thrown, or picking `*' will - finder's fees). So, consider whether you want to take one last - hit at that monster and possibly live, or quit and stop with - whatever you have. If you quit, you keep all your gold, but if - you swing and live, you might find more. + NetHack 3.7.0 November 6, 2023 - 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 + NetHack Guidebook 43 - Debug mode, also known as wizard mode, is undocumented aside - from this brief description and the various "debug mode only" - commands listed among the command descriptions. It is intended - for tracking down problems within the program rather than to pro- - vide god-like powers to your character, and players who attempt - debugging are expected 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). 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 + 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 depends mainly on the type of ob- + ject 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. - The original hack game was modeled on the Berkeley UNIX - rogue game. Large portions of this document 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. + Some weapons will return when thrown. A boomerang--provided it + fails to hit anything--is an obvious example. If an aklys (thonged + club) is thrown while it is wielded, it will return even when it hits + something. A sufficiently strong hero can throw the warhammer Mjoll- + nir; when thrown by a Valkyrie it will return too. However, aklyses + and Mjollnir occasionally fail to return. Returning thrown objects + occasionally fail to be caught, sometimes even hitting the thrower, + but when caught they become re-wielded. + + 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. If your quiver is + empty, autoquiver is false, and you are wielding a weapon which re- + turns when thrown, you will throw that weapon instead of filling the + quiver. The fire command also has extra assistance, if fireassist is + on it will try to wield a launcher matching the ammo in the quiver. + Some characters have the ability to throw or shoot a volley of + multiple items (from the same stack) in a single action. 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 specified. Once the volley is in motion, all of the items + will travel in the same direction; if the first ones kill a monster, + the others can still continue beyond that spot. + 7.2.2. Weapon proficiency + You will have varying degrees of skill in the weapons available. + Weapon proficiency, or weapon skills, affect how well you can use par- + ticular types of weapons, and you'll be able to improve your skills as + you progress through a game, depending on your role, your experience + level, and use of the weapons. - NetHack 3.7.0 November 6, 2023 + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 106 + NetHack Guidebook 44 - NetHack is the product of literally scores 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. + 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. - Andries Brouwer did a major re-write while at Stichting - Mathematisch Centrum (now Centrum Wiskunde & Informatica), trans- - forming Hack into a very different game. He published the Hack - source code for use on UNIX systems by posting that to Usenet - newsgroup net.sources (later renamed comp.sources) releasing ver- - sion 1.0 in December of 1984, then versions 1.0.1, 1.0.2, and fi- - nally 1.0.3 in July of 1985. Usenet newsgroup net.games.hack - (later renamed rec.games.hack, eventually replaced by - rec.games.roguelike.nethack) was created for discussing it. + 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" (sometimes 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 un- + skilled 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 in- + cur 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 total overall skills, so you need to actively choose which skills + to enhance and which to ignore. - 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; note that these are old Hack ver- - sion numbers, not contemporary NetHack ones). + 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 designated 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 sec- + ondary, swap it to off hand, and then wield the primary. - 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 - version 1.4 in 1987. He then coordinated a cast of thousands in - enhancing and debugging NetHack 1.4 and released NetHack versions - 2.2 and 2.3. Like Hack, they were released by posting their - source code to Usenet where they remained available in various - archives accessible via ftp and uucp after expiring from the - newsgroup. - Later, Mike coordinated a major re-write of the game, head- - ing a team which included Ken Arromdee, Jean-Christophe Collet, - Steve Creps, Eric Hendrickson, Izchak Miller, Eric S. Raymond, - John Rupley, Mike Threepoint, and Janet Walz, to produce NetHack - 3.0c. + NetHack 3.7.0 November 6, 2023 - 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 NetHack 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. + NetHack Guidebook 45 - NetHack 3.7.0 November 6, 2023 + The whole process can be simplified via use of the pushweapon op- + tion. When it is enabled, then using `w' to wield something causes + the currently wielded weapon to become your alternate 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 position. + When in two-weapon combat mode, using the `X' command toggles + back to single-weapon mode. Throwing or dropping either of the + weapons or having one of them be stolen or destroyed will also make + you revert to single-weapon combat. + 7.3. Armor (`[') - NetHack Guidebook 107 + Lots of unfriendly things lurk about; you need armor to protect + yourself from their blows. Some types of armor offer better protec- + tion than others. Your armor class is a measure of this protection. + Armor class (AC) is measured as in AD&D, with 10 being the equivalent + of no armor, and lower numbers meaning better armor. Each suit of ar- + mor which exists in AD&D gives the same protection in NetHack. + Here is a list of the armor class values provided by suits of ar- + mor: + Dragon scale mail 1 + Plate mail, Crystal plate mail 3 + Bronze plate mail, Splint mail, + Banded mail, Dwarvish mithril-coat 4 + Chain mail, Elven mithril-coat 5 + Scale mail, Orcish chain mail 6 + Ring mail, Studded leather armor, + Dragon scales 7 + Leather armor, Orcish ring mail 8 + Leather jacket 9 + none 10 + You can also wear other pieces of armor (cloak over suit, shirt + under suit, helmet, gloves, boots, shield) to lower your armor class + even further. Most of these provide a one or two point improvement to + AC (making the overall value smaller and eventually negative) but can + also be enchanted. Shirts are an exception; they don't provide any + protection unless enchanted. Some cloaks also don't improve AC when + unenchanted but all cloaks offer some protection against rust or cor- + rosion to suits worn under them and against some monster touch at- + tacks. - Version 3.0 went through ten relatively rapidly released - "patch-level" revisions. Versions at the time were known as 3.0 - for the base release and variously as "3.0a" through "3.0j", - "3.0 patchlevel 1" through "3.0 patchlevel 10", or "3.0pl1" - through "3.0pl10" rather than 3.0.0 and 3.0.1 through 3.0.10; the - three component numbering scheme began to be used with 3.1.0. + 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 immedi- + ately find out the armor class and any "plusses" it provides. Cursed + pieces of armor usually have negative enchantments (minuses) in addi- + tion to being unremovable. - Headed by Mike Stephenson and coordinated by Izchak Miller - and Janet Walz, the NetHack Development Team which now included - Ken Arromdee, 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. Version 3.1.0 was released - in January of 1993. - Ken Lorber, Gregg Wonderly and Greg Olson, with help from - Richard Addison, Mike Passaretti, and Olaf Seibert, developed - NetHack 3.1 for the Amiga. - Norm Meluch and Kevin Smolkowski, with help from Carl Sche- - lin, Stephen Spackman, Steve VanDevender, and Paul Winner, ported - NetHack 3.1 to the PC. + NetHack 3.7.0 November 6, 2023 - 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, Bart House added a Think C port. - Timo Hakulinen ported NetHack 3.1 to OS/2. Eric Smith - ported 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. It drew the map as text rather than graphically but - included nh10.bdf, an optionally used custom X11 font which has - tiny images in place of letters and punctuation, a precursor of - tiles. Those images don't extend to individual monster and ob- - ject types, just replacements for monster and object classes (so - one custom image for all "a" insects and another for all "[" ar- - mor and so forth, not separate images for beetles and ants or for - cloaks and boots). - Warwick Allison wrote a graphically displayed version of - NetHack for the Atari where the tiny pictures were described as - "icons" and were distinct for specific types of monsters and ob- - jects rather than just their classes. He contributed them to the - NetHack Development Team which rechristened them "tiles", origi- - nal usage which has subsequently been picked up by various other - games. NetHack's tiles support was then implemented on other + NetHack Guidebook 46 - NetHack 3.7.0 November 6, 2023 + Many types of armor are subject to some kind of damage like rust. + Such damage can be repaired. Some types of armor may inhibit spell + casting. + The nudist option can be set (prior to game start) to attempt to + play the entire game without wearing any armor (a self-imposed chal- + lenge which is extremely difficult to accomplish). + The commands to use armor are `W' (wear) and `T' (take off). The + `A' command can be used to take off armor as well as other worn items. + Also, `P' (put on) and `R' (remove) which are normally for accessories + can be used for armor, but pieces of armor won't be shown as likely + candidates in a prompt for choosing what to put on or remove. - NetHack Guidebook 108 + 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 usually 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." - platforms (initially MS-DOS but eventually Windows, Qt, and X11 - too). + Some character roles and some monsters are vegetarian. Vegetar- + ian monsters will typically never eat animal corpses, while vegetarian + players can, but with some rather unpleasant side-effects. - The 3.2 NetHack Development Team, comprised of Michael Alli- - son, 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, re- - leased version 3.2.0 in April of 1996. + You can name one food item after something you like to eat with + the fruit option. - 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 NetHack Development - Team remained on the team at the start of work on that release. - During the interval between the release of 3.1.3 and 3.2.0, one - of the founding members of the NetHack 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. + The command to eat food is `e'. - Version 3.2 proved to be more stable than previous versions. - Many bugs were fixed, abuses eliminated, and game features tuned - for better game play. + 7.5. Scrolls (`?') - 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: + Scrolls are labeled with various titles, probably chosen by an- + cient wizards for their amusement value (for example "READ ME," or + "THANX MAUD" backwards). Scrolls disappear after you read them (ex- + cept for blank ones, without magic spells on them). - Tom Proudfoot and Yuval Oren created NetHack++, which was - quickly renamed NetHack-- when some people incorrectly assumed - that it was a conversion of the C source code to C++. Working - independently, Stephen White wrote NetHack Plus. Tom Proudfoot - later merged NetHack Plus and his own NetHack-- to produce SLASH. - Larry Stewart-Zerba and Warwick Allison improved the spell cast- - ing system with the Wizard Patch. Warwick Allison also ported - NetHack to use the Qt interface. + 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 objects of subtle en- + chantment are difficult to identify without these. - 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 NetHack Development Team and in- - corporated the best of these ideas into NetHack 3.3. + 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" - 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. Because of the newer version, 3.2.3 was - released as a source code patch only, without any ready-to-play - distribution for systems that usually had such. - (To anyone considering resurrecting an old version: all - versions before 3.2.3 had a Y2K bug. The high scores file and - the log file contained dates which were formatted using a two- - digit year, and 1999's year 99 was followed by 2000's year 100. - That got written out successfully but it unintentionally intro- - duced an extra column in the file layout which prevented score - entries from being read back in correctly, interfering with + NetHack 3.7.0 November 6, 2023 - NetHack 3.7.0 November 6, 2023 + NetHack Guidebook 47 - NetHack Guidebook 109 + 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 variables are ignored. You can disable the mail daemon by + turning off the mail option. + The command to read a scroll is `r'. - insertion of new high scores and with retrieval of old character - names to use for random ghost and statue names in the current - game.) + 7.6. Potions (`!') - The 3.3 NetHack Development Team, consisting of Michael Al- - lison, Ken Arromdee, David Cohrs, Jessie Collet, Steve Creps, - Kevin Darcy, Timo Hakulinen, Kevin Hugo, Steve Linhart, Ken Lor- - ber, 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. + Potions are distinguished by the color of the liquid inside the + flask. They disappear after you quaff them. - 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. + 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 3.4 NetHack Development Team initially consisted of - Michael Allison, 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 release of NetHack 3.4.0 in March 2002. + The command to drink a potion is `q' (quaff). - 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: + 7.7. Wands (`/') - Pat Rankin maintained 3.4 for VMS. + 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, how- + ever, 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. - Michael Allison maintained NetHack 3.4 for the MS-DOS plat- - form. Paul Winner and Yitzhak Sapir provided encouragement. + When the number of charges left in a wand becomes zero, attempts + to use the wand will usually result in nothing happening. Occasion- + ally, 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. - Dean Luick, Mark Modrall, and Kevin Hugo maintained and en- - hanced the Macintosh port of 3.4. + 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 certainly cause a + catastrophic release of magical energies. - 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. + When you have fully identified a particular wand, inventory dis- + play will include additional information in parentheses: the number of + times it has been recharged followed by a colon and then by its cur- + rent number of charges. A current charge count of -1 is a special + case indicating that the wand has been cancelled. - 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. + The command to use a wand is `z' (zap). To break one, use the + `a' (apply) command. - NetHack 3.7.0 November 6, 2023 + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 110 + NetHack Guidebook 48 - 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 af- - ter he resurrected it for 3.3.1. + 7.8. Rings (`=') - 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 NetHack Development Team 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 originally by Daniel Thaler and then by Alex - Smith, and Dynahack by Tung Nguyen. Some of those variants con- - tinue to be developed, maintained, and enjoyed by the community - to this day. + Rings are very useful items, since they are relatively permanent + magic, unlike the usually fleeting effects of potions, scrolls, and + wands. - 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 - version numbers present on that code snapshot would be retired - and never used in an official NetHack release. An announcement - was posted on the NetHack Development Team's official nethack.org - website to that effect, stating that there would never be a - 3.4.4, 3.5, or 3.5.0 official release version. + Putting on a ring activates its magic. You can wear at most two + rings at any time, one on the ring finger of each hand. - In January 2015, preparation began for the release of - NetHack 3.6. + Most worn rings also cause you to grow hungry more rapidly, the + rate varying with the type of ring. - At the beginning of development for what would eventually - get released as 3.6.0, the NetHack Development Team consisted of - Warwick Allison, Michael Allison, Ken Arromdee, David Cohrs, - Jessie Collet, Ken Lorber, Dean Luick, Pat Rankin, Mike Stephen- - son, 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. + When wearing gloves, rings are worn underneath. If the gloves + are cursed, rings cannot be put on and any already being worn cannot + be removed. When worn gloves aren't cursed, you don't have to manu- + ally take them off before putting on or removing a ring and then re- + wear them after. That's done implicitly to avoid unnecessary tedium. - 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. + The commands to use rings are `P' (put on) and `R' (remove). + `A', `W', and `T' can also be used; see Amulets. - 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. + 7.9. Spellbooks (`+') - The NetHack Development Team, as well as Steve VanDevender - and Kevin Smolkowski, ensured that NetHack 3.6 continued to oper- - ate on various UNIX flavors and maintained the X11 interface. + 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 back- + fires. 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. - NetHack 3.7.0 November 6, 2023 + 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 additional food. Casting + of spells also requires practice. With practice, your skill in each + category of spell casting will improve. Over time, however, your mem- + ory of each spell will dim, and you will need to relearn it. + Some spells require a direction in which to cast them, similar to + wands. To cast one at yourself, just give a `.' or `s' for the direc- + tion. A few spells require you to pick a target location 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 af- + fect all spells within the group. Advanced skill may increase the + NetHack 3.7.0 November 6, 2023 - NetHack Guidebook 111 - Ken Lorber, Haoyang Wang, Pat Rankin, and Dean Luick main- - tained the port of NetHack 3.6 for MacOS. - Michael Allison, David Cohrs, Bart House, Pasi Kallinen, - Alex Kompel, Dion Nicolaas, Derek S. Ray and Yitzhak Sapir main- - tained the port of NetHack 3.6 for Microsoft Windows. + NetHack Guidebook 49 - Pat Rankin attempted to keep the VMS port running for - NetHack 3.6, hindered by limited access. Kevin Smolkowski has up- - dated 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 MS-DOS port for 3.6 and contrib- - uted the necessary updates to the community at large. - In late April 2018, several hundred bug fixes for 3.6.0 and - some new features were assembled and released as NetHack 3.6.1. - The NetHack Development Team at the time of release of 3.6.1 con- - sisted of Warwick Allison, Michael Allison, Ken Arromdee, David - Cohrs, Jessie Collet, Pasi Kallinen, Ken Lorber, Dean Luick, - Patric Mueller, Pat Rankin, Derek S. Ray, Alex Smith, Mike - Stephenson, Janet Walz, and Paul Winner. + potency of spells, reduce their risk of failure during casting at- + tempts, 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".) - In early May 2019, another 320 bug fixes along with some en- - hancements and the adopted curses window port, were released as - 3.6.2. + Casting a spell also requires flexible movement, and wearing var- + ious types of armor may interfere with that. - Bart House, who had contributed to the game as a porting - team participant for decades, joined the NetHack Development Team - in late May 2019. + 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) command casts a + spell. - NetHack 3.6.3 was released on December 5, 2019 containing - over 190 bug fixes to NetHack 3.6.2. + 7.10. Tools (`(') - NetHack 3.6.4 was released on December 18, 2019 containing a - security fix and a few bug fixes. + Tools are miscellaneous objects with various purposes. Some + tools have a limited number of uses, akin to wand charges. For exam- + ple, lamps burn out after a while. Other tools are containers, which + objects can be placed into or taken out of. - NetHack 3.6.5 was released on January 27, 2020 containing - some security fixes and a small number of bug fixes. + Some tools (such as a blindfold) can be worn and can be put on + and removed like other accessories (rings, amulets); see Amulets. + Other tools (such as pick-axe) can be wielded as weapons in addition + to being applied for their usual purpose, and in some cases (again, + pick-axe) become wielded as a weapon even when applied. - NetHack 3.6.6 was released on March 8, 2020 containing a se- - curity fix and some bug fixes. + The blind option can be set (prior to game start) to attempt to + play the entire game without being able to see (a self-imposed chal- + lenge which is very difficult to accomplish). - NetHack 3.6.7 was released on February 16, 2023 containing a - security fix and some bug fixes. + The command to use a tool is `a' (apply). - The official NetHack web site is maintained by Ken Lorber at - https://www.nethack.org/. + 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 carrying 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' com- + mand, or by using a weapon to force the lock with the "#force" ex- + tended 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 beneficial, some + harmful, which are activated by putting them on. + NetHack 3.7.0 November 6, 2023 - NetHack 3.7.0 November 6, 2023 + NetHack Guidebook 50 - NetHack Guidebook 112 + Only one amulet may be worn at a time, around your neck. Like + wearing rings, wearing an amulet affects your metabolism, causing you + to grow hungry more rapidly. - 12.1. Special Thanks + The commands to use amulets are the same as for rings, `P' (put + on) and `R' (remove). `A' can be used to remove various worn items + including amulets. Also, `W' (wear) and `T' (take off) which are nor- + mally for armor can be used for amulets and other accessories (rings + and eyewear), but accessories won't be shown as likely candidates in a + prompt for choosing what to wear or take off. - On behalf of the NetHack community, thank you very much once - again to M. Drew Streib and Pasi Kallinen for providing a public - NetHack server at nethack.alt.org. Thanks to Keith Simpson and - Andy Thomson for hardfought.org. Thanks to all those unnamed dun- - geoneers who invest their time and effort into annual NetHack - tournaments such as Junethack, The November NetHack Tournament, - and in days past, devnull.net (gone for now, but not forgotten). + 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 projectile weapons + (if you have a sling). In the most desperate of cases, you can still + throw them by hand. - 12.2. Dungeoneers + 7.13. Large rocks (``') - From time to time, some depraved individual out there in - netland sends a particularly intriguing modification to help out - with the game. The NetHack Development Team sometimes makes note - of the names of the worst of these miscreants in this, the list - of Dungeoneers: + Statues and boulders are not particularly useful, and are gener- + ally heavy. It is rumored that some statues are not what they seem. - 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 - Andy Thomson John Kallen Patric Mueller - Ari Huttunen John Rupley Paul Winner - Bart House John S. Bien Pierre Martineau - Benson I. Margulies Johnny Lee Ralf Brown - Bill Dyer Jon W{tte Ray Chason - Boudewijn Waijers Jonathan Handler Richard Addison - Bruce Cox Joshua Delahunty Richard Beigel - Bruce Holloway Karl Garrison Richard P. Hughey - Bruce Mewborne Keizo Yamamoto Rob Menke - Carl Schelin Keith Simpson Robin Bandy - Chris Russo Ken Arnold Robin Johnson - David Cohrs Ken Arromdee Roderick Schertler - David Damerell Ken Lorber Roland McGrath - David Gentzel Ken Washikita Ron Van Iwaarden - David Hairston Kevin Darcy Ronnen Miller - Dean Luick Kevin Hugo Ross Brown - Del Lamb Kevin Sitze Sascha Wostmann - Derek S. Ray Kevin Smolkowski Scott Bigham - Deron Meranda Kevin Sweet Scott R. Turner - Dion Nicolaas Lars Huttar Sean Hunt - Dylan O'Donnell Leon Arnott Stephen Spackman - Eric Backus M. Drew Streib Stefan Thielscher - Eric Hendrickson Malcolm Ryan Stephen White - Eric R. Smith Mark Gooderum Steve Creps - Eric S. Raymond Mark Modrall Steve Linhart - Erik Andersen Marvin Bressler Steve VanDevender - Fredrik Ljungdahl Matthew Day Teemu Suikki + Boulders occasionally block your path. You can push one forward + (by attempting to walk onto its spot) when nothing blocks its path, or + you can smash it into a pile of small rocks with breaking magic or a + pick-axe. It is possible to move onto a boulder's location if certain + conditions are met; ordinarily one of those conditions is that pushing + it any further be blocked. Using the move-without-picking-up prefix + (default key `m') prior to the direction of movement will attempt to + move to a boulder's location without pushing it in addition to the + prefix's usual action of suppressing auto-pickup at the destination. + Very large humanoids (giants and their ilk) have been known to + pick up boulders and use them as missile weapons. + Unlike boulders, statues can't be pushed, but don't need to be + because they don't block movement. They can be smashed into rocks + though. - NetHack 3.7.0 November 6, 2023 + 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). - NetHack Guidebook 113 + NetHack 3.7.0 November 6, 2023 - Frederick Roeber Merlyn LeRoy Tim Lennan - Gil Neiger Michael Allison Timo Hakulinen - Greg Laskin Michael Feir Tom Almy - Greg Olson Michael Hamel Tom West - Gregg Wonderly Michael Sokolov Warren Cheung - Hao-yang Wang Mike Engber Warwick Allison - Helge Hafting Mike Gallop Yitzhak Sapir - Irina Rempt-Drijfhout Mike Passaretti - Izchak Miller Mike Stephenson + NetHack Guidebook 51 - Brand and product names are trademarks or registered trade- - marks of their respective holders. + Gold pieces are the only type of object where bless/curse state + does not apply. They're always uncursed but never described as un- + cursed even if you turn off the implicit_uncursed option. You can set + the goldX option if you prefer to have gold pieces be treated as + bless/curse state unknown rather than as known to be uncursed. Only + matters when you're using an object selection prompt that can filter + by "BUCX" state. + 7.15. Persistence of Objects + Normally, if you have seen an object at a particular map location + and move to another location where you can't directly see that object + any more, it will continue to be displayed on your map. That remains + the case even if it is not actually there any more--perhaps a monster + has picked it up or it has rotted away--until you can see or feel that + location again. One notable exception is that if the object gets cov- + ered by the "remembered, unseen monster" marker. When that marker is + later removed after you've verified that no monster is there, you will + have forgotten that there was any object there regardless of whether + the unseen monster actually took the object. If the object is still + there, then once you see or feel that location again you will re-dis- + cover the object and resume remembering it. + The situation is the same for a pile of objects, except that only + the top item of the pile is displayed. The hilite_pile option can be + enabled in order to show an item differently when it is the top one of + a pile. + 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 chal- + lenges, 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 physiologi- + cal need for water; thus there is no restriction on drinking bever- + ages, even if they provide some minor food benefits. 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 an- + imals. The primary source of nutrition is fruits and vegetables. The + corpses and tins of blobs (`b'), jellies (`j'), and fungi (`F') are + also considered to be vegetable matter. Certain human food is pre- + pared without animal products; namely, lembas wafers, cram rations, + NetHack 3.7.0 November 6, 2023 + NetHack Guidebook 52 + 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 considered vegan food. Note however that + eating such items still counts against foodless conduct. + Vegetarians do not eat animals; however, they are less selective + 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 food- + less 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 poly- + morphed is treated as if you ate the creature's corpse. Eating + leather, dragon hide, or bone items while polymorphed 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 indi- + gestible, and others which are hazardous to eat. Using a swallow-and- + digest attack against a monster is equivalent to eating 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 con- + tain milk, so they are compatible with a vegan diet. Slime molds or + player-defined "fruits", although they could be anything from "cher- + ries" to "pork chops", are also assumed to be vegan. + + An atheist is one who rejects religion. This means that you can- + not #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 conduct; 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 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. + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 53 + + + + An illiterate character does not read or write. This includes + reading a scroll, spellbook, fortune cookie message, or t-shirt; writ- + ing 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 as- + sumed to be learned from your teachers prior to the start of the game + and isn't counted. + + There is a side-branch to the main dungeon called "Sokoban," + briefly described in the earlier section about Traps. As mentioned + there, the goal is to push boulders into pits and/or holes to plug + those in order to both get the boulders out of the way and be able to + go past the traps. There are some special "rules" that are active + when in that branch of the dungeon. Some rules can't be bypassed, + such as being unable to push a boulder diagonally. Other rules can, + such as not smashing boulders with magic or tools, but doing so causes + you to receive a luck penalty. No message about that is given at the + time, but it is tracked as a conduct. The #conduct command and end of + game disclosure will report whether you have abided by the special + rules of Sokoban, and if not, how many times you violated them, pro- + viding you with a way to discover which actions incur bad luck so that + you can be better informed about whether or not to avoid repeating + those actions in the future. (Note: the Sokoban conduct will only be + displayed if you have entered the Sokoban branch of the dungeon during + the current game. Once that has happened, it becomes part of dis- + closed conduct even if you haven't done anything interesting there. + Ending the game with "never broke the Sokoban rules" conduct is most + meaningful if you also manage to perform the "obtained the Sokoban + prize" achievement (see Achievements below).) + + There are several other challenges tracked by the game. It is + possible to eliminate one or more species of monsters by genocide; + 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 decline. 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 consid- + ered 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 chal- + lenge, as is a game without wishing for an artifact (even if the arti- + fact 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. + + 8.1. Achievements + + End of game disclosure will also display various achievements + representing progress toward ultimate ascension, if any have been at- + tained. They aren't directly related to conduct but are grouped with + it because they fall into the same category of "bragging rights" and + NetHack 3.7.0 November 6, 2023 + NetHack Guidebook 54 + to limit the number of questions during disclosure. Listed here + roughly in order of difficulty and not necessarily in the order in + which you might accomplish them. + - Attained rank title . + Shop - Entered a shop. + Temple - Entered a temple. + Mines - Entered the Gnomish Mines. + Town - Entered Mine Town. + Oracle - Consulted the Oracle of Delphi. + Novel - Read a passage from a Discworld Novel. + Sokoban - Entered Sokoban. + Big Room - Entered the Big Room. + Soko-Prize - Explored to the top of Sokoban + and found a special item there. + Mines' End - Explored to the bottom of the Gnomish Mines + and found a special item there. + Medusa - Defeated Medusa. + Tune - Discovered the tune that can be used to open and close + the drawbridge on the Castle level. + Bell - Acquired the Bell of Opening. + Gehennom - Entered Gehennom. + Candle - Acquired the Candelabrum of Invocation. + Book - Acquired the Book of the Dead. + Invocation - Gained access to the bottommost level of Gehennom. + Amulet - Acquired the fabled Amulet of Yendor. + Endgame - Reached the Elemental Planes. + Astral - Reached the Astral Plane level. + Blind - Blind from birth. + Deaf - Deaf from birth. + Nudist - Never wore any armor. + Ascended - Delivered the Amulet to its final destination. + Notes: + Achievements are recorded and subsequently reported in the order + in which they happen during your current game rather than the order + listed here. + There are nine titles for each role, bestowed at experi- + ence levels 1, 3, 6, 10, 14, 18, 22, 26, and 30. The one for experi- + ence level 1 is not recorded as an achievement. Losing enough levels + to revert to lower rank(s) does not discard the corresponding achieve- + ment(s). + There's no guaranteed Novel so the achievement to read one might + not always be attainable (except perhaps by wishing). Similarly, the + Big Room level is not always present. Unlike with the Novel, there's + no way to wish for this opportunity. + The "special items" hidden in Mines' End and Sokoban are not + unique but are considered to be prizes or rewards for exploring those + levels since doing so is not necessary to complete the game. Finding + other instances of the same objects doesn't record the corresponding + NetHack 3.7.0 November 6, 2023 - NetHack 3.7.0 November 6, 2023 + + + NetHack Guidebook 55 + + + + achievement. + + The Medusa achievement is recorded if she dies for any reason, + even if you are not directly responsible, and only if she dies. + + The 5-note tune can be learned via trial and error with a musical + instrument played closely enough--but not too close!--to the Castle + level's drawbridge or can be given to you via prayer boon. + + Blind, Deaf, and Nudist are also conducts, and they can only be + enabled by setting the correspondingly named option in NETHACKOPTIONS + or run-time configuration file prior to game start. In the case of + Blind and Deaf, the option also enforces the conduct. They aren't re- + ally significant accomplishments unless/until you make substantial + progress into the dungeon. + + 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 variable. Some versions of + NetHack also have front-end programs that allow you to set options be- + fore starting the game or a global configuration for system adminis- + trators. + + 9.2. Using a configuration file + + The default name of the configuration file varies on different + operating systems. + + On UNIX, Linux, and macOS 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. + + On Windows, the name is ".nethackrc" located in the folder + "%USERPROFILE%\NetHack\". The file may not exist, but it is a normal + ASCII text file can can be created with any text editor. After run- + ning NetHack for the first time, you should find a default template + for the configuration file named ".nethackrc.template" in + "%USERPROFILE%\NetHack\". If you have not created the configuration + file, NetHack will create one for you using the default template file. + + On MS-DOS, it is "defaults.nh" in the same folder as nethack.exe. + + Any line in the configuration file starting with `#' is treated + as a comment and ignored. Empty lines are ignored. + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 56 + + + + Any line beginning with `[' and ending in `]' is a section marker + (the closing `]' can be followed by whitespace and then an arbitrary + comment beginning with `#'). The text between the square brackets is + the section name. Section markers are only valid after a CHOOSE di- + rective and their names are case insensitive. Lines after a section + marker belong to that section up until another section starts or a + marker without a name is encountered or the file ends. Lines within + sections are ignored unless a CHOOSE directive has selected that sec- + tion. + + You can use different configuration directives in the file, some + of which can be used multiple times. In general, the directives are + written in capital letters, followed by an equals sign, followed by + settings particular to that directive. + + Here is a list of allowed directives: + + OPTIONS + There are two types of options, boolean and compound options. Bool- + ean options toggle a setting on or off, while compound options 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 persistent, and apply only + to new games. You can specify multiple OPTIONS directives, and mul- + tiple options separated by commas in a single OPTIONS directive. + (Comma separated options are processed from right to left.) + + 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 necessary or recommended. + + LEVELDIR + The location that in-progress level files are stored. Defaults to + HACKDIR, must be writable. + + SAVEDIR + The location where saved games are kept. Defaults to HACKDIR, must + be writable. + + BONESDIR + The location that bones files are kept. Defaults to HACKDIR, must be + writable. + + LOCKDIR + The location that file synchronization locks are stored. Defaults to + HACKDIR, must be writable. + + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 57 + + + + TROUBLEDIR + The location that a record of game aborts and self-diagnosed game + problems is kept. Defaults to HACKDIR, must be writable. + + AUTOCOMPLETE + Enable or disable an extended command autocompletion. Autocomple- + tion has no effect for the X11 windowport. You can specify multiple + autocompletions. To enable autocompletion, list the extended com- + mand. 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 "Configuring Au- + topickup Exceptions" section. + + BINDINGS + Change the key bindings of some special keys, menu accelerators, ex- + tended commands, or mouse buttons. You can specify multiple bind- + ings. 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 + [] #end of CHOOSE + OPTIONS=!rest_on_space + + If [] is present, the preceding section is closed and no new section + begins; whatever follows will be common to all sections. Otherwise + the last section extends to the end of the options file. + + MENUCOLOR + Highlight menu lines with different colors. See the "Configuring + Menu Colors" section. + + MSGTYPE + Change the way messages are shown in the top status line. See the + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 58 + + + + "Configuring Message Types" section. + + ROGUESYMBOLS + Custom symbols for for the rogue level's symbol set. See SYMBOLS + below. + + SOUND + Define a sound mapping. See the "Configuring User Sounds" section. + + SOUNDDIR + Define the directory that contains the sound files. See the "Con- + figuring User Sounds" section. + + SYMBOLS + Override one or more symbols in the symbol set used for all dungeon + levels except for the special rogue level. See the "Modifying + NetHack Symbols" section. + + Example: + + # replace small punctuation (tick marks) with digits + SYMBOLS=S_boulder:0,S_golem:7 + + WIZKIT + Debug mode only: extra items to add to initial inventory. Value is + the name of a text file containing a list of item names, one per + line, up to a maximum of 128 lines. Each line is processed by the + function that handles wishing. + + Example: + + WIZKIT=~/wizkit.txt + + + + Here is an example of configuration file contents: + + # Set your character's role, race, gender, and alignment. + OPTIONS=role:Valkyrie, race:Human, gender:female, align:lawful + # + # Turn on autopickup, set automatically picked up object types + OPTIONS=autopickup,pickup_types:$"=/!?+ + # + # Map customization + OPTIONS=color # Display things in color if possible + OPTIONS=lit_corridor # Show lit corridors differently + OPTIONS=hilite_pet,hilite_pile + # Replace small punctuation (tick marks) with digits + SYMBOLS=S_boulder:0,S_golem:7 + # + # No startup splash screen. Windows GUI only. + OPTIONS=!splash_screen + + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 59 + + + + + + 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" 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 terminated by the next comma or the end of + string. + + For example, to set up an environment variable so that color is + on, legacy is off, character name is set to "Blue Meanie", and named + fruit is set to "lime", you would enter the command + + % setenv NETHACKOPTIONS "color,\!leg,name:Blue Meanie,fruit:lime" + + in csh (note the need to escape the `!' since it's special to that + shell), or the pair of commands + + $ NETHACKOPTIONS="color,!leg,name:Blue Meanie,fruit:lime" + $ export NETHACKOPTIONS + + in sh, ksh, or bash. + + The NETHACKOPTIONS value is effectively the same as a single OP- + TIONS directive in a configuration file. The "OPTIONS=" prefix is im- + plied and comma separated options are processed from right to left. + Other types of configuration directives such as BIND or MSGTYPE are + not allowed. + + Instead of a comma-separated list of options, NETHACKOPTIONS can + be set to the full name of a configuration file you want to use. If + that full name doesn't start with a slash, precede it with `@' (at- + sign) to let NetHack know that the rest is intended as a file name. + If it does start with `/', the at-sign is optional. + + 9.4. Customization options + + Here are explanations of what the various options do. Character + 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 configuration 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 capabilities. + Persistent. + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 60 + + + + alignment + Your starting alignment (align:lawful, align:neutral, or + align:chaotic). You may specify just the first letter. Many roles + and the non-human races restrict which alignments are allowed. See + role for a description of how to use negation to exclude choices. + + Default is random. Cannot be set with the `O' command. Persistent. + + autodescribe + Automatically describe the terrain under cursor when asked to get a + location on the map (default true). The whatis_coord option con- + trols 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 closed door attempts to open it (default true). Per- + sistent. + + autopickup + Automatically pick up things onto which you move (default off). + Persistent. + + See pickup_types and also autopickup_exception for ways to refine + the behavior. + + Note: prior to version 3.7.0, the default for autopickup was on. + + autoquiver + This option controls what happens when you attempt the `f' (fire) + command when nothing is quivered or readied (default false). 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. + Persistent. + + autounlock + Controls what action to take when attempting to walk into a locked + door or to loot a locked container. Takes a plus-sign separated + list of values: + + Untrap - prompt about whether to attempt to find a trap; it might + fail to find one even when present; if it does find one, + it will ask whether you want to try to disarm the trap; + if you decline, your character will forget that the door + or box is trapped; + Apply-Key - if carrying a key or other unlocking tool, prompt about + using it; + Kick - kick the door (if you omit untrap or decline to attempt + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 61 + + + + untrap and you omit apply-key or you lack a key or you + decline to use the key; has no effect on containers); + Force - try to force a container's lid with your currently + wielded weapon (if you omit untrap or decline to attempt + untrap and you omit apply-key or you lack a key or you + decline to use the key; has no effect on doors); + None - none of the above; can't be combined with the other + choices. + + Omitting the value is treated as if autounlock:apply-key. Preceding + autounlock with `!' or "no" is treated as autounlock:none. + + Applying a key might set off a trap if the door or container is + trapped. Successfully kicking a door will break it and wake up + nearby monsters. Successfully forcing a container open will break + its lock and might also destroy some of its contents or damage your + weapon or both. + + The default is Apply-Key. Persistent. + + blind + Start the character permanently blind (default false). Persistent. + + bones + Allow saving and loading bones files (default true). Persistent. + + boulder + Set the character used to display boulders (default is the "large + rock" class symbol, ``'). + + catname + Name your starting cat (for example "catname:Morris"). Cannot be + set with the `O' command. + + character + Synonym for "role" to pick the type of your character (for example + "character:Monk"). See role for more details. + + checkpoint + Save game state after each level change, for possible recovery after + program crash (default on). Persistent. + + 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 on). Persistent. + + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 62 + + + + deaf + Start the character permanently deaf (default false). Persistent. + + 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 response of `n' for each + candidate). Persistent. The possibilities 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; also achievements, if any; + 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 listings of vanquished monsters and of genocided types can be + sorted, so there are two additional choices for `v' and `g': + + ? - 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 order + specified by the sortvanquished option. + + Omitted categories are implicitly added with `n' prefix. Specified + 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. + + (for example "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 default 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 dungeon overview + shows all levels you had visited but does not reveal things about + them that you hadn't discovered. + + dogname + Name your starting dog (for example "dogname:Fang"). Cannot be set + with the `O' command. + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 63 + + + + extmenu + Changes the extended commands interface to pop-up a menu of avail- + able commands. It is keystroke compatible with the traditional in- + terface except that it does not require that you hit Enter. It is + implemented for the tty interface (default off). + + For the X11 interface, which always uses a menu for choosing an ex- + tended command, it controls whether the menu shows all available + commands (on) or just the subset of commands which have tradition- + ally been considered extended ones (off). + + female + An obsolete synonym for "gender:female". Cannot be set with the `O' + command. + + fireassist + This option controls what happens when you attempt the `f' (fire) + and don't have an appropriate launcher, such as a bow or a sling, + wielded. If on, you will automatically wield the launcher. Default + is on. + + 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 (for example + "fruit:mango") (default "slime mold"). Basically a nostalgic whimsy + that NetHack uses from time to time. You should set this to some- + thing 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 spec- + ify just the first letter. Although you can still denote your gen- + der using either of the deprecated male and female options, if the + gender option is also present it will take precedence. See role for + a description of how to use negation to exclude choices. + + Default is random. 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 default). Gold is never + blessed or cursed, but it is not described as "uncursed" even when + the implicit_uncursed option is "off". + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 64 + + + + help + If more information is available for an object looked at with the + `/' command, ask if you want to see it (default on). Turning help + off makes just looking at things faster, since you aren't inter- + rupted with the "More info?" prompt, but it also means that you + might miss some interesting and/or important information. Persis- + tent. + + 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. + + With the curses interface, the petattr option controls how to high- + light pets and setting it will turn the hilite_pet option on or off + as warranted. + + hilite_pile + Visually distinguish piles of objects from individual objects (de- + fault off). The behavior of this option depends on the type of win- + dowing 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 avail- + able for TTY and Windows GUI, and only when statushilites is on. + + horsename + Name your starting horse (for example "horsename:Trigger"). Cannot + be set with the `O' command. + + ignintr + Ignore interrupt signals, including breaks (default off). Persis- + tent. + + implicit_uncursed + Omit "uncursed" from object descriptions when it can be deduced from + other aspects of the description (default on). Persistent. + + If you use menu coloring, you may want to turn this off. + + 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 + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 65 + + + + your character as lit (default off). Persistent. + + lootabc + When using a menu to interact with a container, use the old `a', + `b', and `c' keyboard shortcuts 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_decor + Give feedback when walking onto various dungeon features such as + stairs, fountains, or altars which are ordinarily only described + when covered by one or more objects (default off). Cannot be set + with the `O' command. Persistent. + + mention_walls + Give feedback when walking against a wall (default off). Persis- + tent. + + menucolors + Enable coloring menu lines (default off). See "Configuring Menu + Colors" on how to configure the colors. + + menustyle + Controls the method used when you need to choose various objects (in + response to the Drop (aka droptype) command, for instance). The + value specified should be the first letter of one of the following: + traditional, combination, full, or partial. Default is full. Per- + sistent. + + Traditional was the only method available for very 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 objects 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 se- + lection. (Choosing its `A' (Autoselect-All) choice skips the second + menu. To avoid choosing that by accident, set paranoid_confirm:Au- + toAll to require confirmation.) Partial skips the object class fil- + tering and immediately displays a menu of all objects. + + menu_deselect_all + Key to deselect all items in a menu. Default `-'. + + menu_deselect_page + Key to deselect all items on this page of a menu. Default `\'. + + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 66 + + + + menu_first_page + Key to jump to the first page in a menu. Default `^'. + + menu_headings + Controls how the headings in a menu are highlighted. Values are + "none", "bold", "dim", "italic", "underline", "blink", or "inverse". + Not all ports can actually display all types. + + menu_invert_all + Key to invert all items in a menu. Default `@'. + + menu_invert_page + Key to invert all items on this page of a menu. Default `~'. + + menu_last_page + Key to jump to the last page in a menu. Default `|'. + + menu_next_page + Key to go to the next menu page. Default `>'. + + menu_objsyms + Show object symbols in menu headings in menus where the object sym- + bols 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. (default on) + + menu_previous_page + Key to go to the previous menu page. Default `<'. + + menu_search + Key to search for some text and toggle selection state of matching + menu items. Default `:'. + + menu_select_all + Key to select all items in a menu. Default `.'. + + menu_select_page + Key to select all items on this page of a menu. Default `,'. + + menu_shift_left + Key to scroll a menu--one which has been scrolled right--back to the + left. Implemented for perm_invent only by curses and X11. Default + `{'. + + menu_shift_right + Key to scroll a menu which has text beyond the right edge to the + right. Implemented for perm_invent only by curses and X11. Default + `}'. + + monpolycontrol + Prompt for new form whenever any monster changes shape (default + off). Debug mode only. + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 67 + + + + montelecontrol + Prompt for destination whenever any monster gets teleported (default + off). Debug mode only. + + mouse_support + Allow use of the mouse for input and travel. Valid settings are: + + 0 - disabled + 1 - enabled and make OS adjustments to support mouse use + 2 - like 1 but does not make any OS adjustments + + Omitting a value is the same as specifying 1 and negating mouse_sup- + port is the same as specifying 0. + + msghistory + The number of top line messages to keep (and be able to recall with + `^P') (default 20). Cannot be set with the `O' command. + + msg_window + Allows you to change the way recalled messages are displayed. Cur- + rently it is only supported for tty (all four choices) and for + curses (`f' and `r' choices, default `r'). The possible values 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 defaults to "sin- + gle"). + + 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' com- + mand. + + 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: + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 68 + + + + 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 MS-DOS compatibility + -1 - by letters but use `z' to go northwest, `y' to zap wands + + For backward compatibility, omitting a value is the same as specify- + ing 1 and negating number_pad is the same as specifying 0. (Set- + tings 2 and 4 are for compatibility with MS-DOS 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 accommodate some QWERTZ key- + boards 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 con- + taining 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_confirmation:pray + swim". + + Confirm - for any prompts which are set to require "yes" rather + than `y', also require "no" to reject instead of ac- + cepting any non-yes response as no; changes pray and + AutoAll to require "yes" or `no' too; + quit - require "yes" rather than `y' to confirm quitting the + game or switching into non-scoring explore mode; + die - require "yes" rather than `y' to confirm dying (not + useful in normal play; applies to explore mode); + bones - require "yes" rather than `y' to confirm saving bones + data when dying in debug mode; + attack - require "yes" rather than `y' to confirm attacking a + peaceful monster; + wand-break - require "yes" rather than `y' to confirm breaking a + wand with the apply command; + eating - require "yes" rather than `y' to confirm whether to + continue eating; + 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; (to require "yes" + rather than just `y', set Confirm too); + trap - require `y' to confirm an attempt to move into or onto + a known trap, unless doing so is considered to be + harmless; (to require "yes" rather than just `y', set + Confirm too); confirmation can be skipped by using the + `m' movement prefix; + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 69 + + + + swim - prevent walking into water or lava; on by default; (to + deliberately step onto/into such terrain when this is + set, use the `m' movement prefix when adjacent); + AutoAll - require confirmation when the `A' (Autoselect-All) + choice is selected in object class filtering menus for + menustyle:Full; (to require "yes" rather than just + `y', set Confirm too); + Remove - require selection from inventory for `R' and `T' com- + mands even when wearing just one applicable item; + all - turn on all of the above. + + By default, the pray and swim choices are enabled, the others dis- + abled. To disable them without setting any of the other choices, + use paranoid_confirmation:none. To keep them enabled while setting + any of the others, you can include them in the new list, such as + paranoid_confirmation:attack pray swim Remove or you can precede the + first entry in the list with a plus sign, paranoid_confirmation:+at- + tack Remove. To remove an entry that has been previously set with- + out removing others, precede the first entry in the list with a mi- + nus sign, paranoid_confirmation:-swim. To both add some new entries + and remove some old ones, you can use mulitple paranoid_confirmation + option settings, or you can use the `+' form and list entries to be + added by their name and entries to be removed by `!' and name. The + positive (no `!') and negative (with `!') entries can be intermixed. + + perm_invent + If true, always display your current inventory in a window (default + false). + + This only makes sense for windowing system interfaces that implement + this feature. For those that do, the perminv_mode option can be + used to refine what gets displayed for perm_invent. Setting that to + a value other than none while perm_invent is false will change it to + true. + + perminv_mode + Augments the perm_invent option. Value is one of + + none - behave as if perm_invent is false; + all - show all inventory except for gold; + full - show full inventory including gold; + in-use - only show items which are in use (worn, wielded, lit lamp). + + Default is none but if perm_invent gets set to true while it is none + it will be changed to all. + + Note: if gold has been equipped in quiver/ammo-pouch then it will be + included for all despite that mode normally omitting gold. + + petattr + Specifies one or more text highlighting attributes to use when show- + ing pets on the map. Effectively a superset of the hilite_pet bool- + ean option. Curses interface only; value is one or more of the fol- + lowing letters. + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 70 + + + + n - Normal text (no highlighting) + i - Inverse video (default) + b - Bold text + u - Underlined text + k - blinKing text + d - Dim text + t - iTalic text + l - Left line indicator + r - Right line indicator + + Some of those choices might not work, particularly the final three, + depending upon terminal hardware or terminal emulation software. + + Currently multiple highlight-style letters can be combined by simply + stringing them together (for example, "bk"), but in the future they + might require being separated by plus signs (such as "b+k", which + works already). When using the `n' choice, it should be specified + on its own, not in combination with any of the other letters. + + 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 ignored. For example, "horse" will only be hon- + ored when playing 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 over- + Loaded), 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. De- + fault is all types. Persistent. + + The value is a list of object symbols, such as pickup_types:$?! to + pick up gold, scrolls, and potions. You can use autopickup_excep- + tion configuration file lines to further refine autopickup behavior. + + There is no way to set pickup_types to "none". (Setting it to an + empty value reverts to "all".) If you want to avoid automatically + picking up any types of items but do want to have autopickup on in + order to have autopickup_exception settings control what you do and + don't pick up, you can set pickup_types to `.'. That is the type + symbol for venom and you won't come across any venom items so won't + unintentionally pick such up. + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 71 + + + + 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 ex- + plore 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 results 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). Like- + wise for the `a' (apply) command if it causes the applied item to + become wielded. Persistent. + + quick_farsight + When set, usually prevents the "you sense your surroundings" message + where play pauses to allow you to browse the map whenever clairvoy- + ance randomly activates. Some situations, such as being underwater + or engulfed, ignore this option. It does not affect the clairvoy- + ance spell where pausing to examine revealed objects or monsters is + less intrusive. Default is off. Persistent. + + race + Selects your race (for example, race:human). Choices are human, + dwarf, elf, gnome, and orc but most roles restrict which of the non- + human races are allowed. See role for a description of how to use + negation to exclude choices. + + Default is random. Cannot be set with the `O' command. Persistent. + + rest_on_space + Make the space bar a synonym for the `.' (#wait) command (default + off). Persistent. + + role + Pick your type of character (for example, role:Samurai); synonym for + character. See name for an alternate method of specifying your + role. + + This option can also be used to limit selection when role is chosen + randomly. Use a space-separated list of roles and either negate + each one or negate the option itself instead. Negation is accom- + plished in the same manner as with boolean options, by prefixing the + option or its value(s) with `!' or "no". + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 72 + + + + Examples: + + OPTIONS=role:!arc !bar !kni + OPTIONS=!role:arc bar kni + + There can be multiple instances of the role option if they're all + negations. + + Default is random. 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 en- + gaged in multi-turn movement (running via shift+direction or con- + trol+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 actual + 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. Per- + sistent. + + safe_pet + Prevent you from (knowingly) attacking your pets (default on). Per- + sistent. + + safe_wait + Prevents you from waiting or searching when next to a hostile mon- + ster (default on). Persistent. + + sanity_check + Evaluate monsters, objects, and map prior to each turn (default + off). Debug mode only. + + scores + Control what parts of the score list you are shown at the end (for + example "scores:5 top scores/4 around my score/own scores"). Only + the first letter of each category (`t', `a', or `o') is necessary. + Persistent. + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 73 + + + + 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 affects 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. + + sortdiscoveries + Controls the sorting behavior for the output of the `\' and ``' com- + mands. Persistent. + + The possible values are: + + o - list object types by class, in discovery order within each + class; default; + s - list object types by sortloot classification: by class, by sub- + class within class for classes which have substantial groupings + (like helmets, boots, gloves, and so forth for armor), with ob- + ject types partly-discovered via assigned name coming before + fully identified types; + c - list by class, alphabetically within each class; + a - list alphabetically across all classes. + + Can be interactively set via the `O' command or via using the `m' + prefix before the `\' or ``' command. + + 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; default. + + sortpack + Sort the pack contents by type when displaying inventory (default + on). Persistent. + + sortvanquished + Controls the sorting behavior for the output of the #vanquished com- + mand and also for the #genocided command. Persistent. + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 74 + + + + The possible values are: + + t - traditional--order by monster level; ties are broken by internal + monster index; default; + d - order by monster difficulty rating; ties broken by internal in- + dex; + a - order alphabetically, first any unique monsters then all the + others; + c - order by monster class, by low to high level within each class; + n - order by count, high to low; ties are broken by internal monster + index; + z - order by count, low to high; ties broken by internal index. + + Can be interactively set via the `m O' command or via using the `m' + prefix before either the #vanquished command or the #genocided com- + mand. + + sounds + Allow sounds to be emitted from an integrated sound library (default + on). + + sparkle + Display a sparkly effect when a monster (including yourself) is hit + by an attack to which it is resistant (default on). Persistent. + + 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 "Configur- + ing Status Hilites" for further information. + + status_updates + Allow updates to the status lines at the bottom of the screen (de- + fault 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 ver- + sions (for example "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 default 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 explosions + and moving objects, use a timer rather than sending extra characters + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 75 + + + + to the screen. (Applies to "tty" and "curses" interfaces only; + "X11" interface always uses a timer-based delay. The default is on + if configured into the program.) Persistent. + + tips + Show some helpful tips during gameplay (default on). Persistent. + + tombstone + Draw a tombstone graphic upon your death (default on). Persistent. + + toptenwin + Put the ending display in a NetHack window instead of on stdout (de- + fault off). Setting this option makes the score list visible 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 termi- + nal or emulating window. + + travel + Allow the travel command via mouse click (default on). Turning this + option off will prevent the game from attempting unintended moves if + you make inadvertent mouse clicks on the map window. Does not af- + fect traveling via the `_' ("#travel") command. Persistent. + + tutorial + Play a tutorial level at the start of the game. Setting this option + on or off in the config file will skip the query. + + verbose + Provide more commentary during the game (default on). Persistent. + + whatis_coord + When using the `/' or `;' commands to look around on the map with + autodescribe on, display coordinates after the description. 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 overridden + 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 possible + targets. + + + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 76 + + + + 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 "get- + pos.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 + When the program has been built to support multiple interfaces, se- + lect which one to use, such as "tty" or "X11" (default depends on + build-time settings; use "#version" to check). Cannot be set with + the `O' command. + + When used, it should be the first option set since its value might + enable or disable the availability of various other options. For + multiple lines in a configuration file, that would be the first non- + comment line. For a comma-separated list in NETHACKOPTIONS or an + OPTIONS line in a configuration file, that would be the rightmost + option in the list. + + wizweight + Augment object descriptions with their objects' weight (default + off). Debug mode only. + + zerocomp + When writing out a save file, perform zero-comp compression of the + contents. Not all ports support zero-comp compression. It has no ef- + fect 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 configuration 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 supported by the window port that you are + currently using by checking to see if it shows up in the Options list. + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 77 + + + + Some options are dynamic and can be specified during the game with the + `O' command. + + 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 the map using simple characters + (letters and punctuation) rather than tiles graphics. In some + cases, characters can be augmented with line-drawing symbols; use + the symset option to select a symbol set such as DECgraphics or + IBMgraphics if your display supports them. Setting ascii_map to + True forces tiled_map to be False. + + color + If NetHack can, it should display color if it can for different mon- + sters, objects, and dungeon features (default on). + + eight_bit_tty + If NetHack can, it should pass eight-bit character values (for exam- + ple, specified with the traps option) straight through to your ter- + minal (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 mes- + sage window. + + font_status + If NetHack can, it should use a font by the chosen name for the sta- + tus 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 window. + + font_size_menu + If NetHack can, it should use this size font for menu windows. + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 78 + + + + 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. + + guicolor + Use color text and/or highlighting attributes when displaying some + non-map data (such as menu selector letters). Curses interface + only; default is on. + + large_font + If NetHack can, it should use a large font. + + map_mode + If NetHack can, it should display the map in the manner specified. + + 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 example, + in the protected mode MS-DOS version, control whether tiles get pre- + loaded into RAM at the start of the game. Doing so enhances perfor- + mance 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 window. + + 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. + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 79 + + + + splash_screen + If NetHack can, it should display an opening splash screen when it + starts up (default yes). + + statuslines + Number of lines for traditional below-the-map status display. Ac- + ceptable values are 2 and 3 (default is 2). + + When set to 3, the tty interface moves some fields around and mainly + shows status conditions on their own line. A display capable of + showing at least 25 lines is recommended. The value can be toggled + back and forth during the game with the `O' command. + + The curses interface does likewise if the align_status option is set + to top or bottom but ignores statuslines when set to left or right. + + The Qt interface already displays more than 3 lines for status so + uses the statuslines value differently. A value of 3 renders status + in the Qt interface's original format, with the status window spread + out vertically. A value of 2 makes status be slightly condensed, + moving some fields to different lines to eliminate one whole line, + reducing the height needed. (If NetHack has been built using a ver- + sion of Qt older than qt-5.9, statuslines can only be set in the + run-time configuration file or via NETHACKOPTIONS, not during play + with the `O' command.) + + term_cols and + + term_rows + Curses interface only. Number of columns and rows to use for the + display. Curses will attempt to resize to the values specified but + will settle for smaller sizes if they are too big. Default is the + current window size. + + tile_file + Specify the name of an alternative tile file to override the de- + fault. + + Note: the X11 interface uses X resources rather than NetHack's op- + tions to select an alternate tile file. See NetHack.ad, the sample + X "application defaults" file. + + 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 + + tiled_map + If NetHack can, it should display the map using tiles graphics + rather than simple characters (letters and punctuation, possibly + augmented by line-drawing symbols). Setting tiled_map to True + forces ascii_map to be False. + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 80 + + + + 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 specifies + it. + + vary_msgcount + If NetHack can, it should display this number of messages at a time + in the message window. + + windowborders + Whether to draw boxes around the map, status area, message area, and + persistent inventory window if enabled. Curses interface only. Ac- + ceptable values are + + 0 - off, never show borders + 1 - on, always show borders + 2 - auto, on if display is at least (24+2)x(80+2) [default] + 3 - on, except forced off for perm_invent + 4 - auto, except forced off for perm_invent + + (The 26x82 size threshold for `2' refers to number of rows and col- + umns of the display. A width of at least 110 columns (80+2+26+2) is + needed to show borders if align_status is set to left or right.) + + The persistent inventory window, when enabled, can grow until it is + too big to fit on most displays, resulting in truncation of its con- + tents. If borders are forced on (1) or the display is big enough to + show them (2), setting the value to 3 or 4 instead will keep borders + for the map, message, and status windows but have room for two addi- + tional lines of inventory plus widen each inventory line by two col- + umns. + + windowcolors + If NetHack can, it should display windows with the specified fore- + ground/background colors. Windows GUI only. The format is + + OPTION=windowcolors:wintype foreground/background + + where wintype is one of "menu", "message", "status", or "text", + and foreground and background are colors, either a hexadecimal + \'#rrggbb', one of the named colors (black, red, green, brown, blue, + magenta, cyan, orange, brightgreen, yellow, brightblue, brightmagenta, + brightcyan, white, trueblack, gray, purple, silver, maroon, fuchsia, + lime, olive, navy, teal, aqua), or one of Windows UI colors (active- + border, activecaption, appworkspace, background, btnface, btnshadow, + btntext, captiontext, graytext, greytext, highlight, highlighttext, + inactiveborder, inactivecaption, menu, menutext, scrollbar, window, + windowframe, windowtext). + + wraptext + If NetHack can, it should wrap long lines of text if they don't fit + in the visible area of the window. + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 81 + + + + 9.6. Platform-specific Customization options + + Here are explanations of options that are used by specific plat- + forms or ports to customize and change the port behavior. + + altkeyhandling + Select an alternate way to handle keystrokes (Win32 tty NetHack + only). The name of the handling type is one of "default", "ray", + "340". + + altmeta + On 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 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 machines with + an IBM PC compatible BIOS ROM (default off, OS/2, PC, and ST NetHack + only). + + rawio + Force raw (non-cbreak) mode for faster output and more bulletproof + 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. + + subkeyvalue + (Win32 tty NetHack only). May be used to alter the value of key- + strokes that the operating system returns to NetHack to help compen- + sate for international keyboard issues. OPTIONS=subkeyvalue:171/92 + will return 92 to NetHack, if 171 was originally going to be re- + turned. You can use multiple subkeyvalue assignments in the config- + uration file if needed. Cannot be set with the `O' command. + + video + Set the video mode used (PC NetHack only). Values are "autodetect", + "default", "vga", or "vesa". Setting "vesa" will cause the game to + display tiles, using the full capability of the VGA hardware. Set- + ting "vga" will cause the game to display tiles, fixed at 640x480 in + 16 colors, a mode that is compatible with all VGA hardware. Third + party tilesets will probably not work. Setting "autodetect" at- + tempts "vesa", then "vga", and finally sets "default" if neither of + those modes works. Cannot be set with the `O' command. + + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 82 + + + + video_height + Set the VGA mode resolution height (MS-DOS only, with video:vesa) + + video_width + Set the VGA mode resolution width (MS-DOS only, with video:vesa) + + 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 (default + dark normal light, PC NetHack only). If the game display is diffi- + cult 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 expres- + sions. It is possible to compile NetHack without regular expression + support on a platform where there is no regular expression library. + While this is not true of any modern platform, if your NetHack was + built this way, patterns are instead glob patterns. 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 be- + yond 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 au- + topickup something. + + autopickup_exception + Sets an exception to the pickup_types option. The autopickup_excep- + tion 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 occur 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. + + The autopickup_exception rules are processed in the order in which + they appear in your configuration file, thus allowing a later rule + to override an earlier rule. + + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 83 + + + + Exceptions can be set with the `O' command, but because they are not + included in your configuration file, they won't be in effect if you + save and then restore your game. autopickup_exception rules and not + saved with the game. + + 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 exclusion 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"), a + mouse button, 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 configuration file. You cannot bind object symbols or + selection letters into menu accelerators. Some interfaces only sup- + port some of the menu accelerators. + + Mouse buttons + You can bind "mouse1" or "mouse2" to "nothing", "therecmdmenu", + "clicklook", or "mouseaction". + + 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 "con- + text", and if bound to same keys, only one of those commands 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. + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 84 + + + + With number_pad only. Default is `n'. + + getdir.help + When asked for a direction, the key to show the help. Default is + `?'. + + getdir.mouse + When asked for a direction, the key to initiate a simulated mouse + click. You will be asked to pick a location. Use movement key- + strokes to move the cursor around the map, then type the get- + pos.pick.once key (default `,') or the getpos.pick key (default `.') + to finish as if performing a left or right click. Only useful when + using the #therecmdmenu command. Default is `_'. + + getdir.self + When asked for a direction, the key to target yourself. Default is + `.'. + + getdir.self2 + When asked for a direction, an alternate key to target yourself. + Default is `s'. + + getpos.autodescribe + When asked for a location, the key to toggle autodescribe. Default + is `#'. + + getpos.all.next + When asked for a location, the key to go to next closest interesting + thing. Default is `a'. + + getpos.all.prev + When asked for a location, the key to go to previous closest inter- + esting 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 monster. + Default is `m'. + + getpos.mon.prev + When asked for a location, the key to go to previous closest mon- + ster. Default is `M'. + + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 85 + + + + getpos.obj.next + When asked for a location, the key to go to next closest object. + 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 previous + keys to cycle through targets, toggle showing a menu instead. De- + fault 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 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. Toggles be- + tween no filtering, in view only, and in the same area only. De- + fault is `"'. + + getpos.pick + When asked for a location, the key to choose the location, and pos- + sibly ask for more info. When simulating a mouse click after being + asked for a direction (see getdir.mouse above), the key to use to + respond as right click. Default is `.'. + + getpos.pick.once + When asked for a location, the key to choose the location, and skip + asking for more info. When simulating a mouse click after being + asked for a direction, the key to respond as left click. Default is + `,'. + + getpos.pick.quick + When asked for a location, the key to choose the location, skip ask- + ing for more info, and exit the location asking loop. Default 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. Default + is `@'. + + getpos.unexplored.next + When asked for a location, the key to go to next closest unexplored + location. Default is `x'. + + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 86 + + + + getpos.unexplored.prev + When asked for a location, the key to go to previous closest unex- + plored location. Default is `X'. + + getpos.valid + When asked for a location, the key to go to show valid target loca- + tions. Default is `$'. + + getpos.valid.next + When asked for a location, the key to go to next closest valid loca- + tion. Default is `z'. + + getpos.valid.prev + When asked for a location, the key to go to previous closest valid + location. Default is `Z'. + + 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 configuration file entries to describe the mes- + sage types look like this: MSGTYPE=type "pattern" + + type - how the message should be shown; + pattern - the pattern to match. + + The pattern should be a regular expression. + + Allowed types are: + + show - show message normally; + hide - never show the message; + stop - wait for user with more-prompt; + norep - show the message once, but not again if no other message is + shown in between. + + Here's an example of message types using NetHack's internal pattern + matching facility: + + MSGTYPE=stop "You feel hungry." + MSGTYPE=hide "You displaced *." + + specifies that whenever a message "You feel hungry" is shown, the + user is prompted with more-prompt, and a message matching "You dis- + placed ." is not shown at all. + + The order of the defined MSGTYPE lines is important; the last match- + ing 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, + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 87 + + + + curses, win32tty and win32gui interfaces support this. + + In general, the configuration file entries to describe 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 pattern; + attribute - the attribute to use for lines matching the pat- + tern. The attribute is optional, and if left out, + you must also leave out the preceding 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, light-green, yellow, light-blue, light-magenta, light- + cyan, and white. And no-color, the default foreground color, which + isn't necessarily the same as any of the other colors. + + Allowed attributes are none, bold, dim, italic, underline, blink, + and inverse. "Normal" is a synonym for "none". Note that the plat- + form used may interpret the attributes any way it wants. + + Here's an example of menu colors using NetHack's internal pattern + 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 underlined. You can have multi- + ple MENUCOLOR entries in your configuration file, and the last MENU- + COLOR line that matches a menu line will be used for the line. + + Note that if you intend to have one or more color specifications + match " uncursed ", you will probably want to turn the implicit_un- + cursed 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 mes- + sage window. At this time the Qt port and the win32tty and win32gui + ports support the use of user sounds. + + The following configuration file entries are relevant to mapping + user sounds to messages: + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 88 + + + + 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.7.0); + msgtype - optional; message type to use, see "Configuring Mes- + sage Types" + pattern - the pattern to match; + sound file - the sound file to play; + volume - the volume to be set while playing the sound file; + sound index - optional; the index corresponding to a sound file. + + The pattern should be a POSIX extended regular expression. + + For example: + + SOUNDDIR=C:\nethack\sounds + SOUND=MESG "This door is locked" "lock.wav" 100 + SOUND=MESG hide "^You miss the " "swing.wav" 75 + + + + 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 set- + ting 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 configuration file will + cause the hitpoints field to display in the color red if your hit- + points drop to or below a threshold of 30%: + + OPTION=hilite_status:hitpoints/<=30%/red/normal + + (That example is actually specifying red&normal for <=30% and no- + color&normal for >30%.) + + For another example, the following line in your configuration + file will cause wisdom to be displayed red if it drops and green if it + rises: + + OPTION=hilite_status:wisdom/down/red/up/green + + Allowed colors are black, red, green, brown, blue, magenta, cyan, + gray, orange, light-green, yellow, light-blue, light-magenta, light- + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 89 + + + + cyan, and white. And "no-color", the default foreground color on the + display, which is not necessarily the same as black or white or any of + the other colors. + + Allowed attributes are none, bold, dim, underline, blink, and in- + verse. "Normal" is a synonym for "none"; they should not be used in + combination with any of the other attributes. + + To specify both a color and an attribute, use `&' to combine + them. To specify multiple attributes, use `+' to combine those. For + example: "magenta&inverse+dim". + + Note that the display may substitute or ignore particular at- + tributes depending upon its capabilities, and in general may interpret + the attributes any way it wants. For example, on some display systems + a request for bold might yield blink or vice versa. On others, issu- + ing an attribute request while another is already set up will replace + the earlier attribute rather than combine with it. Since NetHack is- + sues attribute requests sequentially (at least with the tty interface) + rather than all at once, the only way a situation like that can be + controlled is to specify just one attribute. + + You can adjust the appearance of the following status fields: + title dungeon-level experience-level + strength gold experience + dexterity hitpoints HD + constitution hitpoints-max time + intelligence power hunger + wisdom power-max carrying-capacity + charisma armor-class condition + alignment score + + 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. "ex- + perience", "time", and "score" are conditionally displayed depending + upon your other option settings. + + Instead of a behavior, "condition" takes the following condition + flags: stone, slime, strngl, foodpois, termill, blind, deaf, stun, + conf, hallu, lev, fly, and ride. You can use "major_troubles" as an + alias for stone through termill, "minor_troubles" for blind through + hallu, "movement" for lev, fly, and ride, and "all" for every condi- + tion. + + Allowed behaviors are "always", "up", "down", "changed", a percent- + age or absolute number threshold, or text to match against. For the + hitpoints field, the additional behavior "criticalhp" is available. + It overrides other behavior rules if hit points are at or below the + major problem threshold (which varies depending upon maximum hit + points and experience level). + + * "always" will set the default attributes for that field. + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 90 + + + + * "up", "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 value + changes. This attribute times out after statushilites turns. + (If a field has both a "changed" rule and an "up" or "down" + rule which matches a change in the field's value, the "up" or + "down" one takes precedence.) + + * percentage sets the field attribute when the field value + matches the percentage. It is specified as a number between 0 + and 100, followed by `%' (percent sign). If the percentage is + prefixed with `<=' or `>=', it also matches when value is below + or above the percentage. Use prefix `<' or `>' to match when + strictly below or above. (The numeric limit is relaxed + slightly for those: >-1% and <101% are allowed.) Only four + fields support percentage rules. Percentages for "hitpoints" + and "power" are straightforward; they're based on the corre- + sponding maximum field. Percentage highlight rules are also + allowed for "experience level" and "experience points" (valid + when the showexp option is enabled). For those, the percentage + is based on the progress from the start of the current experi- + ence level to the start of the next level. So if level 2 + starts at 20 points and level 3 starts at 40 points, having 30 + points is 50% and 35 points is 75%. 100% is unattainable for + experience because you'll gain a level and the calculations + will be reset for that new level, but a rule for =100% is al- + lowed and matches the special case of being exactly 1 experi- + ence point short of the next level. + + * absolute value sets the attribute when the field value matches + that number. The number must be 0 or higher, except for "ar- + mor-class' which allows negative values, and may optionally be + preceded by `='. If the number is preceded by `<=' or `>=' in- + stead, it also matches when value is below or above. If the + prefix is `<' or `>', only match when strictly above or below. + + * criticalhp only applies to the hitpoints field and only when + current hit points are below a threshold (which varies by maxi- + mum hit points and experience level). When the threshold is + met, a criticalhp rule takes precedence over all other hit- + points rules. + + * text match sets the attribute when the field value matches the + text. Text matches can only be used for "alignment", "carry- + ing-capacity", "hunger", "dungeon-level", and "title". For ti- + tle, only the role's rank title is tested; the character's name + is ignored. + + The in-game options menu can help you determine the correct syn- + tax for a configuration file. + + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 91 + + + + The whole feature can be disabled by setting option statushilites + 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 display on + the rogue level. + + You can also override one or more symbols using the SYMBOLS and + ROGUESYMBOLS configuration file options. Symbols are specified as + name:value pairs. Note that NetHack escape-processes the value string + in conventional C fashion. This means that \ is a prefix to take the + following 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 + 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) + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 92 + + + + 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) + > S_brdnladder (branch ladder down) + > S_brdnstair (branch staircase down) + < S_brupladder (branch ladder up) + < S_brupstair (branch staircase up) + 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_expl_tl (explosion top left) + - S_expl_tc (explosion top center) + \ S_expl_tr (explosion top right) + | S_expl_ml (explosion middle left) + S_expl_mc (explosion middle center) + | S_expl_mr (explosion middle right) + \ S_expl_bl (explosion bottom left) + - S_expl_bc (explosion bottom center) + / S_expl_br (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) + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 93 + + + + ' S_golem (golem) + | S_grave (grave) + g S_gremlin (gremlin) + - 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) + } S_lavawall (wall of 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 without 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) + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 94 + + + + / S_rslant (diagonal beam [zap animation]) + ^ 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 (solid rock) + ] 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) + S_unexplored (unexplored terrain) + 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) + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 95 + + + + / 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 extraordinary insect) + X S_xorn (xorn) + Y S_yeti (apelike creature) + Z S_zombie (zombie) + z S_zruty (zruty) + S_pet_override (any pet if ACCESSIBILITY=1 is set) + S_hero_override (hero if ACCESSIBILITY=1 is set) + + Notes: + + * Several symbols in this table appear to be blank. They are the + space character, except for S_pet_override and S_hero_override which + don't have any default value and can only be used if enabled in the + "sysconf" file. + + * S_rock is misleadingly named; rocks and stones use S_gem. Statues + and boulders are the rock being referred to, but since version + 3.6.0, statues are displayed as the monster they depict. So S_rock + is only used for boulders and not used at all if overridden by the + more specific S_boulder. + + 9.15. Customizing Map Glyph Representations Using Unicode + + If your platform or terminal supports the display of UTF-8 char- + acter sequences, you can customize your game display by assigning Uni- + code codepoint values and red-green-blue colors to glyph representa- + tions. The customizations can be specified for use with a symset that + has a UTF8 handler within the symbols file such as the enhanced1 set, + or individually within your nethack.rc file. + + The format for defining a glyph representation is: + + OPTIONS=glyph:glyphid/U+nnnn/R-G-B + + The window port that is active needs to provide support for dis- + playing UTF-8 character sequences and explicit red-green-blue colors + in order for the glyph representation to be visible. For example, the + following line in your configuration file will cause the glyph repre- + sentation for glyphid G_pool to use Unicode codepoint U+224B and the + color represented by R-G-B value 0-0-160: + + OPTIONS=glyph:G_pool/U+224B/0-0-160 + + The list of acceptable glyphid's can be produced by nethack --dumpg- + lyphids. Individual NetHack glyphs can be specified using the G_ pre- + fix, or you can use an S_ symbol for a glyphid and store the custom + representation for all NetHack glyphs that would map to that + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 96 + + + + particular symbol. + + You will need to select a symset with a UTF8 handler to enable + the display of the customizations, such as the Enhanced symset. + + 9.16. 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 even the MS-DOS versions of + NetHack (which use special line-drawing characters by default) com- + pletely 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 capabilities of their screen-readers to be quite valu- + able. 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 character + 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 loca- + tion 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 mes- + sage 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 envi- + ronment variable NETHACK_MSGHANDLER to an executable, which will be + executed with the game message as the program's only parameter. + + The most crucial settings to make the game more accessible are: + + symset:plain + Load a symbol set 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. + + paranoid_confirmation:swim + Prevent walking into water or lava. + + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 97 + + + + autodescribe + Automatically describe the terrain under the cursor when targeting. + + 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 coor- + dinates 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 information can be + seen via the "#attributes" command. + + 9.17. Global Configuration for System Administrators + + If NetHack is compiled with the SYSCF option, a system adminis- + trator 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 di- + rectory as the other NetHack support files. The options recognized in + this file are listed below. Any option not set uses a compiled-in de- + fault (which may not be appropriate for your system). + + WIZARDS = A space-separated list of user names who are allowed to + play in debug mode (commonly referred to as wizard mode). A value + of a single asterisk (*) allows anyone to start a game in debug + mode. + + SHELLERS = A list of users who are allowed to use the shell escape + 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 running + at the same time. + + SAVEFORMAT = A list of up to two save file formats separated by + space. The first format in the list will written as well as read. + The second format will be read only if no save file in the first + format exists. Valid choices are "historical" for binary writing of + entire structs, "lendian" for binary writing of each field in lit- + tle-endian order, "ascii" for writing the save file content in ascii + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 98 + + + + text. + + BONESFORMAT = A list of up to two bones file formats separated by + space. The first format in the list will written as well as read. + The second format will be read only if no bones files in the first + format exist. Valid choices are "historical" for binary writing of + entire structs, "lendian" for binary writing of each field in lit- + tle-endian order, "ascii" for writing the bones file content in + ascii text. + + SUPPORT = A string explaining how to get local support (no default + 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 op- + tion. When disabled, incubi and succubi behave like nymphs. + + CHECK_PLNAME = Setting this to 1 will make the EXPLORERS, WIZARDS, + and SHELLERS check for the player name instead of the user'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 four 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, respec- + tively, to identify unique people for the score file. + + HIDEUSAGE = 0 or 1 to control whether the help menu entry for com- + mand line usage is shown or suppressed. + + MAX_STATUENAME_RANK = Maximum number of score file entries to use + for random statue names (default is 10). + + ACCESSIBILITY = 0 or 1 to disable or enable, respectively, the abil- + ity for players to set S_pet_override and S_hero_override symbols in + their configuration file. + + PORTABLE_DEVICE_PATHS = 0 or 1 Windows OS only, the game will look + for all of its external files, and write to all of its output files + in one place rather than at the standard locations. + + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 99 + + + + DUMPLOGFILE = A filename where the end-of-game dumplog is saved. + Not defining this will prevent dumplog from being created. Only + available if your game is compiled with DUMPLOG. Allows the follow- + ing placeholders: + + %% - literal `%' + %v - version (eg. "3.7.0-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 + + LIVELOG = A bit-mask of types of events that should be written to + the livelog file if one is present. The sample sysconf file accom- + panying the program contains a comment which lists the meaning of + the various bits used. Intended for server systems supporting si- + multaneous play by multiple players (to be clear, each one running a + separate single player game), for displaying their game progress to + observers. Only relevant if the program was built with LIVELOG en- + abled. When available, it should be left commented out on single + player installations because over time the file could grow to be ex- + tremely large unless it is actively maintained. + + CRASHREPORTURL = If set to https://www.nethack.org/common/con- + tact.html and support is compiled in, brings up a browser window + populated with the information needed to report a problem if the + game panics or ends up in an internally inconsistent state. + + 10. Scoring + + NetHack maintains a list of the top scores or scorers on your ma- + chine, depending on how it is set up. In the latter case, each ac- + count 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 (ad- + venturers 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. + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 100 + + + + 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 playmode:explore op- + tion. The other is to issue the "#exploremode" extended command while + already playing the game. Starting a new game in explore mode pro- + vides your character with a wand of wishing 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 and the various "debug mode only" commands + listed among the command descriptions. 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 expected + 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 particular + 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). Attempting to + start a game in debug mode when not allowed or not available will re- + sult 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 document 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 scores 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 Wood- + land, Mike Thome, and Jon Payne. + + Andries Brouwer did a major re-write while at Stichting Mathema- + tisch Centrum (now Centrum Wiskunde & Informatica), transforming Hack + into a very different game. He published the Hack source code for use + on UNIX systems by posting that to Usenet newsgroup net.sources (later + renamed comp.sources) releasing version 1.0 in December of 1984, then + versions 1.0.1, 1.0.2, and finally 1.0.3 in July of 1985. Usenet + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 101 + + + + newsgroup net.games.hack (later renamed rec.games.hack, eventually re- + placed by rec.games.roguelike.nethack) was created for discussing it. + + Don G. Kneller ported Hack 1.0.3 to Microsoft C and MS-DOS, pro- + ducing PC HACK 1.01e, added support for DEC Rainbow graphics in ver- + sion 1.03g, and went on to produce at least four more versions (3.0, + 3.2, 3.51, and 3.6; note that these are old Hack version numbers, not + contemporary NetHack ones). + + 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, in- + corporating many of the added features, and produced NetHack version + 1.4 in 1987. He then coordinated a cast of thousands in enhancing and + debugging NetHack 1.4 and released NetHack versions 2.2 and 2.3. Like + Hack, they were released by posting their source code to Usenet where + they remained available in various archives accessible via ftp and + uucp after expiring from the newsgroup. + + Later, Mike coordinated a major re-write of the game, heading a + team which included Ken Arromdee, Jean-Christophe Collet, Steve Creps, + Eric Hendrickson, Izchak Miller, Eric S. Raymond, John Rupley, Mike + 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 NetHack 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. + + Version 3.0 went through ten relatively rapidly released "patch- + level" revisions. Versions at the time were known as 3.0 for the base + release and variously as "3.0a" through "3.0j", "3.0 patchlevel 1" + through "3.0 patchlevel 10", or "3.0pl1" through "3.0pl10" rather than + 3.0.0 and 3.0.1 through 3.0.10; the three component numbering scheme + began to be used with 3.1.0. + + Headed by Mike Stephenson and coordinated by Izchak Miller and + Janet Walz, the NetHack 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-struc- + tured 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. Version 3.1.0 was released in January of 1993. + + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 102 + + + + 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 Schelin, + 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 Eng- + ber, 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 development, Bart + House added a Think C port. + + Timo Hakulinen ported NetHack 3.1 to OS/2. Eric Smith ported + NetHack 3.1 to the Atari. Pat Rankin, with help from Joshua De- + lahunty, 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. It drew the map as text rather than graphically but included + nh10.bdf, an optionally used custom X11 font which has tiny images in + place of letters and punctuation, a precursor of tiles. Those images + don't extend to individual monster and object types, just replacements + for monster and object classes (so one custom image for all "a" in- + sects and another for all "[" armor and so forth, not separate images + for beetles and ants or for cloaks and boots). + + Warwick Allison wrote a graphically displayed version of NetHack + for the Atari where the tiny pictures were described as "icons" and + were distinct for specific types of monsters and objects rather than + just their classes. He contributed them to the NetHack Development + Team which rechristened them "tiles", original usage which has subse- + quently been picked up by various other games. NetHack's tiles sup- + port was then implemented on other platforms (initially MS-DOS but + eventually Windows, Qt, and X11 too). + + The 3.2 NetHack 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.0 + 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 NetHack Development Team remained on + the team at the start of work on that release. During the interval + between the release of 3.1.3 and 3.2.0, one of the founding members of + the NetHack 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. + + Version 3.2 proved to be more stable than previous versions. + Many bugs were fixed, abuses eliminated, and game features tuned for + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 103 + + + + better game play. + + During the lifespan of NetHack 3.1 and 3.2, several enthusiasts + 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-- when some people incorrectly assumed that it was a + conversion of the C source code to C++. Working independently, + Stephen White wrote NetHack Plus. Tom Proudfoot later merged NetHack + Plus and his own NetHack-- to produce SLASH. Larry Stewart-Zerba and + Warwick Allison improved the spell casting system with the Wizard + Patch. Warwick Allison also ported NetHack to use the Qt interface. + + Warren Cheung combined SLASH with the Wizard Patch to produce + Slash'EM, and with the help of Kevin Hugo, added more features. Kevin + later joined the NetHack Development Team and incorporated the best of + these ideas into 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. Because of the newer version, 3.2.3 was released as a + source code patch only, without any ready-to-play distribution for + systems that usually had such. + + (To anyone considering resurrecting an old version: all versions + before 3.2.3 had a Y2K bug. The high scores file and the log file + contained dates which were formatted using a two-digit year, and + 1999's year 99 was followed by 2000's year 100. That got written out + successfully but it unintentionally introduced an extra column in the + file layout which prevented score entries from being read back in cor- + rectly, interfering with insertion of new high scores and with re- + trieval of old character names to use for random ghost and statue + names in the current game.) + + The 3.3 NetHack 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, re- + leased 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 sep- + arate race and profession. The Elf class was removed in preference 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, Barbarians, 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 list- + ing 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. + + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 104 + + + + The 3.4 NetHack Development Team initially consisted of Michael + Allison, 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 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 platform. + Paul Winner and Yitzhak Sapir provided encouragement. + + Dean Luick, Mark Modrall, and Kevin Hugo maintained and enhanced + 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 interface for the + Windows port. Alex Kompel also contributed a Windows 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 begin- + ning 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 NetHack Development Team slowly and quietly contin- + ued 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, un- + nethack by Patric Mueller, nitrohack and its successors originally by + Daniel Thaler and then by Alex Smith, and Dynahack by Tung Nguyen. + Some of those variants continue to be developed, maintained, and en- + joyed by the community to this day. + + In September 2014, an interim snapshot of the code under develop- + ment 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 version numbers present + on that code snapshot would be retired and never used in an official + NetHack release. An announcement was posted on the NetHack Develop- + ment Team's official nethack.org website to that effect, stating that + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 105 + + + + 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 re- + leased as 3.6.0, the NetHack Development Team consisted of Warwick Al- + lison, Michael Allison, Ken Arromdee, David Cohrs, Jessie Collet, 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 Develop- + ment Team. + + Near the end of the development of 3.6.0, one of the significant + 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 restruc- + tured. + + The NetHack Development Team, as well as Steve VanDevender and + Kevin Smolkowski, ensured that NetHack 3.6 continued to operate on + various UNIX flavors and maintained the X11 interface. + + Ken Lorber, Haoyang Wang, Pat Rankin, and Dean Luick maintained + the port of NetHack 3.6 for MacOS. + + Michael Allison, David Cohrs, Bart House, Pasi Kallinen, Alex + Kompel, Dion Nicolaas, Derek S. Ray and Yitzhak Sapir maintained the + port of NetHack 3.6 for Microsoft Windows. + + Pat Rankin attempted to keep the VMS port running for NetHack + 3.6, 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 MS-DOS port for 3.6 and contributed + the necessary updates to the community at large. + + In late April 2018, several hundred bug fixes for 3.6.0 and some + new features were assembled and released as NetHack 3.6.1. The + NetHack Development Team at the time of release of 3.6.1 consisted of + Warwick Allison, Michael Allison, Ken Arromdee, David Cohrs, Jessie + Collet, Pasi Kallinen, Ken Lorber, Dean Luick, Patric Mueller, Pat + Rankin, Derek S. Ray, Alex Smith, Mike Stephenson, Janet Walz, and + Paul Winner. + + In early May 2019, another 320 bug fixes along with some enhance- + ments and the adopted curses window port, were released as 3.6.2. + + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 106 + + + + Bart House, who had contributed to the game as a porting team + participant for decades, joined the NetHack Development Team in late + May 2019. + + NetHack 3.6.3 was released on December 5, 2019 containing over + 190 bug fixes to NetHack 3.6.2. + + NetHack 3.6.4 was released on December 18, 2019 containing a se- + curity fix and a few bug fixes. + + NetHack 3.6.5 was released on January 27, 2020 containing some + security fixes and a small number of bug fixes. + + NetHack 3.6.6 was released on March 8, 2020 containing a security + fix and some bug fixes. + + NetHack 3.6.7 was released on February 16, 2023 containing a se- + curity fix and some bug fixes. + + The official NetHack web site is maintained by Ken Lorber at + https://www.nethack.org/. + + + 12.1. Special Thanks + + On behalf of the NetHack community, thank you very much once + again to M. Drew Streib and Pasi Kallinen for providing a public + NetHack server at nethack.alt.org. Thanks to Keith Simpson and Andy + Thomson for hardfought.org. Thanks to all those unnamed dungeoneers + who invest their time and effort into annual NetHack tournaments such + as Junethack, The November NetHack Tournament, and in days past, de- + vnull.net (gone for now, but not forgotten). + + + 12.2. Dungeoneers + + From time to time, some depraved individual out there in netland + sends a particularly intriguing modification to help out with the + game. The NetHack Development Team sometimes makes 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 + Andy Thomson John Kallen Patric Mueller + Ari Huttunen John Rupley Paul Winner + Bart House John S. Bien Pierre Martineau + Benson I. Margulies Johnny Lee Ralf Brown + Bill Dyer Jon W{tte Ray Chason + Boudewijn Waijers Jonathan Handler Richard Addison + + + + NetHack 3.7.0 November 6, 2023 + + + + + + NetHack Guidebook 107 + + + + Bruce Cox Joshua Delahunty Richard Beigel + Bruce Holloway Karl Garrison Richard P. Hughey + Bruce Mewborne Keizo Yamamoto Rob Menke + Carl Schelin Keith Simpson Robin Bandy + Chris Russo Ken Arnold Robin Johnson + David Cohrs Ken Arromdee Roderick Schertler + David Damerell Ken Lorber Roland McGrath + David Gentzel Ken Washikita Ron Van Iwaarden + David Hairston Kevin Darcy Ronnen Miller + Dean Luick Kevin Hugo Ross Brown + Del Lamb Kevin Sitze Sascha Wostmann + Derek S. Ray Kevin Smolkowski Scott Bigham + Deron Meranda Kevin Sweet Scott R. Turner + Dion Nicolaas Lars Huttar Sean Hunt + Dylan O'Donnell Leon Arnott Stephen Spackman + Eric Backus M. Drew Streib Stefan Thielscher + Eric Hendrickson Malcolm Ryan Stephen White + Eric R. Smith Mark Gooderum Steve Creps + Eric S. Raymond Mark Modrall Steve Linhart + Erik Andersen Marvin Bressler Steve VanDevender + Fredrik Ljungdahl Matthew Day Teemu Suikki + Frederick Roeber Merlyn LeRoy Tim Lennan + Gil Neiger Michael Allison Timo Hakulinen + Greg Laskin Michael Feir Tom Almy + Greg Olson Michael Hamel Tom West + Gregg Wonderly Michael Sokolov Warren Cheung + Hao-yang Wang Mike Engber Warwick Allison + Helge Hafting Mike Gallop Yitzhak Sapir + Irina Rempt-Drijfhout Mike Passaretti + Izchak Miller Mike Stephenson + + + + Brand and product names are trademarks or registered trademarks + of their respective holders. + + + + + + + + + + + + + + + + + + + + + + NetHack 3.7.0 November 6, 2023