Original version - Eric S. Raymond
(Edited and expanded for 3.7 by Mike Stephenson and others)
- February 11, 2023
+ February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
you have seen on the current dungeon level; as you explore more
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
you have available for spell casting. Again, resting will
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
ing a `*' lists your entire inventory, so you can see the
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
for which one to take off. (Note that this treats a cloak
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
that redundant, such as Caveman or Priestess), and
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
(R)UNIX is a registered trademark of The Open Group.
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
n', and `M-N'.
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
Show the armor currently worn. Default key is `['.
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
combat, or it will be automatically turned off.
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
Default key is `^V'.
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
thing, meta characters are case-sensitive: M-x and M-X represent
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
them straight on, horizontally or vertically. Doorways without
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
harmful to your pet(s) as well. Monsters, including pets,
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
rows or 25 gold pieces will each count as 1 rather than as 7 and
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
`m' command to move without fighting; likewise, if you don't
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
Strained, Overtaxed, or Overloaded will be shown on the bottom
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
curse state provided that you can see them land.
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
taneously as primary and secondary; use the `X' command to engage
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
level, the bonus is higher. A successful hit has a chance to
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
armor. Each suit of armor which exists in AD&D gives the same
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
eating you will faint, and eventually die of starvation. Some
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
gloves are cursed, rings cannot be put on and any already being
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
`r' (read). The `+' command lists each spell you know along with
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
off) which are normally for armor can be used for amulets and
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
scribed as uncursed even if you turn off the implicit_uncursed
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
wafers, cram rations, food rations (gunyoki), K-rations, and C-
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
decline.
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
the Novel, there's no way to wish for this opportunity.
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
figuration file, NetHack will create the configuration file for
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
must be writable.
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
as a file name. If it does start with `/', the at-sign is
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
quiver sack or make ready some suitable weapon. Note that it
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
Asking refers to picking one of the orderings from a menu. The
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
text query with possible menu letters. Default is off.
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
Visually distinguish piles of objects from individual objects
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
sistent.
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
Do not clear the screen before drawing menus, and align menus
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
containing the symbols for the various object types. Any
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
topickup on in order to have autopickup_exception settings
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
onym for character. See name for an alternate method of
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
loot - only sort the lists that don't use inventory letters,
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
lay. The default is on if configured into the program.) Per-
sistent.
+ 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
+ (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
+ 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.
verbose
- Provide more commentary during the game (default on). Persis-
+ 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
+ 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 <x,y> (map column x=0 is not used);
- s - screen [row,column] (row is offset to match tty usage);
- n - none (no coordinates shown) [default].
- NetHack 3.7 February 11, 2023
+
+ NetHack 3.7 February 19, 2023
+ c - compass ("east" or "3s" or "2n,4w");
+ f - full compass ("east" or "3south" or "2north,4west");
+ m - map <x,y> (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-
+ through next and previous targets, allows filtering the possi-
ble targets.
n - no filtering [default]
v - in view only
a - in same area only
- The area-filter tries to be slightly predictive--if you're
+ 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
+ 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
+ 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
+ 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-
+ 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
+ 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.
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.
-
-
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
+ 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
+ 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
+ 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'
+ 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,
+ 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,
+ 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 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
+ 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.
monsters, objects, and dungeon features (default on).
eight_bit_tty
- If NetHack can, it should pass eight-bit character values (for
- example, specified with the traps option) straight through to
+ If NetHack can, it should pass eight-bit character values (for
+ example, specified with the traps option) straight through to
your terminal (default off).
font_map
map window.
font_menu
- If NetHack can, it should use a font by the chosen name for
+ If NetHack can, it should use a font by the chosen name for
menu windows.
- font_message
- If NetHack can, it should use a font by the chosen name for the
- message window.
- font_status
- If NetHack can, it should use a font by the chosen name for the
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
+ font_message
+ If NetHack can, it should use a font by the chosen name for the
+ message window.
+
+ font_status
+ If NetHack can, it should use a font by the chosen name for the
status window.
font_text
- If NetHack can, it should use a font by the chosen name for
+ 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-
+ If NetHack can, it should use this size font for the map win-
dow.
font_size_menu
If NetHack can, it should use this size font for menu windows.
font_size_message
- If NetHack can, it should use this size font for the message
+ 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
+ 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
+ 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 in-
+ 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.
large_font
If NetHack can, it should use a large font.
map_mode
- If NetHack can, it should display the map in the manner speci-
+ If NetHack can, it should display the map in the manner speci-
fied.
player_selection
- If NetHack can, it should pop up dialog boxes, or use prompts
+ If NetHack can, it should pop up dialog boxes, or use prompts
for character selection.
popup_dialog
If NetHack can, it should pop up dialog boxes for input.
- preload_tiles
- If NetHack can, it should preload tiles into memory. For exam-
- ple, in the protected mode 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.
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
+ 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.
+
scroll_amount
- If NetHack can, it should scroll the display by this number of
+ 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-
+ 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
+ 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
+ Display an onscreen keyboard. Handhelds are most likely to
support this option.
splash_screen
it starts up (default yes).
statuslines
- Number of lines for traditional below-the-map status display.
+ Number of lines for traditional below-the-map status display.
Acceptable 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
+ 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.
- The curses interface does likewise if the align_status option
- is set to top or bottom but ignores statuslines when set to
+ 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 ren-
- ders status in the Qt interface's original format, with the
+ 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
+ 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
+ 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 spec-
- ified but will settle for smaller sizes if they are too big.
- Default is the current window size.
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
+ 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 spec-
+ ified 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
+ Specify the name of an alternative tile file to override the
default.
- Note: the X11 interface uses X resources rather than NetHack's
- options to select an alternate tile file. See NetHack.ad, the
+ 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.
tile_height
- Specify the preferred height of each tile in a tile capable
+ 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, possi-
- bly augmented by line-drawing symbols). Setting tiled_map to
+ 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.
use_darkgray
Use bold black instead of blue for black glyphs (TTY only).
use_inverse
- If NetHack can, it should display inverse when the game speci-
+ If NetHack can, it should display inverse when the game speci-
fies it.
vary_msgcount
- If NetHack can, it should display this number of messages at a
+ 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 in-
+ Whether to draw boxes around the map, status area, message
+ area, and persistent inventory window if enabled. Curses in-
terface only. Acceptable values are
0 - off, never show borders
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
- columns of the display. A width of at least 110 columns
+ (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.)
-
- 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
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
+ 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 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.
windowcolors
- If NetHack can, it should display windows with the specified
+ If NetHack can, it should display windows with the specified
foreground/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 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-
+ 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
9.6. Platform-specific Customization options
- Here are explanations of options that are used by specific
+ 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",
+ 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
+ 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-
+ ESC into a meta-shifted version of the second character (de-
fault off).
- This conversion is only done for commands, not for other input
+ 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
+ prior to a command--preceded by n if the number_pad option is
set--is also subject to this conversion, so attempting to abort
- the count by typing ESC will leave NetHack waiting for another
- character to complete the two character sequence. Type a sec-
- ond ESC to finish cancelling such a count. At other prompts a
- single ESC suffices.
-
- BIOS
- Use BIOS calls to update the screen display quickly and to read
- the keyboard (allowing the use of arrow keys to move) on ma-
- chines with an IBM PC compatible BIOS ROM (default off, OS/2,
- PC, and ST NetHack only).
+ the count by typing ESC will leave NetHack waiting for another
+ character to complete the two character sequence. Type a
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
+ 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 ma-
+ chines with an IBM PC compatible BIOS ROM (default off, OS/2,
+ PC, and ST NetHack only).
+
flush
(default off, Amiga NetHack only).
(default on, Mac NetHack only).
rawio
- Force raw (non-cbreak) mode for faster output and more bullet-
- proof input (MS-DOS sometimes treats `^P' as a printer toggle
- without it) (default off, OS/2, PC, and ST NetHack only).
- Note: DEC Rainbows hang if this is turned on. Cannot be set
+ 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.
subkeyvalue
- (Win32 tty NetHack only). May be used to alter the value of
+ (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
+ 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
+ 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
+ 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
+ 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.
video_height
- Set the VGA mode resolution height (MS-DOS only, with
+ Set the VGA mode resolution height (MS-DOS only, with
video:vesa)
video_width
- Set the VGA mode resolution width (MS-DOS only, with
+ 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
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- (default dark normal light, PC NetHack only). If the game dis-
- play is difficult to read, try adjusting these scales; if this
- does not correct the problem, try !color. Cannot be set with
- the `O' command.
+ videocolors
+ Set the color palette for PC systems using NO_TERMS (default
+ 4-2-6-1-5-3-15-12-10-14-9-13-11, (PC NetHack only). The order
+ of colors is red, green, brown, blue, magenta, cyan,
+ bright.white, bright.red, bright.green, yellow, bright.blue,
+ bright.magenta, and bright.cyan. Cannot be set with the `O'
+ command.
+
+ videoshades
+ Set the intensity level of the three gray scales available (de-
+ fault dark normal light, PC NetHack only). If the game display
+ is difficult to read, try adjusting these scales; if this does
+ not correct the problem, try !color. Cannot be set with the
+ `O' command.
9.7. Regular Expressions
- Regular expressions are normally POSIX extended regular ex-
- pressions. It is possible to compile NetHack without regular ex-
- pression support on a platform where there is no regular expres-
- sion library. While this is not true of any modern platform, if
- your NetHack was built this way, patterns are instead glob pat-
+ 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.
You can further refine the behavior of the autopickup option
beyond what is available through the pickup_types option.
- By placing autopickup_exception lines in your configuration
- file, you can define patterns to be checked when the game is
+ By placing autopickup_exception lines in your configuration
+ file, you can define patterns to be checked when the game is
about to autopickup something.
autopickup_exception
- Sets an exception to the pickup_types option. The au-
- topickup_exception option should be followed by a regular ex-
- pression to be used as a pattern to match against the singular
+ 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-
+ In addition, some characters are treated specially if they oc-
cur as the first character in the pattern, specifically:
< - always pickup an object that matches rest of pattern;
> - never pickup an object that matches rest of pattern.
- The autopickup_exception rules are processed in the order in
- which they appear in your configuration file, thus allowing a
+ 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-
+ 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*"
- 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
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack Guidebook 86
- NetHack Guidebook 86
+ Here are some examples:
+ autopickup_exception="<*arrow"
+ autopickup_exception=">*corpse"
+ autopickup_exception=">* cursed*"
- exclusion of items known to be cursed from autopickup.
+ 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
+ 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
+ a meta key ("M-x"), a mouse button, or a three-digit decimal
ASCII code.
For example:
BIND=v:loot
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 "<esc>", "<enter>", and "<space>"
+ 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 "<esc>", "<enter>", and "<space>"
keys.
Menu accelerator keys
- The menu control or accelerator keys can also be rebound via
- OPTIONS lines in the configuration file. You cannot bind ob-
+ 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.
"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 "context", and if bound to same keys, only one of those
- commands will be available. Special command can only be bound
+ 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
+ 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
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- (default `.') to finish as if performing a left or right
- click. Only useful when using the #therecmdmenu command. De-
+ 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-
+ When asked for a direction, the key to target yourself. De-
fault is `.'.
getdir.self2
- When asked for a direction, an alternate key to target your-
+ When asked for a direction, an alternate key to target your-
self. Default is `s'.
getpos.autodescribe
esting thing. Default is `a'.
getpos.all.prev
- When asked for a location, the key to go to previous closest
+ When asked for a location, the key to go to previous closest
interesting thing. Default is `A'.
getpos.door.next
- When asked for a location, the key to go to next closest door
+ 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
+ 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
+ When asked for a location, the key to show help. Default is
`?'.
getpos.mon.next
- When asked for a location, the key to go to next closest mon-
+ 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
+ When asked for a location, the key to go to previous closest
monster. Default is `M'.
- getpos.obj.next
- When asked for a location, the key to go to next closest ob-
- ject. Default is `o'.
-
- getpos.obj.prev
- When asked for a location, the key to go to previous closest
- object. Default is `O'.
- getpos.menu
- When asked for a location, and using one of the next or
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- previous keys to cycle through targets, toggle showing a menu
- instead. Default is `!'.
+ getpos.obj.next
+ When asked for a location, the key to go to next closest ob-
+ ject. Default is `o'.
+
+ getpos.obj.prev
+ When asked for a location, the key to go to previous closest
+ object. Default is `O'.
+
+ getpos.menu
+ When asked for a location, and using one of the next or previ-
+ ous keys to cycle through targets, toggle showing a menu in-
+ stead. Default is `!'.
getpos.moveskip
- When asked for a location, and using the shifted movement keys
- or meta-digit keys to fast-move around, move by skipping the
+ 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
+ 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. When simulating a mouse click af-
- ter being asked for a direction (see getdir.mouse above), the
+ 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 `.'.
getpos.pick.once
- When asked for a location, the key to choose the location, and
+ 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.
+ 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
- asking for more info, and exit the location asking loop. De-
+ asking for more info, and exit the location asking loop. De-
fault is `;'.
getpos.pick.verbose
- When asked for a location, the key to choose the location, and
+ When asked for a location, the key to choose the location, and
show more info without asking. Default is `:'.
getpos.self
fault is `@'.
getpos.unexplored.next
- When asked for a location, the key to go to next closest unex-
+ When asked for a location, the key to go to next closest unex-
plored location. Default is `x'.
- getpos.unexplored.prev
- When asked for a location, the key to go to previous closest
- unexplored location. Default is `X'.
- getpos.valid
- When asked for a location, the key to go to show valid target
- locations. Default is `$'.
-
- getpos.valid.next
- When asked for a location, the key to go to next closest valid
- location. Default is `z'.
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- getpos.valid.prev
+ getpos.unexplored.prev
When asked for a location, the key to go to previous closest
+ unexplored location. Default is `X'.
+
+ getpos.valid
+ When asked for a location, the key to go to show valid target
+ locations. Default is `$'.
+
+ getpos.valid.next
+ When asked for a location, the key to go to next closest valid
+ location. Default is `z'.
+
+ getpos.valid.prev
+ When asked for a location, the key to go to previous closest
valid location. Default is `Z'.
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
+ In general, the configuration file entries to describe the
message types look like this: MSGTYPE=type "pattern"
type - how the message should be shown;
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-
+ 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
+ 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
+ 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
+ The order of the defined MSGTYPE lines is important; the last
+ matching rule is used. Put the general case first, exceptions
below them.
- 9.11. Configuring Menu Colors
-
- Some platforms allow you to define colors used in menu lines
- when the line matches a user-defined pattern. At this time the
- tty, 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 pat-
- tern;
- attribute - the attribute to use for lines matching the
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- pattern. The attribute is optional, and if
+ 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, 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 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,
+ ing ampersand. If no attribute is defined,
no attribute is used.
The pattern should be a regular expression.
- Allowed colors are black, red, green, brown, blue, magenta,
- cyan, gray, orange, 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
+ 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.
- 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
+ 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.
- Here's an example of menu colors using NetHack's internal pat-
+ 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-
+ 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
+ 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-
+ tions match " uncursed ", you will probably want to turn the im-
plicit_uncursed option off so that all items known to be uncursed
are actually displayed with the "uncursed" description.
- 9.12. Configuring User Sounds
- Some platforms allow you to define sound files to be played
- when a message that matches a user-defined pattern is delivered
- to the message window. At this time the Qt port and the win32tty
- and win32gui ports support the use of user sounds.
- The following configuration file entries are relevant to
- mapping user sounds to messages:
- SOUNDDIR
- The directory that houses the sound files to be played.
+ NetHack 3.7 February 19, 2023
- SOUND
- An entry that maps a sound file to a user-specified message
- pattern. Each SOUND entry is broken down into the following
- NetHack 3.7 February 11, 2023
+ NetHack Guidebook 91
- NetHack Guidebook 91
+ 9.12. Configuring User Sounds
+ Some platforms allow you to define sound files to be played
+ when a message that matches a user-defined pattern is delivered
+ to the message window. At this time the Qt port and the win32tty
+ and win32gui ports support the use of user sounds.
+ The following configuration file entries are relevant to
+ mapping user sounds to messages:
+ SOUNDDIR
+ The directory that houses the sound files to be played.
+
+ SOUND
+ An entry that maps a sound file to a user-specified message
+ pattern. Each SOUND entry is broken down into the following
parts:
MESG - message window mapping (the only one supported in
3.7);
- msgtype - optional; message type to use, see "Configuring
+ 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
+ volume - the volume to be set while playing the sound
file;
- sound index - optional; the index corresponding to a sound
+ sound index - optional; the index corresponding to a sound
file.
The pattern should be a POSIX extended regular expression.
9.13. Configuring Status Hilites
Your copy of NetHack may have been compiled with support for
- "Status Hilites". If so, you can customize your game display by
+ "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.
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
+ 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:
- OPTION=hilite_status:wisdom/down/red/up/green
+ NetHack 3.7 February 19, 2023
- 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.
- NetHack 3.7 February 11, 2023
-
+ NetHack Guidebook 92
+ (That example is actually specifying red&normal for <=30% and no-
+ color&normal for >30%.)
- NetHack Guidebook 92
+ 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
+ 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
+ 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.
To specify both a color and an attribute, use `&' to combine
- them. To specify multiple attributes, use `+' to combine those.
+ them. To specify multiple attributes, use `+' to combine those.
For example: "magenta&inverse+dim".
- 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
- versa. On others, issuing an attribute request while another is
- already set up will replace the earlier attribute rather than
+ 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
+ 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-
+ 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
+ You can adjust the appearance of the following status
fields:
title dungeon-level experience-level
strength gold experience
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-
+ The pseudo-field "characteristics" can be used to set all six
+ of Str, Dex, Con, Int, Wis, and Cha at once. "HD" is "hit
+ dice", an approximation of experience level displayed when
+ polymorphed. "experience", "time", and "score" are condition-
ally displayed depending upon your other option settings.
- Instead of a behavior, "condition" takes the following condi-
- tion flags: stone, slime, strngl, foodpois, termill, blind,
- deaf, stun, conf, hallu, lev, fly, and ride. You can use "ma-
- jor_troubles" as an alias for stone through termill, "mi-
- nor_troubles" for blind through hallu, "movement" for lev, fly,
- and ride, and "all" for every condition.
+ 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
- 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.
+ NetHack 3.7 February 19, 2023
- * "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
- NetHack 3.7 February 11, 2023
+ NetHack Guidebook 93
+ "major_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.
- NetHack Guidebook 93
+ 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.
+ * "up", "down" set the field attributes for when the field
+ value changes upwards or downwards. This attribute times
+ out after statushilites turns.
- 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 prece-
- dence.)
+ * "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.)
* percentage sets the field attribute when the field value
matches the percentage. It is specified as a number be-
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:
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
-
+ NetHack Guidebook 94
+ the character's name is ignored.
- NetHack Guidebook 94
+ 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
OPTION=hilite_status: characteristics/up/green/down/red
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)
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
+ [ S_armor (suit or piece of armor)
+ [ S_armour (suit or piece of armor)
+ ^ S_arrow_trap (arrow trap)
+ 0 S_ball (iron ball)
+ # S_bars (iron bars)
+ B S_bat (bat or bird)
+ ^ S_bear_trap (bear trap)
+ - S_blcorn (bottom left corner)
+ b S_blob (blob)
+ + S_book (spellbook)
) S_boomleft (boomerang open left)
( S_boomright (boomerang open right)
` S_boulder (boulder)
{ S_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)
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
+ 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_hole (hole)
@ S_human (human or elf)
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)
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
+ 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_squeaky_board (squeaky board)
. 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)
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
+ - 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)
Y S_yeti (apelike creature)
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.
-
- You will need to select a symset with a UTF8 handler to enable
- the display of the customizations, such as the Enhanced symset.
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack Guidebook 99
- NetHack Guidebook 99
+ 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.
+ 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
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.
- autodescribe
- Automatically describe the terrain under the cursor when tar-
- geting.
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack Guidebook 100
- NetHack Guidebook 100
+ 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.
+
+ autodescribe
+ Automatically describe the terrain under the cursor when tar-
+ geting.
mention_walls
Give feedback messages when walking towards a wall or when
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
- 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 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
+ 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
+ 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.
+
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
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.
-
- 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.
-
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack Guidebook 102
- NetHack Guidebook 102
+ 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.
+ 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-
corpse is discovered (adventurers have been known to collect
finder's fees). So, consider whether you want to take one last
hit at that monster and possibly live, or quit and stop with
- whatever you have. If you quit, you keep all your gold, but if
- you swing and live, you might find more.
-
- If you just want to see what the current top players/games
- list is, you can type nethack -s all on most versions.
-
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
-
+ NetHack Guidebook 103
- NetHack Guidebook 103
+ whatever you have. If you quit, you keep all your gold, but if
+ you swing and live, you might find more.
+ If you just want to see what the current top players/games
+ list is, you can type nethack -s all on most versions.
11. Explore mode
Main events in the course of the game development are described
below:
- Jay Fenlason wrote the original Hack, with help from Kenny
- Woodland, Mike Thome, and Jon Payne.
- Andries Brouwer did a major re-write while at Stichting
- Mathematisch Centrum (now Centrum Wiskunde & Informatica),
-
-
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- 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) releas-
- ing 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 newsgroup
- net.games.hack (later renamed rec.games.hack, eventually replaced
- by rec.games.roguelike.nethack) was created for discussing it.
+ Jay Fenlason wrote the original Hack, with help from Kenny
+ Woodland, Mike Thome, and Jon Payne.
+
+ 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.
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
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 Arromdee, David Cohrs, Jean-Christophe Collet, Kevin Darcy,
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
+ 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 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 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.
-
-
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
+ 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.
+
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
names to use for random ghost and statue names in the current
game.)
- 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
- NetHack 3.7 February 11, 2023
+
+ NetHack 3.7 February 19, 2023
+ 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.
Version 3.3 offered many firsts. It was the first version to
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.
- 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
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
+ Christian "Marvin" Bressler maintained 3.4 for the Atari af-
+ ter he resurrected it for 3.3.1.
+
+ The release of NetHack 3.4.3 in December 2003 marked the be-
+ ginning of a long release hiatus. 3.4.3 proved to be a remarkably
+ stable version that provided continued enjoyment by the community
for more than a decade. The 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
Ken Lorber, Haoyang Wang, Pat Rankin, and Dean Luick main-
tained the port of NetHack 3.6 for Mac OSX.
- 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.
-
- Pat Rankin attempted to keep the VMS port running for
- NetHack 3.6, hindered by limited access. Kevin Smolkowski has
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023
- 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.
+ 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.
+
+ 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.
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).
+ Andy Thomson for hardfought.org. Thanks to all those unnamed
+ NetHack 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack Guidebook 110
- NetHack Guidebook 110
+ dungeoneers 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).
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 3.7 February 19, 2023
- NetHack 3.7 February 11, 2023
+ NetHack Guidebook 111
- NetHack Guidebook 111
+ Helge Hafting Mike Gallop Yitzhak Sapir
+ Irina Rempt-Drijfhout Mike Passaretti
+ Izchak Miller Mike Stephenson
-
-
-
-
-
-
- NetHack 3.7 February 11, 2023
+ NetHack 3.7 February 19, 2023