Original version - Eric S. Raymond
(Edited and expanded for 3.7 by Mike Stephenson and others)
- September 17, 2021
+ October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
you have seen on the current dungeon level; as you explore more
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
you have available for spell casting. Again, resting will
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
scribe things that are impossible to represent visually. If you
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
it out); this is often useful to give yourself a breather.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
to hold the saved data is deleted. In explore mode, once
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
(R)UNIX is a registered trademark of The Open Group.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
`>', `|' by default). Some interfaces also support
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
that situation, moving (no count given) a compatible stack
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
Go down a staircase. Default key is `>'.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
The `m' prefix forces use of a menu.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
key is `C-_'. See also #travel.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
objects and monsters temporarily removed, making it possible
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
Show vision array. Autocompletes. Debug mode only.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
combination meta+shift+letter is needed.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
the door's lock. Alternatively, you can break a closed door
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
teleporters send you to a random dungeon level, the destination
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
activated and stored in a file on disk. If you're moving to a
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
rying any. The "Ix" command shows an inventory-like display of
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
when walking on "furniture." Normally stepping onto stairs or a
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
Beware! You may suddenly come upon one in a dark place. Some
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
Initially, your pet may even be better at killing things than
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
sense--perhaps it is invisible and has just tapped you on the
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
the "#name" command, for the same purpose at any time, to name
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
(killing them first). Without a weapon, you do only 1-2 hit
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
"#enhance" (see below).
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
spot.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
ondary is just an item in your inventory that's been designated
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
eventually negative) but can also be enchanted. Shirts are an
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
mana points from an otherwise spent wand, destroying it in the
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
you can end up wasting both the energy and the time required in
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
challenge which is very difficult to accomplish).
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
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. 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
+ 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
+ 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
+ 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
+ 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
+ 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,
+ 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-discov-
er 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 op-
- tion can be enabled in order to show an item differently when it
- is the top one of a pile.
-
-
-
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ (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
+ 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
+ corpse. Eating leather, dragon hide, or bone items while poly-
+ morphed into a creature that can digest it, or eating monster
brains while polymorphed into a mind flayer, is considered eating
- an animal, although wax is only an animal byproduct.
- Regardless of conduct, there will be some items which are
- indigestible, and others which are hazardous to eat. Using a
- swallow-and-digest attack against a monster is equivalent to
-
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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-
+ 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
+ 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-
+ 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
+ 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 diago-
- nally. 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,
+ 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 September 17, 2021
+ NetHack 3.7 October 11, 2021
- and if not, how many times you violated them, providing 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 ac-
- tions 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 anything interest-
- ing there. Ending the game with "never broke the Sokoban rules"
- conduct is most meaningful if you also manage to perform the "ob-
- tained the Sokoban prize" achievement (see Achievements below).)
+ diagonally. Other rules can, such as not smashing boulders with
+ magic or tools, but doing so causes you to receive a luck penal-
+ ty. 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-
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.
- Bell - Acquired the Bell of Opening.
- Gehennom - Entered Gehennom.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ 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.
+ 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.
Due to variations in personal tastes and conceptions of how
NetHack should do things, there are options you can set to change
- how NetHack behaves.
- 9.1. Setting the options
- Options may be set in a number of ways. Within the game,
- the `O' command allows you to view all options and change most of
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 55
- NetHack Guidebook 55
+ 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
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
- NetHack 3.7 September 17, 2021
+
+ NetHack 3.7 October 11, 2021
+ 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.)
AUTOCOMPLETE=zap,!annotate
- AUTOPICKUP_EXCEPTION
- Set exceptions to the pickup_types option. See the "Configur-
- ing Autopickup Exceptions" section.
- BINDINGS
- Change the key bindings of some special keys, menu accelera-
- tors, or extended commands. You can specify multiple bindings.
- Format is key followed by the command, separated by a colon.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ AUTOPICKUP_EXCEPTION
+ Set exceptions to the pickup_types option. See the "Configur-
+ ing Autopickup Exceptions" section.
+
+ BINDINGS
+ Change the key bindings of some special keys, menu accelera-
+ tors, or extended commands. You can specify multiple bindings.
+ Format is key followed by the command, separated by a colon.
See the "Changing Key Bindings" section for more information.
Example:
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:
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 58
- NetHack Guidebook 58
+ 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
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
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ 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
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.
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 60
- NetHack Guidebook 60
+ 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).
checkpoint
Save game state after each level change, for possible recovery
- after program crash (default on). Persistent.
- clicklook
- Allows looking at things on the screen by navigating the mouse
- over them and clicking the right mouse button (default off).
- cmdassist
- Have the game provide some additional command assistance for
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 61
- NetHack Guidebook 61
+ after program crash (default on). Persistent.
+ clicklook
+ Allows looking at things on the screen by navigating the mouse
+ over them and clicking the right mouse button (default off).
+ cmdassist
+ Have the game provide some additional command assistance for
new players if it detects some anticipated mistakes (default
on).
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, genocid-
- ed to not disclose and not prompt, conduct to implicitly prompt
- and default to no, and overview to disclose without prompting.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ 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, genocid-
+ ed 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 dun-
geon overview shows all levels you had visited but does not re-
whimsy that NetHack uses from time to time. You should set
this to something you find more appetizing than slime mold.
Apples, oranges, pears, bananas, and melons already exist in
- NetHack, so don't use those.
-
- gender
- Your starting gender (gender:male or gender:female). You may
- specify just the first letter. Although you can still denote
- your gender using the "male" and "female" options, the "gender"
- option will take precedence. The default is to randomly pick
- an appropriate gender. If you prefix the value with `!' or
- "no", you will exclude that gender from being picked randomly.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ NetHack, so don't use those.
+
+ gender
+ Your starting gender (gender:male or gender:female). You may
+ specify just the first letter. Although you can still denote
+ your gender using the "male" and "female" options, the "gender"
+ option will take precedence. The default is to randomly pick
+ an appropriate gender. If you prefix the value with `!' or
+ "no", you will exclude that gender from being picked randomly.
Cannot be set with the `O' command. Persistent.
goldX
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). Per-
- sistent.
+ NetHack 3.7 October 11, 2021
+
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 64
- NetHack Guidebook 64
+ 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). Per-
+ sistent.
implicit_uncursed
Omit "uncursed" from object descriptions when it can be deduced
menustyle
Controls the interface used when you need to choose various ob-
jects (in response to the Drop command, for instance). The
- value specified should be the first letter of one of the fol-
- lowing: traditional, combination, full, or partial. Persis-
- tent.
-
- Traditional was the only interface 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.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ value specified should be the first letter of one of the fol-
+ lowing: traditional, combination, full, or partial. Persis-
+ tent.
+
+ Traditional was the only interface 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 selection.
Partial skips the object class filtering and immediately dis-
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 `,'.
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 66
- NetHack Guidebook 66
+ 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
(which defaults to "full"), or it can be negated (which
defaults to "single").
- name
- Set your character's name (defaults to your user name). You
- can also set your character's role by appending a dash and one
- or more letters of the role (that is, by suffixing one of -A -B
- -C -H -K -M -P -Ra -Ro -S -T -V -W). If -@ is used for the
- role, then a random one will be automatically chosen. Cannot
- be set with the `O' command.
-
- news
- Read the NetHack news file, if present (default on). Since the
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ name
+ Set your character's name (defaults to your user name). You
+ can also set your character's role by appending a dash and one
+ or more letters of the role (that is, by suffixing one of -A -B
+ -C -H -K -M -P -Ra -Ro -S -T -V -W). If -@ is used for the
+ role, then a random one will be automatically chosen. Cannot
+ be set with the `O' command.
+
+ news
+ Read the NetHack news file, if present (default on). Since the
news is shown at the beginning of the game, there's no point in
setting this with the `O' command.
tion:pray.
Confirm - for any prompts which are set to require "yes"
- rather than `y', also require "no" to reject in-
- stead of accepting any non-yes response as no
- quit - require "yes" rather than `y' to confirm quitting
- the game or switching into non-scoring explore
- mode;
- die - require "yes" rather than `y' to confirm dying
- (not useful in normal play; applies to explore
- mode);
- bones - require "yes" rather than `y' to confirm saving
- bones data when dying in debug mode;
- attack - require "yes" rather than `y' to confirm
+ rather than `y', also require "no" to reject
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
- attacking a peaceful monster;
+ instead of accepting any non-yes response as no
+ quit - require "yes" rather than `y' to confirm quitting
+ the game or switching into non-scoring explore
+ mode;
+ die - require "yes" rather than `y' to confirm dying
+ (not useful in normal play; applies to explore
+ mode);
+ bones - require "yes" rather than `y' to confirm saving
+ bones data when dying in debug mode;
+ attack - require "yes" rather than `y' to confirm attack-
+ ing a peaceful monster;
wand-break - require "yes" rather than `y' to confirm breaking
a wand;
eating - require "yes" rather than `y' to confirm whether
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 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 69
- NetHack Guidebook 69
-
+ 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
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 September 17, 2021
+ NetHack 3.7 October 11, 2021
- results in explore mode instead. Default is normal play.
+ playmode
+ Values are "normal", "explore", or "debug". Allows selection
+ of explore mode (also known as discovery mode) or debug mode
+ (also known as wizard mode) instead of normal play. Debug mode
+ might only be allowed for someone logged in under a particular
+ user name (on multi-user systems) or specifying a particular
+ character name (on single-user systems) or it might be disabled
+ entirely. Requesting it when not allowed or not possible re-
+ sults in explore mode instead. Default is normal play.
pushweapon
Using the `w' (wield) command when already wielding something
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;
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ 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.
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
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 72
- NetHack Guidebook 72
+ 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;
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
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ 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
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 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 74
- NetHack Guidebook 74
+ and "/O" sub-commands of `/', where the "none" setting is over-
+ ridden with "map".
+ whatis_filter
+ When getting a location on the map, and using the keys to cycle
+ through next and previous targets, allows filtering the possi-
+ ble targets.
n - no filtering [default]
v - in view only
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 September 17, 2021
+
+
+ NetHack 3.7 October 11, 2021
+ 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
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'
command.
font_status
If NetHack can, it should use a font by the chosen name for the
- status window.
-
- font_text
- If NetHack can, it should use a font by the chosen name for
- text windows.
- font_size_map
- If NetHack can, it should use this size font for the map win-
- dow.
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 76
- NetHack Guidebook 76
+ status window.
+ font_text
+ If NetHack can, it should use a font by the chosen name for
+ text windows.
+ font_size_map
+ If NetHack can, it should use this size font for the map win-
+ dow.
font_size_menu
If NetHack can, it should use this size font for menu windows.
so enhances performance of the tile graphics, but uses more
memory. (default on). Cannot be set with the `O' command.
- scroll_amount
- If NetHack can, it should scroll the display by this number of
- cells when the hero reaches the scroll_margin.
-
- scroll_margin
- If NetHack can, it should scroll the display when the hero or
- cursor is this number of cells away from the edge of the win-
- dow.
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 77
- NetHack Guidebook 77
+ scroll_amount
+ If NetHack can, it should scroll the display by this number of
+ cells when the hero reaches the scroll_margin.
+ scroll_margin
+ If NetHack can, it should scroll the display when the hero or
+ cursor is this number of cells away from the edge of the win-
+ dow.
selectsaved
If NetHack can, it should display a menu of existing saved
Specify the name of an alternative tile file to override the
default.
- tile_height
- Specify the preferred height of each tile in a tile capable
- port.
-
- tile_width
- Specify the preferred width of each tile in a tile capable port
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
-
+ NetHack Guidebook 78
- NetHack Guidebook 78
+ 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
OPTION=windowcolors:wintype foreground/background
- 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,
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ 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-
flush
(default off, Amiga NetHack only).
- MACgraphics
- (default on, Mac NetHack only).
-
- page_wait
- (default on, Mac NetHack only).
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 80
- NetHack Guidebook 80
+ MACgraphics
+ (default on, Mac NetHack only).
+ page_wait
+ (default on, Mac NetHack only).
rawio
Force raw (non-cbreak) mode for faster output and more bullet-
fault dark normal light, PC NetHack only). If the game display
is difficult to read, try adjusting these scales; if this does
not correct the problem, try !color. Cannot be set with the
- `O' command.
- 9.7. Regular Expressions
- Regular expressions are normally POSIX extended regular ex-
- pressions. It is possible to compile NetHack without regular
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 81
- NetHack Guidebook 81
+ `O' command.
+ 9.7. Regular Expressions
- expression support on a platform where there is no regular ex-
- pression 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.
+ Regular expressions are normally POSIX extended regular ex-
+ pressions. It is possible to compile NetHack without regular ex-
+ pression support on a platform where there is no regular expres-
+ sion library. While this is not true of any modern platform, if
+ your NetHack was built this way, patterns are instead glob pat-
+ terns. This applies to Autopickup exceptions, Message types, Menu
+ colors, and User sounds.
9.8. Configuring Autopickup Exceptions
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"),
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ 9.9. Changing Key Bindings
+
+ It is possible to change the default key bindings of some
+ special commands, menu accelerator keys, and extended commands,
+ by using BIND stanzas in the configuration file. Format is key,
+ followed by the command to bind to, separated by a colon. The
+ key can be a single character ("x"), a control key ("^X", "C-x"),
a meta key ("M-x"), or a three-digit decimal ASCII code.
For example:
When asked for a direction, the key to target yourself. De-
fault is `.'.
- getdir.self2
- When asked for a direction, the key to target yourself. De-
- fault is `s'.
-
- getpos.autodescribe
- When asked for a location, the key to toggle autodescribe. De-
- fault is `#'.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ getdir.self2
+ When asked for a direction, the key to target yourself. De-
+ fault is `s'.
+
+ getpos.autodescribe
+ When asked for a location, the key to toggle autodescribe. De-
+ fault is `#'.
+
getpos.all.next
When asked for a location, the key to go to next closest inter-
esting thing. Default is `a'.
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 `"'.
-
- getpos.pick
- When asked for a location, the key to choose the location, and
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ 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 `"'.
+
+ getpos.pick
+ When asked for a location, the key to choose the location, and
possibly ask for more info. Default is `.'.
getpos.pick.once
redraw
Key to redraw the screen. Default is `^R'.
- redraw.numpad
- Key to redraw the screen. With number_pad only. Default is
- `^L'.
-
- repeat
- Key to repeat previous command. Default is `^A'.
- reqmenu
- Prefix key to request menu from some commands. Default is `m'.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ redraw.numpad
+ Key to redraw the screen. With number_pad only. Default is
+ `^L'.
+
+ repeat
+ Key to repeat previous command. Default is `^A'.
+
+ reqmenu
+ Prefix key to request menu from some commands. Default is `m'.
+
run
Prefix key to run towards a direction. Default is `G'.
norep - show the message once, but not again if no other mes-
sage is shown in between.
- Here's an example of message types using NetHack's internal
- pattern matching facility:
- MSGTYPE=stop "You feel hungry."
- MSGTYPE=hide "You displaced *."
- specifies that whenever a message "You feel hungry" is shown,
- the user is prompted with more-prompt, and a message matching
- "You displaced <something>." is not shown at all.
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 86
- NetHack Guidebook 86
+ Here's an example of message types using NetHack's internal
+ pattern matching facility:
+ MSGTYPE=stop "You feel hungry."
+ MSGTYPE=hide "You displaced *."
+ specifies that whenever a message "You feel hungry" is shown,
+ the user is prompted with more-prompt, and a message matching
+ "You displaced <something>." is not shown at all.
The order of the defined MSGTYPE lines is important; the last
matching rule is used. Put the general case first, exceptions
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.
-
- 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
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ 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.
+
+ Note that if you intend to have one or more color specifica-
+ tions match " uncursed ", you will probably want to turn the im-
+ plicit_uncursed option off so that all items known to be uncursed
are actually displayed with the "uncursed" description.
9.12. Configuring User Sounds
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%.)
+ NetHack 3.7 October 11, 2021
- 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 3.7 September 17, 2021
+ NetHack Guidebook 88
- NetHack Guidebook 88
+ 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:
OPTION=hilite_status:wisdom/down/red/up/green
polymorphed. "experience", "time", and "score" are condition-
ally displayed depending upon your other option settings.
- Instead of a behavior, "condition" takes the following condi-
- tion flags: stone, slime, strngl, foodpois, termill, blind,
- deaf, stun, conf, hallu, lev, fly, and ride. You can use "ma-
- jor_troubles" as an alias for stone through termill, "mi-
- nor_troubles" for blind through hallu, "movement" for lev, fly,
- and ride, and "all" for every condition.
-
- Allowed behaviors are "always", "up", "down", "changed", a per-
- centage or absolute number threshold, or text to match against.
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 89
- NetHack Guidebook 89
+ 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.
* "always" will set the default attributes for that field.
is below or above. If the prefix is `<' or `>', only
match when strictly above or below.
- * 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.
- The in-game options menu can help you determine the correct
- syntax for a configuration file.
-
- The whole feature can be disabled by setting option sta-
- tushilites to 0.
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ * 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.
+
+ The in-game options menu can help you determine the correct
+ syntax for a configuration file.
+
+ The whole feature can be disabled by setting option sta-
+ tushilites to 0.
+
Example hilites:
OPTION=hilite_status: gold/up/yellow/down/brown
-----------------------------------------------------------------
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 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ " S_amulet (amulet)
+ A S_angel (angelic being)
+ a S_ant (ant or other insect)
+ ^ S_anti_magic_trap (anti-magic field)
+ [ S_armor (suit or piece of armor)
+ [ S_armour (suit or piece of armor)
+ ^ S_arrow_trap (arrow trap)
+ 0 S_ball (iron ball)
+ # S_bars (iron bars)
+ B S_bat (bat or bird)
+ ^ S_bear_trap (bear trap)
+ - S_blcorn (bottom left corner)
b S_blob (blob)
+ S_book (spellbook)
) S_boomleft (boomerang open left)
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 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ % 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)
+ S_hcdoor (closed door in horizontal wall)
. S_hodbridge (horizontal lowered drawbridge)
| S_hodoor (open door in horizontal wall)
! 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)
- ^ S_sleeping_gas_trap (sleeping gas trap)
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ 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)
+ ^ S_sleeping_gas_trap (sleeping gas trap)
S S_snake (snake)
s S_spider (arachnid or centipede)
^ S_spiked_pit (spiked pit)
| 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)
- ~ S_worm_tail (long worm tail)
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021
+ . 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)
+ ~ S_worm_tail (long worm tail)
W S_wraith (wraith)
x S_xan (xan or other extraordinary insect)
X S_xorn (xorn)
These co-ordinates are often useful in giving players a better
sense of the overall location of items on the screen.
+
+
+ NetHack 3.7 October 11, 2021
+
+
+
+
+
+ NetHack Guidebook 95
+
+
+
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
While it is not difficult for experienced users to edit the
defaults.nh file to accomplish this, novices may find this task
-
-
- NetHack 3.7 September 17, 2021
-
-
-
-
-
- NetHack Guidebook 95
-
-
-
somewhat daunting. Included within the "symbols" file of all of-
ficial distributions of NetHack is a symset called NHAccess. Se-
lecting that symset in your configuration file will cause the
Give feedback messages when walking towards a wall or when
travel command was interrupted.
- whatis_coord:compass
- When targeting with cursor, describe the cursor position with
- coordinates relative to your character.
- whatis_filter:area
- When targeting with cursor, filter possible locations so only
- those in the same area (eg. same room, or same corridor) are
- considered.
- whatis_moveskip
- When targeting with cursor and using fast-move, skip the same
- glyphs instead of moving 8 units at a time.
+ NetHack 3.7 October 11, 2021
- NetHack 3.7 September 17, 2021
+ NetHack Guidebook 96
- NetHack Guidebook 96
+ whatis_coord:compass
+ When targeting with cursor, describe the cursor position with
+ coordinates relative to your character.
+
+ whatis_filter:area
+ When targeting with cursor, filter possible locations so only
+ those in the same area (eg. same room, or same corridor) are
+ considered.
+ whatis_moveskip
+ When targeting with cursor and using fast-move, skip the same
+ glyphs instead of moving 8 units at a time.
nostatus_updates
Prevent updates to the status lines at the bottom of the
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
+
+
+ NetHack 3.7 October 11, 2021
+
+
+
+
+
+ NetHack Guidebook 97
+
+
+
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
SEDUCE = 0 or 1 to disable or enable, respectively, the SEDUCE
option. When disabled, incubi and succubi behave like nymphs.
-
- NetHack 3.7 September 17, 2021
-
-
-
-
-
- NetHack Guidebook 97
-
-
-
CHECK_PLNAME = Setting this to 1 will make the EXPLORERS, WIZ-
ARDS, and SHELLERS check for the player name instead of the us-
er's login name.
%% - literal `%'
%v - version (eg. "3.6.3-0")
+
+
+ NetHack 3.7 October 11, 2021
+
+
+
+
+
+ NetHack Guidebook 98
+
+
+
%u - game UID
%t - game start time, UNIX timestamp format
%T - current time, UNIX timestamp format
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
-
-
- NetHack 3.7 September 17, 2021
-
-
-
-
-
- NetHack Guidebook 98
-
-
-
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.
Debug mode, also known as wizard mode, is undocumented aside
from this brief description and the various "debug mode only"
+
+
+ NetHack 3.7 October 11, 2021
+
+
+
+
+
+ NetHack Guidebook 99
+
+
+
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
allowed or not available will result in falling back to explore
mode instead.
-
- NetHack 3.7 September 17, 2021
-
-
-
-
-
- NetHack Guidebook 99
-
-
-
12. Credits
The original hack game was modeled on the Berkeley UNIX
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
+
+
+ NetHack 3.7 October 11, 2021
+
+
+
+
+
+ NetHack Guidebook 100
+
+
+
source code to Usenet where they remained available in various
archives accessible via ftp and uucp after expiring from the
newsgroup.
of them and Kevin Darcy later joined the main NetHack Development
Team to produce subsequent revisions of 3.0.
-
-
- NetHack 3.7 September 17, 2021
-
-
-
-
-
- NetHack Guidebook 100
-
-
-
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
3.1 for the Macintosh, porting it for MPW. Building on their de-
velopment, Bart House added a Think C port.
+
+
+ NetHack 3.7 October 11, 2021
+
+
+
+
+
+ NetHack Guidebook 101
+
+
+
Timo Hakulinen ported NetHack 3.1 to OS/2. Eric Smith port-
ed NetHack 3.1 to the Atari. Pat Rankin, with help from Joshua
Delahunty, was responsible for the VMS version of NetHack 3.1.
mor and so forth, not separate images for beetles and ants or for
cloaks and boots).
-
-
- NetHack 3.7 September 17, 2021
-
-
-
-
-
- NetHack Guidebook 101
-
-
-
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-
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.
+
+
+ NetHack 3.7 October 11, 2021
+
+
+
+
+
+ NetHack Guidebook 102
+
+
+
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.
released as a source code patch only, without any ready-to-play
distribution for systems that usually had such.
-
-
- NetHack 3.7 September 17, 2021
-
-
-
-
-
- NetHack Guidebook 102
-
-
-
(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-
As with version 3.3, various people contributed to the game
as a whole as well as supporting ports on the different platforms
+
+
+ NetHack 3.7 October 11, 2021
+
+
+
+
+
+ NetHack Guidebook 103
+
+
+
that NetHack runs on:
Pat Rankin maintained 3.4 for VMS.
face for the Windows port. Alex Kompel also contributed a Win-
dows CE port for 3.4.1.
-
- NetHack 3.7 September 17, 2021
-
-
-
-
-
- NetHack Guidebook 103
-
-
-
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
In January 2015, preparation began for the release of
NetHack 3.6.
+
+
+ NetHack 3.7 October 11, 2021
+
+
+
+
+
+ NetHack Guidebook 104
+
+
+
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,
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
-
-
- NetHack 3.7 September 17, 2021
-
-
-
-
-
- NetHack Guidebook 104
-
-
-
restructured.
The NetHack Development Team, as well as Steve VanDevender
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
- security 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.7 October 11, 2021
- NetHack 3.6.6 was released on March 8, 2020 containing a se-
- curity fix and some bug fixes.
- The official NetHack web site is maintained by Ken Lorber at
- https://www.nethack.org/.
+ NetHack Guidebook 105
- NetHack 3.7 September 17, 2021
+ 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
+ security 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 Guidebook 105
+ NetHack 3.6.6 was released on March 8, 2020 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
Bruce Mewborne Keizo Yamamoto Rob Menke
Carl Schelin Keith Simpson Robin Bandy
Chris Russo Ken Arnold Robin Johnson
+
+
+
+ NetHack 3.7 October 11, 2021
+
+
+
+
+
+ NetHack Guidebook 106
+
+
+
David Cohrs Ken Arromdee Roderick Schertler
David Damerell Ken Lorber Roland McGrath
David Gentzel Ken Washikita Ron Van Iwaarden
Eric S. Raymond Mark Modrall Steve Linhart
Erik Andersen Marvin Bressler Steve VanDevender
Fredrik Ljungdahl Matthew Day Teemu Suikki
-
-
-
- NetHack 3.7 September 17, 2021
-
-
-
-
-
- NetHack Guidebook 106
-
-
-
Frederick Roeber Merlyn LeRoy Tim Lennan
Gil Neiger Michael Allison Timo Hakulinen
Greg Laskin Michael Feir Tom Almy
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- NetHack 3.7 September 17, 2021
+ NetHack 3.7 October 11, 2021