Merge branch 'paxed-lua-merged3' into paxed-lua-v2-merged
This commit is contained in:
256
doc/Guidebook.mn
256
doc/Guidebook.mn
@@ -1,4 +1,4 @@
|
||||
.\" $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.305 $ $NHDT-Date: 1557251604 2019/05/07 17:53:24 $
|
||||
.\" $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.325 $ $NHDT-Date: 1572735924 2019/11/02 23:05:24 $
|
||||
.\"
|
||||
.\" This is an excerpt from the 'roff' man page from the 'groff' package.
|
||||
.\" NetHack's Guidebook.mn currently does *not* adhere to these guidelines.
|
||||
@@ -24,7 +24,7 @@
|
||||
.ds vr "NetHack 3.7
|
||||
.ds f0 "\*(vr
|
||||
.ds f1
|
||||
.ds f2 "June 20, 2019
|
||||
.ds f2 "November 2, 2019
|
||||
.
|
||||
.\" A note on some special characters:
|
||||
.\" \(lq = left double quote
|
||||
@@ -1104,6 +1104,12 @@ Autocompletes.
|
||||
Default key is \(oqM-e\(cq.
|
||||
.lp #exploremode
|
||||
Enter the explore mode.
|
||||
.lp ""
|
||||
Requires confirmation; default response is \f(CRn\fP (no).
|
||||
To really switch to explore mode, respond with \f(CRy\fP.
|
||||
You can set the
|
||||
.op paranoid_confirmation:quit
|
||||
option to require a response of \f(CRyes\fP instead.
|
||||
.lp "#fire "
|
||||
Fire ammunition from quiver.
|
||||
Default key is \(oqf\(cq.
|
||||
@@ -1211,6 +1217,12 @@ Test the panic routine.
|
||||
Terminates the current game.
|
||||
Autocompletes.
|
||||
Debug mode only.
|
||||
.lp ""
|
||||
Asks for confirmation; default is \f(CRn\fP (no); continue playing.
|
||||
To really panic, respond with \f(CRy\fP.
|
||||
You can set the
|
||||
.op paranoid_confirmation:quit
|
||||
option to require a response of \f(CRyes\fP instead.
|
||||
.lp "#pay "
|
||||
Pay your shopping bill.
|
||||
Default key is \(oqp\(cq.
|
||||
@@ -1251,10 +1263,11 @@ Default key is \(oqM-q\(cq.
|
||||
.lp ""
|
||||
Since using this command by accident would throw away the current game,
|
||||
you are asked to confirm your intent before quitting.
|
||||
By default a response of \(oqy\(cq acknowledges that intent.
|
||||
Default response is \f(CRn\fP (no); continue playing.
|
||||
To really quit, respond with \f(CRy\fP.
|
||||
You can set the
|
||||
.op paranoid_confirmation
|
||||
option to require a response of \(lqyes\(rq instead.
|
||||
.op paranoid_confirmation:quit
|
||||
option to require a response of \f(CRyes\fP instead.
|
||||
.lp "#quiver "
|
||||
Select ammunition for quiver.
|
||||
Default key is \(oqQ\(cq.
|
||||
@@ -2604,8 +2617,7 @@ Using a configuration file
|
||||
.hw .nethackrc defaults.nh nethack.exe nethackW.exe
|
||||
The default name of the configuration file varies on different
|
||||
operating systems.
|
||||
On MS-DOS and Windows, it is \(lqdefaults.nh\(rq
|
||||
in the same folder as nethack.exe or nethackW.exe.
|
||||
.pg
|
||||
On
|
||||
.UX ,
|
||||
Linux,
|
||||
@@ -2613,6 +2625,18 @@ and Mac OS X it is \(lq.nethackrc\(rq in the user's home directory.
|
||||
The file may not exist, but it is a normal ASCII text file and
|
||||
can be created with any text editor.
|
||||
.pg
|
||||
On Windows, it is \(lq.nethackrc\(rq in
|
||||
\(lq\\%USERPROFILE%\\NetHack\\3.6\(rq. The file may not exist,
|
||||
but it is a normal ASCII text file can can be created with any
|
||||
text editor.
|
||||
After running NetHack for the first time, you should find a default
|
||||
template for the configuration file named \(lq.nethackrc.template\(rq
|
||||
in \(lq\\%USERPROFILE%\\NetHack\\3.6\(rq.
|
||||
If you had not created the configuration file, NetHack will create
|
||||
the configuration file for you using the default template file.
|
||||
.pg
|
||||
On MS-DOS, it is \(lqdefaults.nh\(rq in the same folder as nethack.exe.
|
||||
.pg
|
||||
Any line in the configuration file starting with \(oq#\(cq is treated
|
||||
as a comment.
|
||||
Empty lines are ignored.
|
||||
@@ -2629,6 +2653,7 @@ of which can be used multiple times.
|
||||
In general, the statements are
|
||||
written in capital letters, followed by an equals sign, followed by
|
||||
settings particular to that statement.
|
||||
.pg
|
||||
Here is a list of allowed statements:
|
||||
.lp OPTIONS
|
||||
There are two types of options, boolean and compound options.
|
||||
@@ -2640,7 +2665,7 @@ Some options are persistent, and apply only to new games.
|
||||
You can specify multiple OPTIONS statements, and multiple options
|
||||
separated by commas in a single OPTIONS statement.
|
||||
(Comma separated options are processed from right to left.)
|
||||
.pg
|
||||
.lp ""
|
||||
Example:
|
||||
.sd
|
||||
.ft CR
|
||||
@@ -2669,6 +2694,9 @@ HACKDIR, must be writable.
|
||||
.lp TROUBLEDIR
|
||||
The location that a record of game aborts and self-diagnosed game problems
|
||||
is kept. Defaults to HACKDIR, must be writable.
|
||||
.\"
|
||||
.\" config file entries beyond this point are shown alphabetically
|
||||
.\"
|
||||
.lp AUTOCOMPLETE
|
||||
Enable or disable an extended command autocompletion.
|
||||
Autocompletion has no effect for the X11 windowport.
|
||||
@@ -2676,7 +2704,7 @@ You can specify multiple autocompletions.
|
||||
To enable autocompletion, list the extended command.
|
||||
Prefix the command with \(lq!\(rq to disable the autocompletion
|
||||
for that command.
|
||||
.pg
|
||||
.lp ""
|
||||
Example:
|
||||
.sd
|
||||
\f(CRAUTOCOMPLETE=zap,!annotate\fP
|
||||
@@ -2692,7 +2720,7 @@ extended commands.
|
||||
You can specify multiple bindings.
|
||||
Format is key followed by the command, separated by a colon.
|
||||
See the \(lqChanging Key Bindings\(rq section for more information.
|
||||
.pg
|
||||
.lp ""
|
||||
Example:
|
||||
.sd
|
||||
\f(CRBIND=\(haX:getpos.autodescribe\fP
|
||||
@@ -2700,7 +2728,7 @@ Example:
|
||||
.lp CHOOSE
|
||||
Chooses at random one of the comma-separated parameters as an active
|
||||
section name. Lines in other sections are ignored.
|
||||
.pg
|
||||
.lp ""
|
||||
Example:
|
||||
.sd
|
||||
.ft CR \" constant-width Roman
|
||||
@@ -2712,37 +2740,43 @@ OPTIONS=role:arc,race:dwa,align:law,gender:fem
|
||||
OPTIONS=role:wiz,race:elf,align:cha,gender:mal
|
||||
.ft \" revert to previous font
|
||||
.ed
|
||||
.lp MSGTYPE
|
||||
Change the way messages are shown in the top status line.
|
||||
See the \(lqConfiguring Message Types\(rq section.
|
||||
.lp MENUCOLOR
|
||||
Highlight menu lines with different colors.
|
||||
See the \(lqConfiguring Menu Colors\(rq section.
|
||||
.lp MSGTYPE
|
||||
Change the way messages are shown in the top status line.
|
||||
See the \(lqConfiguring Message Types\(rq section.
|
||||
.lp ROGUESYMBOLS
|
||||
Custom symbols for for the rogue level's symbol set.
|
||||
See \fISYMBOLS\fP below.
|
||||
.lp SOUND
|
||||
Define a sound mapping.
|
||||
See the \(lqConfiguring User Sounds\(rq section.
|
||||
.lp SOUNDDIR
|
||||
Define the directory that contains the sound files.
|
||||
See the \(lqConfiguring User Sounds\(rq section.
|
||||
.lp SYMBOLS
|
||||
Override one or more symbols in the symbols files.
|
||||
Override one or more symbols in the symbol set used for all dungeon
|
||||
levels except for the special rogue level.
|
||||
See the \(lqModifying NetHack Symbols\(rq section.
|
||||
.pg
|
||||
.lp ""
|
||||
Example:
|
||||
.sd
|
||||
\f(CRSYMBOLS=S_boulder:0\fP
|
||||
\f(CR# replace small punctuation (tick marks) with digits\fP
|
||||
\f(CRSYMBOLS=S_boulder:0,S_golem:7\fP
|
||||
.ed
|
||||
.lp WIZKIT
|
||||
Debug mode only: extra items to add to initial inventory.
|
||||
Value is the name of a text file containing a list of item names,
|
||||
one per line, up to a maximum of 128 lines.
|
||||
Each line is processed by the function that handles wishing.
|
||||
.pg
|
||||
.lp ""
|
||||
Example:
|
||||
.sd
|
||||
\f(CRWIZKIT=\(ti/wizkit.txt\fP \" \(ti == '~'
|
||||
.ed
|
||||
.lp SOUNDDIR
|
||||
Define the directory that contains the sound files.
|
||||
See the \(lqConfiguring User Sounds\(rq section.
|
||||
.lp SOUND
|
||||
Define a sound mapping.
|
||||
See the \(lqConfiguring User Sounds\(rq section.
|
||||
.pg
|
||||
.lp ""
|
||||
.pg \" this would look better outdented
|
||||
Here is a short example of config file contents:
|
||||
.sd
|
||||
.ft CR \" set font to constant-width Roman
|
||||
@@ -3836,11 +3870,16 @@ character in the pattern, specifically:
|
||||
.CC > "never pickup an object that matches rest of pattern."
|
||||
.ei
|
||||
.ed
|
||||
A \(lqnever pickup\(rq rule takes precedence over an \(lqalways pickup\(rq
|
||||
rule if both match.
|
||||
The
|
||||
.op autopickup_exception
|
||||
rules are processed in the order in which they appear in your config file,
|
||||
thus allowing a later rule to override an earlier rule.
|
||||
.lp ""
|
||||
Exceptions can be set with the \(oqO\(cq command, but ones set that way will
|
||||
not be preserved across saves and restores.
|
||||
Exceptions can be set with the \(oqO\(cq command, but because they are not
|
||||
included in your config file, they won't be in effect if you save and then
|
||||
restore your game.
|
||||
.op autopickup_exception
|
||||
rules and not saved with the game.
|
||||
.\" end of ``.lp autopickup_exception'' entry; continue enclosing page...
|
||||
.\" use .lp "text" to make an unindented paragraph ("text" should be short)
|
||||
.lp "Here are some examples:"
|
||||
@@ -4258,7 +4297,7 @@ text to match against.
|
||||
.lp "*"
|
||||
\(lqalways\(rq will set the default attributes for that field.
|
||||
.lp "*"
|
||||
\(lqup\(rq and \(lqdown\(rq set the field attributes for when the field
|
||||
\(lqup\(rq, \(lqdown\(rq set the field attributes for when the field
|
||||
value changes upwards or downwards.
|
||||
This attribute times out after
|
||||
.op statushilites
|
||||
@@ -4281,7 +4320,24 @@ it also matches when value is below or above the percentage.
|
||||
Use prefix \(oq<\(cq or \(oq>\(cq to match when strictly below or above.
|
||||
(The numeric limit is relaxed slightly for those: \f(CR>-1%\fP
|
||||
and \f(CR<101%\fP are allowed.)
|
||||
Only valid for \(lqhitpoints\(rq and \(lqpower\(rq fields.
|
||||
Only four fields support percentage rules.
|
||||
Percentages for \(lqhitpoints\(rq and \(lqpower\(rq are
|
||||
straightforward; they're based on the corresponding maximum field.
|
||||
Percentage highlight rules are also allowed for \(lqexperience level\(rq
|
||||
and \(lqexperience points\(rq (valid when the
|
||||
.op showexp
|
||||
option is enabled).
|
||||
For those, the percentage is based on the progress from the start of
|
||||
the current experience level to the start of the next level.
|
||||
So if level 2 starts at 20 points and level 3 starts at 40 points,
|
||||
having 30 points is 50% and 35 points is 75%.
|
||||
100% is unattainable for experience because you'll gain a level and
|
||||
the calculations will be reset for that new level, but a rule for
|
||||
\f(CR=100%\fP is allowed and matches the special case of being
|
||||
exactly 1 experience point short of the next level.
|
||||
.\" (If you manage to reach level 30, there is no next level and the
|
||||
.\" percentage will remain at 0% no matter have many additional experience
|
||||
.\" points you earn.)
|
||||
.lp "*"
|
||||
absolute value sets the attribute when the field value matches
|
||||
that number.
|
||||
@@ -4337,8 +4393,9 @@ Set the name of the symbol set that you want to load.
|
||||
Set the name of the symbol set that you want to load for display
|
||||
on the rogue level.
|
||||
.pg
|
||||
You can also override one or more symbols using the SYMBOLS config
|
||||
file option. Symbols are specified as name:value pairs.
|
||||
You can also override one or more symbols using the SYMBOLS and
|
||||
ROGUESYMBOLS config file options.
|
||||
Symbols are specified as name:value pairs.
|
||||
Note that
|
||||
NetHack escape-processes the value string in conventional C fashion.
|
||||
This means that \\ is a prefix to take the following character literally.
|
||||
@@ -4347,16 +4404,23 @@ The special prefix form \\m switches on the meta bit in the symbol value,
|
||||
and the \(ha prefix causes the following character to be treated as a
|
||||
control character.
|
||||
.pg
|
||||
.\" Table is centered.
|
||||
.\" First line (title) is left justified and spans second and third columns;
|
||||
.\" it used to be centered but tended to look as if too far to the right.
|
||||
.\" Remaining lines are left justified in each of three columns. First
|
||||
.\" line (second overall) contains column labels; the first column has a
|
||||
.\" dummy label of two spaces. (That used to be "Default" but it made all
|
||||
.\" the lines wider because of the label's width and caused several lines
|
||||
.\" to be too wide when generating plain text output. Two spaces leaves
|
||||
.\" some room between the symbol character and name.) Entries in first
|
||||
.\" column now use constant-width Roman font to approximate TeX tt font.
|
||||
.TS S
|
||||
center;
|
||||
c s s
|
||||
c1 l1 l.
|
||||
l s s
|
||||
l1fCR l1 l.
|
||||
.\"TABLE_START
|
||||
.\" because description is wide, centered title seems off, so pad it a bit
|
||||
.\" note that each backslash precedes one space of padding (including the
|
||||
.\" last one; in other words, there's a trailing space here)
|
||||
NetHack Symbols\ \ \ \ \ \ \
|
||||
Default Symbol Name Description
|
||||
NetHack Symbols
|
||||
\ \ Symbol Name Description
|
||||
\_ \_ \_
|
||||
\ S_air (air)
|
||||
\&_ S_altar (altar)
|
||||
@@ -4483,7 +4547,8 @@ s S_spider (arachnid or centipede)
|
||||
@ S_ss3 (magic shield 3 of 4)
|
||||
* S_ss4 (magic shield 4 of 4)
|
||||
\(ha S_statue_trap (statue trap)
|
||||
\ S_stone (dark part of a room)
|
||||
\ S_stone (solid rock or unexplored terrain
|
||||
\ \ \ or dark part of a room)
|
||||
] S_strange_obj (strange object)
|
||||
\- S_sw_bc (swallow bottom center)
|
||||
\\ S_sw_bl (swallow bottom left)
|
||||
@@ -4527,21 +4592,28 @@ v S_vortex (vortex)
|
||||
w S_worm (worm)
|
||||
\(ti S_worm_tail (long worm tail)
|
||||
W S_wraith (wraith)
|
||||
x S_xan (xan or other mythical/fantastic insect)
|
||||
x S_xan (xan or other extraordinary insect)
|
||||
X S_xorn (xorn)
|
||||
Y S_yeti (apelike creature)
|
||||
Z S_zombie (zombie)
|
||||
z S_zruty (zruty)
|
||||
\ S_pet_override (any pet if ACCESSIBILITY=1 is set)
|
||||
\ S_player_override (hero if ACCESSIBILITY=1 is set)
|
||||
.\"TABLE_END Do not delete this line.
|
||||
.TE
|
||||
.\" don't hyphenate file name across lines
|
||||
.hw sysconf
|
||||
.pg
|
||||
There is one additional class of object, described as \(lqstrange object\(rq,
|
||||
which will occasionally be the shape taken on by mimics and shown
|
||||
as \(oq]\(cq for maps displayed as text characters.
|
||||
Although the displayed character is the same as the default value for
|
||||
\(lqS_mimic_def\(rq, it is a different symbol and there is no corresponding
|
||||
\(lqS_strange_object\(rq symbol nor any way to assign an alternate value
|
||||
for it.
|
||||
Notes: several symbols in this table appear to be blank.
|
||||
They are the space character, except for S_pet_override
|
||||
and S_player_override which don't have any default value
|
||||
and can only be used if enabled in the \(lqsysconf\(rq file.
|
||||
.pg
|
||||
S_rock is misleadingly named; rocks and stones use S_gem.
|
||||
Statues and boulders are the rock being referred to, but since
|
||||
version 3.6.0, statues are displayed as the monster they depict.
|
||||
So S_rock is only used for boulders and not used at all if
|
||||
overridden by the more specific S_boulder.
|
||||
.pg
|
||||
.hn 2
|
||||
Configuring NetHack for Play by the Blind
|
||||
@@ -4582,8 +4654,14 @@ configuration file will cause the game to run in a manner accessible
|
||||
to the blind.
|
||||
After you have gained some experience with the game
|
||||
and with editing files, you may want to alter settings via \fBSYMBOLS=\fP
|
||||
and \fBROGUESYMBOLS=\fP
|
||||
in your configuration file to better suit your preferences.
|
||||
The most crucial settings to make the game accessible are:
|
||||
See the previous section for the special symbols S_pet_override
|
||||
to force a consistent symbol for all pets and
|
||||
S_player_override to force a unique symbol for the player character
|
||||
if \fBaccessibility\fP is enabled in the sysconf file.
|
||||
.pg
|
||||
The most crucial settings to make the game more accessible are:
|
||||
.pg
|
||||
.lp symset:NHAccess
|
||||
Load a symbol set appropriate for use by blind players.
|
||||
@@ -4617,7 +4695,7 @@ of moving 8 units at a time.
|
||||
.lp nostatus_updates
|
||||
Prevent updates to the status lines at the bottom of the screen, if
|
||||
your screen-reader reads those lines. The same information can be
|
||||
seen via the #attributes command.
|
||||
seen via the \(lq#attributes\(rq command.
|
||||
.hn 2
|
||||
Global Configuration for System Administrators
|
||||
.pg
|
||||
@@ -4866,7 +4944,7 @@ and \fBPaul Winner\fP, ported NetHack 3.1 to the PC.
|
||||
\fBMike Engber\fP, \fBDavid Hairston\fP, \fBMichael Hamel\fP,
|
||||
\fBJonathan Handler\fP, \fBJohnny Lee\fP, \fBTim Lennan\fP, \fBRob Menke\fP,
|
||||
and \fBAndy Swanson\fP, developed NetHack 3.1 for the Macintosh,
|
||||
porting it for MPW. Building on their development, \fBBarton House\fP
|
||||
porting it for MPW. Building on their development, \fBBart House\fP
|
||||
added a Think C port.
|
||||
.pg
|
||||
\fBTimo Hakulinen\fP ported NetHack 3.1 to OS/2. \fBEric Smith\fP
|
||||
@@ -5025,7 +5103,7 @@ flavors and maintained the X11 interface.
|
||||
\fBKen Lorber\fP, \fBHaoyang Wang\fP, \fBPat Rankin\fP, and \fBDean Luick\fP
|
||||
maintained the port of NetHack 3.6 for Mac OSX.
|
||||
.pg
|
||||
\fBMichael Allison\fP, \fBDavid Cohrs\fP, \fBBarton House\fP,
|
||||
\fBMichael Allison\fP, \fBDavid Cohrs\fP, \fBBart House\fP,
|
||||
\fBPasi Kallinen\fP, \fBAlex Kompel\fP, \fBDion Nicolaas\fP,
|
||||
\fBDerek S. Ray\fP and \fBYitzhak Sapir\fP maintained the port of
|
||||
NetHack 3.6 for Microsoft Windows.
|
||||
@@ -5050,6 +5128,9 @@ The NetHack Development Team at the time of release of 3.6.1 consisted of
|
||||
In early May 2019, another 320 bug fixes along with some enhancements and
|
||||
the adopted curses window port, were released as 3.6.2.
|
||||
.pg
|
||||
\fBBart House\fP, who had contributed to the game as a porting team
|
||||
participant for decades, joined the NetHack Development Team in late May 2019.
|
||||
.pg
|
||||
The official NetHack web site is maintained by \fBKen Lorber\fP
|
||||
at
|
||||
.UR http://www.nethack.org/ .
|
||||
@@ -5076,49 +5157,50 @@ miscreants in this, the list of Dungeoneers:
|
||||
.
|
||||
.TS S
|
||||
center;
|
||||
c c c.
|
||||
c2 c2 c.
|
||||
.\"TABLE_START
|
||||
Adam Aronow Janet Walz Nathan Eady
|
||||
Alex Kompel Janne Salmijarvi Norm Meluch
|
||||
Alex Smith Jean-Christophe Collet Olaf Seibert
|
||||
Andreas Dorn Jeff Bailey Pasi Kallinen
|
||||
Andy Church Jochen Erwied Pat Rankin
|
||||
Andy Swanson John Kallen Patric Mueller
|
||||
Adam Aronow J. Ali Harlow Mikko Juola
|
||||
Alex Kompel Janet Walz Nathan Eady
|
||||
Alex Smith Janne Salmijarvi Norm Meluch
|
||||
Andreas Dorn Jean-Christophe Collet Olaf Seibert
|
||||
Andy Church Jeff Bailey Pasi Kallinen
|
||||
Andy Swanson Jochen Erwied Pat Rankin
|
||||
Andy Thomson John Kallen Patric Mueller
|
||||
Ari Huttunen John Rupley Paul Winner
|
||||
Barton House John S. Bien Pierre Martineau
|
||||
Bart House John S. Bien Pierre Martineau
|
||||
Benson I. Margulies Johnny Lee Ralf Brown
|
||||
Bill Dyer Jon W{tte Ray Chason
|
||||
Boudewijn Waijers Jonathan Handler Richard Addison
|
||||
Bruce Cox Joshua Delahunty Richard Beigel
|
||||
Bruce Holloway Karl Garrison Richard P. Hughey
|
||||
Bruce Mewborne Keizo Yamamoto Rob Menke
|
||||
Carl Schelin Ken Arnold Robin Bandy
|
||||
Chris Russo Ken Arromdee Robin Johnson
|
||||
David Cohrs Ken Lorber Roderick Schertler
|
||||
David Damerell Ken Washikita Roland McGrath
|
||||
David Gentzel Kevin Darcy Ron Van Iwaarden
|
||||
David Hairston Kevin Hugo Ronnen Miller
|
||||
Dean Luick Kevin Sitze Ross Brown
|
||||
Del Lamb Kevin Smolkowski Sascha Wostmann
|
||||
Derek S. Ray Kevin Sweet Scott Bigham
|
||||
Deron Meranda Lars Huttar Scott R. Turner
|
||||
Dion Nicolaas Leon Arnott Sean Hunt
|
||||
Dylan O'Donnell M. Drew Streib Stephen Spackman
|
||||
Eric Backus Malcolm Ryan Stefan Thielscher
|
||||
Eric Hendrickson Mark Gooderum Stephen White
|
||||
Eric R. Smith Mark Modrall Steve Creps
|
||||
Eric S. Raymond Marvin Bressler Steve Linhart
|
||||
Erik Andersen Matthew Day Steve VanDevender
|
||||
Frederick Roeber Merlyn LeRoy Teemu Suikki
|
||||
Gil Neiger Michael Allison Tim Lennan
|
||||
Greg Laskin Michael Feir Timo Hakulinen
|
||||
Greg Olson Michael Hamel Tom Almy
|
||||
Gregg Wonderly Michael Sokolov Tom West
|
||||
Hao-yang Wang Mike Engber Warren Cheung
|
||||
Helge Hafting Mike Gallop Warwick Allison
|
||||
Irina Rempt-Drijfhout Mike Passaretti Yitzhak Sapir
|
||||
Carl Schelin Keith Simpson Robin Bandy
|
||||
Chris Russo Ken Arnold Robin Johnson
|
||||
David Cohrs Ken Arromdee Roderick Schertler
|
||||
David Damerell Ken Lorber Roland McGrath
|
||||
David Gentzel Ken Washikita Ron Van Iwaarden
|
||||
David Hairston Kevin Darcy Ronnen Miller
|
||||
Dean Luick Kevin Hugo Ross Brown
|
||||
Del Lamb Kevin Sitze Sascha Wostmann
|
||||
Derek S. Ray Kevin Smolkowski Scott Bigham
|
||||
Deron Meranda Kevin Sweet Scott R. Turner
|
||||
Dion Nicolaas Lars Huttar Sean Hunt
|
||||
Dylan O'Donnell Leon Arnott Stephen Spackman
|
||||
Eric Backus M. Drew Streib Stefan Thielscher
|
||||
Eric Hendrickson Malcolm Ryan Stephen White
|
||||
Eric R. Smith Mark Gooderum Steve Creps
|
||||
Eric S. Raymond Mark Modrall Steve Linhart
|
||||
Erik Andersen Marvin Bressler Steve VanDevender
|
||||
Fredrik Ljungdahl Matthew Day Teemu Suikki
|
||||
Frederick Roeber Merlyn LeRoy Tim Lennan
|
||||
Gil Neiger Michael Allison Timo Hakulinen
|
||||
Greg Laskin Michael Feir Tom Almy
|
||||
Greg Olson Michael Hamel Tom West
|
||||
Gregg Wonderly Michael Sokolov Warren Cheung
|
||||
Hao-yang Wang Mike Engber Warwick Allison
|
||||
Helge Hafting Mike Gallop Yitzhak Sapir
|
||||
Irina Rempt-Drijfhout Mike Passaretti
|
||||
Izchak Miller Mike Stephenson
|
||||
J. Ali Harlow Mikko Juola
|
||||
.\"TABLE_END Do not delete this line.
|
||||
.TE
|
||||
.pg
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
%.au
|
||||
\author{Original version - Eric S. Raymond\\
|
||||
(Edited and expanded for 3.6 by Mike Stephenson and others)}
|
||||
\date{June 20, 2019}
|
||||
\date{November 2, 2019}
|
||||
|
||||
\maketitle
|
||||
|
||||
@@ -1130,7 +1130,7 @@ slot to another so that it has a letter which is more meaningful for you
|
||||
or that it will appear in a particular location when inventory listings
|
||||
are displayed.
|
||||
You can move to a currently empty slot, or if the destination is
|
||||
occupied--and won't merge--the item there will swap slots with the one
|
||||
occupied---and won't merge---the item there will swap slots with the one
|
||||
being moved.
|
||||
``{\tt \#adjust}'' can also be used to split a stack of objects; when
|
||||
choosing the item to adjust, enter a count prior to its letter.\\
|
||||
@@ -1216,7 +1216,13 @@ Advance or check weapon and spell skills. Autocompletes.
|
||||
Default key is `{\tt M-e}'.
|
||||
%.lp
|
||||
\item[\tb{\#exploremode}]
|
||||
Enter the explore mode.
|
||||
Enter the explore mode.\\
|
||||
%.lp ""
|
||||
Requires confirmation; default response is `{\tt n}' (no).
|
||||
To really switch to explore mode, respond with `{\tt y}'.
|
||||
You can set the
|
||||
{\it paranoid\verb+_+confirmation:quit\/}
|
||||
option to require a response of ``{\tt yes}'' instead.
|
||||
%.lp
|
||||
\item[\tb{\#fire}]
|
||||
Fire ammunition from quiver. Default key is `{\tt f}'.
|
||||
@@ -1324,7 +1330,13 @@ Default keys are `{\tt \^{}O}', and `{\tt M-O}'.
|
||||
Test the panic routine.
|
||||
Terminates the current game.
|
||||
Autocompletes.
|
||||
Debug mode only.
|
||||
Debug mode only.\\
|
||||
%.lp ""
|
||||
Asks for confirmation; default is `{\tt n}' (no); continue playing.
|
||||
To really panic, respond with `{\tt y}''.
|
||||
You can set the
|
||||
{\it paranoid\verb+_+confirmation:quit\/}
|
||||
option to require a response of ``{\tt yes}'' instead.
|
||||
%.lp
|
||||
\item[\tb{\#pay}]
|
||||
Pay your shopping bill. Default key is `{\tt p}'.
|
||||
@@ -1361,12 +1373,14 @@ Quaff (drink) something. Default key is `{\tt q}'.
|
||||
%.lp
|
||||
\item[\tb{\#quit}]
|
||||
Quit the program without saving your game. Autocompletes.
|
||||
Default key is `{\tt M-q}'.
|
||||
Default key is `{\tt M-q}'.\\
|
||||
%.lp ""
|
||||
Since using this command by accident would throw away the current game,
|
||||
you are asked to confirm your intent before quitting. By default a
|
||||
response of `{\tt y}' acknowledges that intent. You can set the
|
||||
{\it paranoid\verb+_+confirmation\/}
|
||||
you are asked to confirm your intent before quitting.
|
||||
Default response is `{\tt n}' (no); continue playing.
|
||||
To really quit, respond with `{\tt y}'.
|
||||
You can set the
|
||||
{\it paranoid\verb+_+confirmation:quit\/}
|
||||
option to require a response of ``{\tt yes}'' instead.
|
||||
%.lp
|
||||
\item[\tb{\#quiver}]
|
||||
@@ -2030,9 +2044,9 @@ will result in it disappearing from your map, similarly if it is the
|
||||
one who moved rather than you.
|
||||
|
||||
%.pg
|
||||
However, if you encounter a monster which you can't see or sense--
|
||||
perhaps it is invisible and has just tapped you on the noggin--
|
||||
a special ``remembered, unseen monster'' marker will be displayed at
|
||||
However, if you encounter a monster which you can't see or
|
||||
sense---perhaps it is invisible and has just tapped you on the
|
||||
noggin---a special ``remembered, unseen monster'' marker will be displayed at
|
||||
the location where you think it is.
|
||||
That will persist until you have
|
||||
proven that there is no monster there, even if the unseen monster
|
||||
@@ -2312,7 +2326,7 @@ But first you need to have a weapon in each hand.
|
||||
(Note that your two weapons are not fully equal; the one in the
|
||||
hand you normally wield with is considered primary and the other
|
||||
one is considered secondary. The most noticeable difference is
|
||||
after you stop--or before you begin, for that matter--wielding
|
||||
after you stop---or before you begin, for that matter---wielding
|
||||
two weapons at once. The primary is your wielded weapon and the
|
||||
secondary is just an item in your inventory that's been designated
|
||||
as alternate weapon.)
|
||||
@@ -2544,7 +2558,7 @@ The commands to use rings are `{\tt P}' (put on) and `{\tt R}' (remove).
|
||||
%.pg
|
||||
Spellbooks are tomes of mighty magic. When studied with the `{\tt r}' (read)
|
||||
command, they transfer to the reader the knowledge of a spell (and
|
||||
therefore eventually become unreadable) --- unless the attempt backfires.
|
||||
therefore eventually become unreadable)---unless the attempt backfires.
|
||||
Reading a cursed spellbook or one with mystic runes beyond
|
||||
your ken can be harmful to your health!
|
||||
|
||||
@@ -2687,9 +2701,9 @@ you are carrying (shopkeepers aside).
|
||||
Normally, if you have seen an object at a particular map location and
|
||||
move to another location where you can't directly see that object any
|
||||
more, if 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.
|
||||
That remains the case even if it is not actually there any
|
||||
more---perhaps a monster has picked it up or it has rotted
|
||||
away---until you can see or feel that location again.
|
||||
One notable exception is that if the object gets covered by the
|
||||
``remembered, unseen monster'' marker.
|
||||
When that marker is later removed
|
||||
@@ -2852,19 +2866,32 @@ for system administrators.
|
||||
\subsection*{Using a configuration file}
|
||||
|
||||
%.pg
|
||||
The default name of the configuration file varies on different
|
||||
operating systems. On MS-DOS and Windows, it is \mbox{``defaults.nh''} in
|
||||
the same folder as \mbox{{\it nethack.exe\/}} or \mbox{{\it nethackW.exe\/}}.
|
||||
The default name and location of the configuration file varies on different
|
||||
operating systems.\\
|
||||
|
||||
%.lp ""
|
||||
On Unix, Linux and Mac OS X it is \mbox{``.nethackrc''} in the user's home
|
||||
directory. The file may not exist, but it is a normal ASCII text file and
|
||||
can be created with any text editor.
|
||||
can be created with any text editor.\\
|
||||
|
||||
%.pg
|
||||
%.lp ""
|
||||
On Windows, it is \mbox{``.nethackrc''} in the foler
|
||||
\mbox{{``\%USERPROFILE\%\textbackslash NetHack\textbackslash 3.6''}}. The
|
||||
file may not exist, but it is a normal ASCII text file and can be created
|
||||
with any text editor.
|
||||
After runing {\it NetHack\/} for the first time, you should find a default
|
||||
template for ths configuration file named \mbox{``.nethackrc.template''} in
|
||||
\mbox{{``\%USERPROFILE\%\textbackslash NetHack\textbackslash 3.6''}}.
|
||||
If you had not created the configuration file, {\it NetHack\/} will create
|
||||
the configuration file for you using the default template file.
|
||||
|
||||
%.lp ""
|
||||
On MS-DOS it is \mbox{``defaults.nh''} in the same folder as
|
||||
\mbox{{\it nethack.exe\/}}.\\
|
||||
|
||||
%.lp ""
|
||||
Any line in the configuration file starting with `{\tt \#}' is treated as a comment.
|
||||
Empty lines are ignored.
|
||||
|
||||
%.pg
|
||||
Any line beginning with `{\tt [}' and ending in `{\tt ]}' is considered a section
|
||||
Empty lines are ignored. Any line beginning with `{\tt [}' and ending in `{\tt ]}' is considered a section
|
||||
marker. The text between the square brackets is the section name.
|
||||
Lines after a section marker belong to that section, and are
|
||||
ignored unless a CHOOSE -statement was used to select that section.
|
||||
@@ -2872,9 +2899,13 @@ Section names are case insensitive.
|
||||
|
||||
%.pg
|
||||
You can use different configuration statements in the file, some
|
||||
of which can be used multiple times. In general, the statements are
|
||||
of which can be used multiple times.
|
||||
In general, the statements are
|
||||
written in capital letters, followed by an equals sign, followed by
|
||||
settings particular to that statement. Here is a list of allowed statements:
|
||||
settings particular to that statement.
|
||||
|
||||
%.pg
|
||||
Here is a list of allowed statements:
|
||||
|
||||
%.lp
|
||||
\blist{}
|
||||
@@ -2889,7 +2920,7 @@ You can specify multiple OPTIONS statements, and multiple options
|
||||
separated by commas in a single OPTIONS statement.
|
||||
(Comma separated options are processed from right to left.)
|
||||
|
||||
%.pg
|
||||
%.lp ""
|
||||
Example:
|
||||
%.sd
|
||||
\begin{verbatim}
|
||||
@@ -2923,6 +2954,9 @@ HACKDIR, must be writable.
|
||||
\item[\bb{TROUBLEDIR}]
|
||||
The location that a record of game aborts and self-diagnosed game problems
|
||||
is kept. Defaults to HACKDIR, must be writable.
|
||||
%
|
||||
% config file entries beyond this point are shown alphabetically
|
||||
%
|
||||
%.lp
|
||||
\item[\bb{AUTOCOMPLETE}]
|
||||
Enable or disable an extended command autocompletion.
|
||||
@@ -2932,11 +2966,11 @@ autocompletion, list the extended command. Prefix the
|
||||
command with ``{{\tt !}}'' to disable the autocompletion
|
||||
for that command.
|
||||
|
||||
%.pg
|
||||
%.lp ""
|
||||
Example:
|
||||
%.sd
|
||||
\begin{verbatim}
|
||||
AUTOCOMPLETE=zap,!annotate
|
||||
AUTOCOMPLETE=zap,!annotate
|
||||
\end{verbatim}
|
||||
%.ed
|
||||
|
||||
@@ -2951,7 +2985,7 @@ 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.
|
||||
|
||||
%.pg
|
||||
%.lp ""
|
||||
Example:
|
||||
%.sd
|
||||
\begin{verbatim}
|
||||
@@ -2964,7 +2998,7 @@ Example:
|
||||
Chooses at random one of the comma-separated parameters as an active
|
||||
section name. Lines in other sections are ignored.
|
||||
|
||||
%.pg
|
||||
%.lp ""
|
||||
Example:
|
||||
%.sd
|
||||
\begin{verbatim}
|
||||
@@ -2977,23 +3011,39 @@ Example:
|
||||
\end{verbatim}
|
||||
%.ed
|
||||
|
||||
%.lp
|
||||
\item[\bb{MSGTYPE}]
|
||||
Change the way messages are shown in the top status line.
|
||||
See the ``Configuring Message Types`` section.
|
||||
%.lp
|
||||
\item[\bb{MENUCOLOR}]
|
||||
Highlight menu lines with different colors.
|
||||
See the ``Configuring Menu Colors`` section.
|
||||
%.lp
|
||||
\item[\bb{MSGTYPE}]
|
||||
Change the way messages are shown in the top status line.
|
||||
See the ``Configuring Message Types`` section.
|
||||
%.lp
|
||||
\item[\bb{ROGUESYMBOLS}]
|
||||
Custom symbols for for the rogue level's symbol set.
|
||||
See {\it SYMBOLS} below.
|
||||
%.lp
|
||||
\item[\bb{SOUND}]
|
||||
Define a sound mapping.
|
||||
See the ``Configuring User Sounds'' section.
|
||||
%.lp
|
||||
\item[\bb{SOUNDDIR}]
|
||||
Define the directory that contains the sound files.
|
||||
See the ``Configuring User Sounds'' section.
|
||||
%.lp
|
||||
\item[\bb{SYMBOLS}]
|
||||
Override one or more symbols in the symbols files.
|
||||
Override one or more symbols in the symbol set used for all dungeon
|
||||
levels except for the special rogue level.
|
||||
See the ``Modifying {\it NetHack\/} Symbols'' section.
|
||||
%.pg
|
||||
|
||||
%.lp ""
|
||||
Example:
|
||||
%.sd
|
||||
\begin{verbatim}
|
||||
SYMBOLS=S_boulder:0
|
||||
# replace small punctuation (tick marks) with digits
|
||||
SYMBOLS=S_boulder:0,S_golem:7
|
||||
\end{verbatim}
|
||||
%.ed
|
||||
|
||||
@@ -3003,22 +3053,17 @@ Debug mode only: extra items to add to initial inventory.
|
||||
Value is the name of a text file containing a list of item names,
|
||||
one per line, up to a maximum of 128 lines.
|
||||
Each line is processed by the function that handles wishing.
|
||||
%.pg
|
||||
|
||||
%.lp ""
|
||||
Example:
|
||||
%.sd
|
||||
\begin{verbatim}
|
||||
WIZKIT=~/wizkit.txt
|
||||
WIZKIT=~/wizkit.txt
|
||||
\end{verbatim}
|
||||
%.ed
|
||||
%.lp
|
||||
\item[\bb{SOUNDDIR}]
|
||||
Define the directory that contains the sound files.
|
||||
See the ``Configuring User Sounds'' section.
|
||||
%.lp
|
||||
\item[\bb{SOUND}]
|
||||
Define a sound mapping. See the ``Configuring User Sounds'' section.
|
||||
\elist
|
||||
|
||||
%.lp ""
|
||||
%.pg
|
||||
Here is a short example of config file contents:
|
||||
%.sd
|
||||
@@ -4064,7 +4109,7 @@ Number of lines for traditional below-the-map status display.
|
||||
Acceptable values are 2 and 3 (default is 2).
|
||||
Curses and tty interfaces only.
|
||||
%.lp
|
||||
\item[\ib{term\verb+_+cols}\ \ {\it and}]"
|
||||
\item[\ib{term\verb+_+cols} {\normalfont and}]
|
||||
%.lp
|
||||
\item[\ib{term\verb+_+rows}]
|
||||
Curses interface only.
|
||||
@@ -4275,12 +4320,14 @@ character in the pattern, specifically:
|
||||
%.ei
|
||||
%.ed
|
||||
|
||||
A ``never pickup'' rule takes precedence over an ``always pickup'' rule if
|
||||
both match.
|
||||
The {\it autopickup\verb+_+exception\/} rules are processed in the order
|
||||
in which they appear in your config file, thus allowing a later rule to override
|
||||
an earlier rule.
|
||||
|
||||
%.lp ""
|
||||
Exceptions can be set with the `{\tt O}' command, but ones set that way will
|
||||
not be preserved across saves and restores.
|
||||
Exceptions can be set with the `{\tt O}' command, but because they are not included
|
||||
in your config file, they won't be in effect if you save and then restore your game.
|
||||
{\it autopickup\verb+_+exception\/} rules are not saved with the game.
|
||||
\elist
|
||||
|
||||
%.lp "Here are some examples:"
|
||||
@@ -4337,157 +4384,157 @@ 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.
|
||||
\elist
|
||||
|
||||
%.pg
|
||||
\blist{}
|
||||
\blist{\itemindent 10mm \labelwidth 15mm \rightmargin 15mm}
|
||||
%.lp
|
||||
\item{\bb{count}}
|
||||
\item[{\bb{count}}]
|
||||
Prefix key to start a count, to repeat a command this many times.
|
||||
With {\it number\verb+_+pad\/} only. Default is `{\tt n}'.
|
||||
With {\it number\verb+_+pad\/} only. Default is~`{\tt n}'.
|
||||
%.lp
|
||||
\item{\bb{doinv}}
|
||||
Show inventory. With {\it number\verb+_+pad\/} only. Default is `{\tt 0}'.
|
||||
\item[{\bb{doinv}}]
|
||||
Show inventory. With {\it number\verb+_+pad\/} only. Default is~`{\tt 0}'.
|
||||
%.lp
|
||||
\item{\bb{fight}}
|
||||
Prefix key to force fight a direction. Default is `{\tt F}'.
|
||||
\item[{\bb{fight}}]
|
||||
Prefix key to force fight a direction. Default is~`{\tt F}'.
|
||||
%.lp
|
||||
\item{\bb{fight.numpad}}
|
||||
\item[{\bb{fight.numpad}}]
|
||||
Prefix key to force fight a direction. With {\it number\verb+_+pad\/} only.
|
||||
Default is `{\tt -}'.
|
||||
Default is~`{\tt -}'.
|
||||
%.lp
|
||||
\item{\bb{getdir.help}}
|
||||
When asked for a direction, the key to show the help. Default is `{\tt ?}'.
|
||||
\item[{\bb{getdir.help}}]
|
||||
When asked for a direction, the key to show the help. Default is~`{\tt ?}'.
|
||||
%.lp
|
||||
\item{\bb{getdir.self}}
|
||||
When asked for a direction, the key to target yourself. Default is `{\tt .}'.
|
||||
\item[{\bb{getdir.self}}]
|
||||
When asked for a direction, the key to target yourself. Default is~`{\tt .}'.
|
||||
%.lp
|
||||
\item{\bb{getdir.self2}}
|
||||
When asked for a direction, the key to target yourself. Default is `{\tt s}'.
|
||||
\item[{\bb{getdir.self2}}]
|
||||
When asked for a direction, the key to target yourself. Default is~`{\tt s}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.autodescribe}}
|
||||
\item[{\bb{getpos.autodescribe}}]
|
||||
When asked for a location, the key to toggle {\it autodescribe\/}.
|
||||
Default is `{\tt \#}'.
|
||||
Default is~`{\tt \#}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.all.next}}
|
||||
\item[{\bb{getpos.all.next}}]
|
||||
When asked for a location, the key to go to next closest interesting thing.
|
||||
Default is `{\tt a}'.
|
||||
Default is~`{\tt a}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.all.prev}}
|
||||
\item[{\bb{getpos.all.prev}}]
|
||||
When asked for a location, the key to go to previous closest interesting thing.
|
||||
Default is `{\tt A}'.
|
||||
Default is~`{\tt A}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.door.next}}
|
||||
\item[{\bb{getpos.door.next}}]
|
||||
When asked for a location, the key to go to next closest door or doorway.
|
||||
Default is `{\tt d}'.
|
||||
Default is~`{\tt d}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.door.prev}}
|
||||
\item[{\bb{getpos.door.prev}}]
|
||||
When asked for a location, the key to go to previous closest door or doorway.
|
||||
Default is `{\tt D}'.
|
||||
Default is~`{\tt D}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.help}}
|
||||
When asked for a location, the key to show help. Default is `{\tt ?}'.
|
||||
\item[{\bb{getpos.help}}]
|
||||
When asked for a location, the key to show help. Default is~`{\tt ?}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.mon.next}}
|
||||
\item[{\bb{getpos.mon.next}}]
|
||||
When asked for a location, the key to go to next closest monster.
|
||||
Default is `{\tt m}'.
|
||||
Default is~`{\tt m}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.mon.prev}}
|
||||
\item[{\bb{getpos.mon.prev}}]
|
||||
When asked for a location, the key to go to previous closest monster.
|
||||
Default is `{\tt M}'.
|
||||
Default is~`{\tt M}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.obj.next}}
|
||||
\item[{\bb{getpos.obj.next}}]
|
||||
When asked for a location, the key to go to next closest object.
|
||||
Default is `{\tt o}'.
|
||||
Default is~`{\tt o}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.obj.prev}}
|
||||
\item[{\bb{getpos.obj.prev}}]
|
||||
When asked for a location, the key to go to previous closest object.
|
||||
Default is `{\tt O}'.
|
||||
Default is~`{\tt O}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.menu}}
|
||||
\item[{\bb{getpos.menu}}]
|
||||
When asked for a location, and using one of the next or previous keys to
|
||||
cycle through targets, toggle showing a menu instead. Default is `{\tt !}'.
|
||||
cycle through targets, toggle showing a menu instead. Default is~`{\tt !}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.moveskip}}
|
||||
\item[{\bb{getpos.moveskip}}]
|
||||
When asked for a location, and using the shifted movement keys or
|
||||
meta-digit keys to fast-move around, move by skipping the same glyphs
|
||||
instead of by 8 units.
|
||||
Default is `{\tt *}'.
|
||||
Default is~`{\tt *}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.filter}}
|
||||
\item[{\bb{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 `{\tt "}'.
|
||||
filtering, in view only, and in the same area only. Default is~`{\tt "}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.pick}}
|
||||
\item[{\bb{getpos.pick}}]
|
||||
When asked for a location, the key to choose the location, and possibly
|
||||
ask for more info. Default is `{\tt .}'.
|
||||
ask for more info. Default is~`{\tt .}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.pick.once}}
|
||||
\item[{\bb{getpos.pick.once}}]
|
||||
When asked for a location, the key to choose the location, and skip
|
||||
asking for more info. Default is `{\tt ,}'.
|
||||
asking for more info. Default is~`{\tt ,}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.pick.quick}}
|
||||
\item[{\bb{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. Default is `{\tt ;}'.
|
||||
for more info, and exit the location asking loop. Default is~`{\tt ;}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.pick.verbose}}
|
||||
\item[{\bb{getpos.pick.verbose}}]
|
||||
When asked for a location, the key to choose the location, and show more
|
||||
info without asking. Default is `{\tt :}'.
|
||||
info without asking. Default is~`{\tt :}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.self}}
|
||||
\item[{\bb{getpos.self}}]
|
||||
When asked for a location, the key to go to your location.
|
||||
Default is `{\tt @}'.
|
||||
Default is~`{\tt @}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.unexplored.next}}
|
||||
\item[{\bb{getpos.unexplored.next}}]
|
||||
When asked for a location, the key to go to next closest unexplored location.
|
||||
Default is `{\tt x}'.
|
||||
Default is~`{\tt x}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.unexplored.prev}}
|
||||
\item[{\bb{getpos.unexplored.prev}}]
|
||||
When asked for a location, the key to go to previous closest unexplored
|
||||
location. Default is `{\tt X}'.
|
||||
location. Default is~`{\tt X}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.valid}}
|
||||
\item[{\bb{getpos.valid}}]
|
||||
When asked for a location, the key to go to show valid target locations.
|
||||
Default is `{\tt \$}'.
|
||||
Default is~`{\tt \$}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.valid.next}}
|
||||
\item[{\bb{getpos.valid.next}}]
|
||||
When asked for a location, the key to go to next closest valid location.
|
||||
Default is `{\tt z}'.
|
||||
Default is~`{\tt z}'.
|
||||
%.lp
|
||||
\item{\bb{getpos.valid.prev}}
|
||||
\item[{\bb{getpos.valid.prev}}]
|
||||
When asked for a location, the key to go to previous closest valid location.
|
||||
Default is `{\tt Z}'.
|
||||
Default is~`{\tt Z}'.
|
||||
%.lp
|
||||
\item{\bb{nopickup}}
|
||||
Prefix key to move without picking up items. Default is `{\tt m}'.
|
||||
\item[{\bb{nopickup}}]
|
||||
Prefix key to move without picking up items. Default is~`{\tt m}'.
|
||||
%.lp
|
||||
\item{\bb{redraw}}
|
||||
Key to redraw the screen. Default is `{\tt \^{}R}'.
|
||||
\item[{\bb{redraw}}]
|
||||
Key to redraw the screen. Default is~`{\tt \^{}R}'.
|
||||
%.lp
|
||||
\item{\bb{redraw.numpad}}
|
||||
\item[{\bb{redraw.numpad}}]
|
||||
Key to redraw the screen. With {\it number\verb+_+pad\/} only.
|
||||
Default is `{\tt \^{}L}'.
|
||||
Default is~`{\tt \^{}L}'.
|
||||
%.lp
|
||||
\item{\bb{repeat}}
|
||||
Key to repeat previous command. Default is `{\tt \^{}A}'.
|
||||
\item[{\bb{repeat}}]
|
||||
Key to repeat previous command. Default is~`{\tt \^{}A}'.
|
||||
%.lp
|
||||
\item{\bb{reqmenu}}
|
||||
Prefix key to request menu from some commands. Default is `{\tt m}'.
|
||||
\item[{\bb{reqmenu}}]
|
||||
Prefix key to request menu from some commands. Default is~`{\tt m}'.
|
||||
%.lp
|
||||
\item{\bb{run}}
|
||||
Prefix key to run towards a direction. Default is `{\tt G}'.
|
||||
\item[{\bb{run}}]
|
||||
Prefix key to run towards a direction. Default is~`{\tt G}'.
|
||||
%.lp
|
||||
\item{\bb{run.nopickup}}
|
||||
\item[{\bb{run.nopickup}}]
|
||||
Prefix key to run towards a direction without picking up items on the way.
|
||||
Default is `{\tt M}'.
|
||||
Default is~`{\tt M}'.
|
||||
%.lp
|
||||
\item{\bb{run.numpad}}
|
||||
\item[{\bb{run.numpad}}]
|
||||
Prefix key to run towards a direction. With {\it number\verb+_+pad\/} only.
|
||||
Default is `{\tt 5}'.
|
||||
Default is~`{\tt 5}'.
|
||||
%.lp
|
||||
\item{\bb{rush}}
|
||||
Prefix key to rush towards a direction. Default is `{\tt g}'.
|
||||
\elist
|
||||
\item[{\bb{rush}}]
|
||||
Prefix key to rush towards a direction. Default is~`{\tt g}'.
|
||||
\elist
|
||||
|
||||
|
||||
@@ -4692,6 +4739,8 @@ 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.
|
||||
|
||||
%.lp ""
|
||||
For example: {\tt magenta\&inverse+dim}.
|
||||
|
||||
Note that the display may substitute or ignore particular attributes
|
||||
@@ -4744,23 +4793,19 @@ percentage or absolute number threshold, or text to match against.
|
||||
|
||||
\blist{}
|
||||
%.lp "*"
|
||||
\item{\bb{}}
|
||||
``{\tt always}'' will set the default attributes for that field.
|
||||
\item[{\tt always}] will set the default attributes for that field.
|
||||
%.lp "*"
|
||||
\item{\bb{}}
|
||||
``{\tt up}'' and ``{\tt down}'' set the field attributes for when the field
|
||||
value changes upwards or downwards. This attribute times out after
|
||||
{\tt statushilites} turns.
|
||||
\item[{\tt up}{\normalfont, }{\tt down}] set the field attributes
|
||||
for when the field value changes upwards or downwards. This attribute
|
||||
times out after {\tt statushilites} turns.
|
||||
%.lp "*"
|
||||
\item{\bb{}}
|
||||
``{\tt changed}'' sets the field attribute for when the field value
|
||||
\item[{\tt changed}] sets the field attribute for when the field value
|
||||
changes. This attribute times out after {\tt statushilites} turns.
|
||||
(If a field has both a ``changed'' rule and an ``up'' or ``down''
|
||||
rule which matches a change in the field's value,
|
||||
the ``up'' or ``down'' one takes precedence.)
|
||||
%.lp "*"
|
||||
\item{\bb{}}
|
||||
percentage sets the field attribute when the field value
|
||||
\item[{\tt percentage}] sets the field attribute when the field value
|
||||
matches the percentage.
|
||||
It is specified as a number between 0 and 100, followed by `{\tt \%}'
|
||||
(percent sign).
|
||||
@@ -4769,10 +4814,26 @@ it also matches when value is below or above the percentage.
|
||||
Use prefix `{\tt <}' or `{\tt >}' to match when strictly below or above.
|
||||
(The numeric limit is relaxed slightly for those: {\tt >-1\%}
|
||||
and {\tt <101\%} are allowed.)
|
||||
Only valid for ``{\it hitpoints\/}'' and ``{\it power\/}'' fields.
|
||||
Only four fields support percentage rules.
|
||||
Percentages for ``{\it hitpoints\/}'' and ``{\it power\/}'' are
|
||||
straightforward; they're based on the corresponding maximum field.
|
||||
Percentage highlight rules are also allowed for ``{\it experience level\/}''
|
||||
and ``{\it experience points\/}'' (valid when the
|
||||
{\it showexp\/}
|
||||
option is enabled).
|
||||
For those, the percentage is based on the progress from the start of
|
||||
the current experience level to the start of the next level.
|
||||
So if level 2 starts at 20 points and level 3 starts at 40 points,
|
||||
having 30 points is 50\% and 35 points is 75\%.
|
||||
100\% is unattainable for experience because you'll gain a level and
|
||||
the calculations will be reset for that new level, but a rule for
|
||||
{\tt =100\%} is allowed and matches the special case of being
|
||||
exactly 1 experience point short of the next level.
|
||||
% (If you manage to reach level 30, there is no next level and the
|
||||
% percentage will remain at 0\% no matter have many additional experience
|
||||
% points you earn.)
|
||||
%.lp "*"
|
||||
\item{\bb{}}
|
||||
absolute value sets the attribute when the field value
|
||||
\item[{\tt absolute}] value sets the attribute when the field value
|
||||
matches that number.
|
||||
The number must be 0 or higher, except for ``{\it armor-class\/} which
|
||||
allows negative values, and may optionally be preceded by `{\tt =}'.
|
||||
@@ -4781,8 +4842,7 @@ it also matches when value is below or above.
|
||||
If the prefix is `{\tt <}' or `{\tt >}', only match when strictly
|
||||
above or below.
|
||||
%.lp "*"
|
||||
\item{\bb{}}
|
||||
text match sets the attribute when the field value matches the text.
|
||||
\item[{\tt text}] match sets the attribute when the field value matches the text.
|
||||
Text matches can only be used for ``{\it alignment\/}'',
|
||||
``{\it carrying-capacity\/}'', ``{\it hunger\/}'', ``{\it dungeon-level\/}'',
|
||||
and ``{\it title\/}''.
|
||||
@@ -4833,11 +4893,14 @@ Set the name of the symbol set that you want to load for display
|
||||
on the rogue level.
|
||||
\elist
|
||||
|
||||
You can also override one or more symbols using the {\it SYMBOLS\/} config
|
||||
file option. Symbols are specified as {\it name:value\/} pairs. Note that
|
||||
{\it NetHack\/} escape-processes the {\it value\/} string in conventional C
|
||||
fashion. This means that `\verb+\+' is a prefix to take the following
|
||||
character literally. Thus `\verb+\+' needs to be represented as `\verb+\\+'.
|
||||
You can also override one or more symbols using the {\it SYMBOLS\/} and
|
||||
{\it ROGUESYMBOLS\/} config file options.
|
||||
Symbols are specified as {\it name:value\/} pairs.
|
||||
Note that {\it NetHack\/} escape-processes
|
||||
the {\it value\/} string in conventional C fashion.
|
||||
This means that `\verb+\+' is a prefix to take the following character
|
||||
literally.
|
||||
Thus `\verb+\+' needs to be represented as `\verb+\\+'.
|
||||
The special prefix
|
||||
`\verb+\m+' switches on the meta bit in the symbol value, and the
|
||||
`{\tt \^{}}' prefix causes the following character to be treated as a control
|
||||
@@ -4975,7 +5038,8 @@ Default & Symbol Name & Description\\
|
||||
\verb+@+ & S\verb+_+ss3 & (magic shield 3 of 4)\\
|
||||
\verb@*@ & S\verb+_+ss4 & (magic shield 4 of 4)\\
|
||||
\verb@^@ & S\verb+_+statue\verb+_+trap & (statue trap)\\
|
||||
\verb@ @ & S\verb+_+stone & (dark part of a room)\\
|
||||
\verb@ @ & S\verb+_+stone & (solid rock or unexplored terrain\\
|
||||
& & \,or dark part of a room)\\
|
||||
\verb@]@ & S\verb+_+strange\verb+_+obj & (strange object)\\
|
||||
\verb@-@ & S\verb+_+sw\verb+_+bc & (swallow bottom center)\\
|
||||
\verb@\@ & S\verb+_+sw\verb+_+bl & (swallow bottom left)\\
|
||||
@@ -4990,7 +5054,7 @@ Default & Symbol Name & Description\\
|
||||
\verb@\@ & S\verb+_+throne & (opulent throne)\\
|
||||
\verb@-@ & S\verb+_+tlcorn & (top left corner)\\
|
||||
\verb@|@ & S\verb+_+tlwall & (wall)\\
|
||||
\verb@(@ & S\verb+_+tool & (useful item (pick-axe\, key\, lamp...))\\
|
||||
\verb@(@ & S\verb+_+tool & (useful item (pick-axe, key, lamp...))\\
|
||||
\verb@^@ & S\verb+_+trap\verb+_+door & (trap door)\\
|
||||
\verb@t@ & S\verb+_+trapper & (trapper or lurker above)\\
|
||||
\verb@-@ & S\verb+_+trcorn & (top right corner)\\
|
||||
@@ -5019,24 +5083,29 @@ Default & Symbol Name & Description\\
|
||||
\verb@w@ & S\verb+_+worm & (worm)\\
|
||||
\verb@~@ & S\verb+_+worm\verb+_+tail & (long worm tail)\\
|
||||
\verb@W@ & S\verb+_+wraith & (wraith)\\
|
||||
\verb@x@ & S\verb+_+xan & (xan or other mythical/fantastic insect)\\
|
||||
\verb@x@ & S\verb+_+xan & (xan or other extraordinary insect)\\
|
||||
\verb@X@ & S\verb+_+xorn & (xorn)\\
|
||||
\verb@Y@ & S\verb+_+yeti & (apelike creature)\\
|
||||
\verb@Z@ & S\verb+_+zombie & (zombie)\\
|
||||
\verb@z@ & S\verb+_+zruty & (zruty)
|
||||
\verb@z@ & S\verb+_+zruty & (zruty)\\
|
||||
\verb@ @ & S\verb+_+pet\verb+_+override & (any pet if ACCESSIBILITY=1 is set)\\
|
||||
\verb@ @ & S\verb+_+player\verb+_+override & (hero if ACCESSIBILITY=1 is set)
|
||||
\end{longtable}%
|
||||
}
|
||||
|
||||
\hyphenation{sysconf} %no syllable breaks => don't hyphenate file name
|
||||
%.pg
|
||||
There is one additional class of object, described as ``strange object'',
|
||||
which will occasionally be the shape taken on by mimics and shown as
|
||||
`{\tt \verb+]+}'
|
||||
for maps displayed as text characters.
|
||||
Although the displayed character is the same as the default value for
|
||||
`S\verb+_+mimic\verb+_+def', it is a different symbol and there is no
|
||||
corresponding
|
||||
`S\verb+_+strange\verb+_+object' symbol nor any way to assign an
|
||||
alternate value for it.
|
||||
Notes: several symbols in this table appear to be blank.
|
||||
They are the space character, except for S\verb+_+pet\verb+_+override
|
||||
and S\verb+_+player\verb+_+override which don't have any default value
|
||||
and can only be used if enabled in the ``sysconf'' file.
|
||||
|
||||
%.pg
|
||||
S\verb+_+rock is misleadingly named; rocks and stones use S\verb+_+gem.
|
||||
Statues and boulders are the rock being referred to, but since
|
||||
version 3.6.0, statues are displayed as the monster they depict.
|
||||
So S\verb+_+rock is only used for boulders and not used at all if
|
||||
overridden by the more specific S\verb+_+boulder.
|
||||
|
||||
%.pg
|
||||
%.hn 2
|
||||
@@ -5079,8 +5148,15 @@ is a symset called {\it NHAccess\/}. Selecting that symset in your
|
||||
configuration file will cause the game to run in a manner accessible
|
||||
to the blind. After you have gained some experience with the game
|
||||
and with editing files, you may want to alter settings via {\it SYMBOLS=\/}
|
||||
and {\it ROGUESYMBOLS=\/}
|
||||
in your configuration file to better suit your preferences.
|
||||
The most crucial settings to make the game accessible are:
|
||||
See the previous section for the special symbols S\verb+_+pet\verb+_+override
|
||||
to force a consistent symbol for all pets and S\verb+_+player\verb+_+override
|
||||
to force a unique symbol for the player character if {\it accessibility\/}
|
||||
is enabled in the {\it sysconf\/} file.
|
||||
|
||||
%.pg
|
||||
The most crucial settings to make the game more accessible are:
|
||||
%.pg
|
||||
\blist{}
|
||||
%.lp
|
||||
@@ -5412,7 +5488,7 @@ with help from {\it Ross Brown}, {\it Mike Engber}, {\it David Hairston},
|
||||
{\it Michael Hamel}, {\it Jonathan Handler}, {\it Johnny Lee},
|
||||
{\it Tim Lennan}, {\it Rob Menke}, and {\it Andy Swanson},
|
||||
developed {\it NetHack\/} 3.1 for the Macintosh, porting it for MPW.
|
||||
Building on their development, {\it Barton House} added a Think C port.
|
||||
Building on their development, {\it Bart House} added a Think C port.
|
||||
|
||||
%.pg
|
||||
\medskip
|
||||
@@ -5625,7 +5701,7 @@ maintained the port of {\it NetHack\/} 3.6 for Mac OSX.
|
||||
|
||||
%.pg
|
||||
\medskip
|
||||
{\it Michael Allison}, {\it David Cohrs}, {\it Barton House},
|
||||
{\it Michael Allison}, {\it David Cohrs}, {\it Bart House},
|
||||
{\it Pasi Kallinen}, {\it Alex Kompel}, {\it Dion Nicolaas},
|
||||
{\it Derek S. Ray} and {\it Yitzhak Sapir}
|
||||
maintained the port of {\it NetHack\/} 3.6 for Microsoft Windows.
|
||||
@@ -5659,6 +5735,11 @@ time of release of 3.6.1 consisted of
|
||||
In early May 2019, another 320 bug fixes along with some enhancements and
|
||||
the adopted curses window port, were released as 3.6.2.
|
||||
|
||||
%.pg
|
||||
\medskip
|
||||
{\it Bart House}, who had contributed to the game as a porting team participant
|
||||
for decades, joined the {\it NetHack Development Team} in late May 2019.
|
||||
|
||||
%.pg
|
||||
\medskip
|
||||
\nd The official {\it NetHack\/} web site is maintained by {\it Ken Lorber} at
|
||||
@@ -5693,47 +5774,48 @@ of these miscreants in this, the list of Dungeoneers:
|
||||
\begin{center}
|
||||
\begin{tabular}{llll}
|
||||
%TABLE_START
|
||||
Adam Aronow & Janet Walz & Nathan Eady\\
|
||||
Alex Kompel & Janne Salmij\"{a}rvi & Norm Meluch\\
|
||||
Alex Smith & Jean-Christophe Collet & Olaf Seibert\\
|
||||
Andreas Dorn & Jeff Bailey & Pasi Kallinen\\
|
||||
Andy Church & Jochen Erwied & Pat Rankin\\
|
||||
Andy Swanson & John Kallen & Patric Mueller\\
|
||||
Adam Aronow & J. Ali Harlow & Mikko Juola\\
|
||||
Alex Kompel & Janet Walz & Nathan Eady\\
|
||||
Alex Smith & Janne Salmij\"{a}rvi & Norm Meluch\\
|
||||
Andreas Dorn & Jean-Christophe Collet & Olaf Seibert\\
|
||||
Andy Church & Jeff Bailey & Pasi Kallinen\\
|
||||
Andy Swanson & Jochen Erwied & Pat Rankin\\
|
||||
Andy Thomson & John Kallen & Patric Mueller\\
|
||||
Ari Huttunen & John Rupley & Paul Winner\\
|
||||
Barton House & John S. Bien & Pierre Martineau\\
|
||||
Bart House & John S. Bien & Pierre Martineau\\
|
||||
Benson I. Margulies & Johnny Lee & Ralf Brown\\
|
||||
Bill Dyer & Jon W\{tte & Ray Chason\\
|
||||
Boudewijn Waijers & Jonathan Handler & Richard Addison\\
|
||||
Bruce Cox & Joshua Delahunty & Richard Beigel\\
|
||||
Bruce Holloway & Karl Garrison & Richard P. Hughey\\
|
||||
Bruce Mewborne & Keizo Yamamoto & Rob Menke\\
|
||||
Carl Schelin & Ken Arnold & Robin Bandy\\
|
||||
Chris Russo & Ken Arromdee & Robin Johnson\\
|
||||
David Cohrs & Ken Lorber & Roderick Schertler\\
|
||||
David Damerell & Ken Washikita & Roland McGrath\\
|
||||
David Gentzel & Kevin Darcy & Ron Van Iwaarden\\
|
||||
David Hairston & Kevin Hugo & Ronnen Miller\\
|
||||
Dean Luick & Kevin Sitze & Ross Brown\\
|
||||
Del Lamb & Kevin Smolkowski & Sascha Wostmann\\
|
||||
Derek S. Ray & Kevin Sweet & Scott Bigham\\
|
||||
Deron Meranda & Lars Huttar & Scott R. Turner\\
|
||||
Dion Nicolaas & Leon Arnott & Sean Hunt\\
|
||||
Dylan O'Donnell & M. Drew Streib & Stephen Spackman\\
|
||||
Eric Backus & Malcolm Ryan & Stefan Thielscher\\
|
||||
Eric Hendrickson & Mark Gooderum & Stephen White\\
|
||||
Eric R. Smith & Mark Modrall & Steve Creps\\
|
||||
Eric S. Raymond & Marvin Bressler & Steve Linhart\\
|
||||
Erik Andersen & Matthew Day & Steve VanDevender\\
|
||||
Frederick Roeber & Merlyn LeRoy & Teemu Suikki\\
|
||||
Gil Neiger & Michael Allison & Tim Lennan\\
|
||||
Greg Laskin & Michael Feir & Timo Hakulinen\\
|
||||
Greg Olson & Michael Hamel & Tom Almy\\
|
||||
Gregg Wonderly & Michael Sokolov & Tom West\\
|
||||
Hao-yang Wang & Mike Engber & Warren Cheung\\
|
||||
Helge Hafting & Mike Gallop & Warwick Allison\\
|
||||
Irina Rempt-Drijfhout & Mike Passaretti & Yitzhak Sapir\\
|
||||
Izchak Miller & Mike Stephenson\\
|
||||
J. Ali Harlow & Mikko Juola
|
||||
Carl Schelin & Keith Simpson & Robin Bandy\\
|
||||
Chris Russo & Ken Arnold & Robin Johnson\\
|
||||
David Cohrs & Ken Arromdee & Roderick Schertler\\
|
||||
David Damerell & Ken Lorber & Roland McGrath\\
|
||||
David Gentzel & Ken Washikita & Ron Van Iwaarden\\
|
||||
David Hairston & Kevin Darcy & Ronnen Miller\\
|
||||
Dean Luick & Kevin Hugo & Ross Brown\\
|
||||
Del Lamb & Kevin Sitze & Sascha Wostmann\\
|
||||
Derek S. Ray & Kevin Smolkowski & Scott Bigham\\
|
||||
Deron Meranda & Kevin Sweet & Scott R. Turner\\
|
||||
Dion Nicolaas & Lars Huttar & Sean Hunt\\
|
||||
Dylan O'Donnell & Leon Arnott & Stephen Spackman\\
|
||||
Eric Backus & M. Drew Streib & Stefan Thielscher\\
|
||||
Eric Hendrickson & Malcolm Ryan & Stephen White\\
|
||||
Eric R. Smith & Mark Gooderum & Steve Creps\\
|
||||
Eric S. Raymond & Mark Modrall & Steve Linhart\\
|
||||
Erik Andersen & Marvin Bressler & Steve VanDevender\\
|
||||
Fredrik Ljungdahl & Matthew Day & Teemu Suikki\\
|
||||
Frederick Roeber & Merlyn LeRoy & Tim Lennan\\
|
||||
Gil Neiger & Michael Allison & Timo Hakulinen\\
|
||||
Greg Laskin & Michael Feir & Tom Almy\\
|
||||
Greg Olson & Michael Hamel & Tom West\\
|
||||
Gregg Wonderly & Michael Sokolov & Warren Cheung\\
|
||||
Hao-yang Wang & Mike Engber & Warwick Allison\\
|
||||
Helge Hafting & Mike Gallop & Yitzhak Sapir\\
|
||||
Irina Rempt-Drijfhout & Mike Passaretti\\
|
||||
Izchak Miller & Mike Stephenson
|
||||
%TABLE_END Do not delete this line.
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
|
||||
3622
doc/Guidebook.txt
3622
doc/Guidebook.txt
File diff suppressed because it is too large
Load Diff
@@ -347,7 +347,8 @@
|
||||
# How the map window is shown? Windows GUI only.
|
||||
# possible map_mode options include: tiles, ascii4x6,
|
||||
# ascii6x8, ascii8x8, ascii16x8, ascii7x12, ascii8x12, ascii16x12,
|
||||
# ascii12x16, ascii10x18, fit_to_screen
|
||||
# ascii12x16, ascii10x18, fit_to_screen, ascii_fit_to_screen,
|
||||
# tiles_fit_to_screen
|
||||
#OPTIONS=map_mode:tiles
|
||||
|
||||
# Define alternative file for the files, and the tile size
|
||||
|
||||
200
doc/fixes36.3
200
doc/fixes36.3
@@ -1,4 +1,4 @@
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.79 $ $NHDT-Date: 1561917056 2019/06/30 17:50:56 $
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.159 $ $NHDT-Date: 1572892926 2019/11/04 18:42:06 $
|
||||
|
||||
This fixes36.3 file is here to capture information about updates in the 3.6.x
|
||||
lineage following the release of 3.6.2 in May 2019. Please note, however,
|
||||
@@ -94,6 +94,129 @@ saving bones with 'perm_invent' On could result in "Bad fruit #N" warnings
|
||||
update persistent inventory window immediately if 'sortpack' option is toggled
|
||||
grammar bit for wizard mode final disclosure; attribute section could show
|
||||
"You had N experience points, 1 more were needed to attain level X+1."
|
||||
if an engulfer has any worn items, hero could pick them up from inside and
|
||||
they wouldn't be unworn properly, eventually triggering warnings or
|
||||
worse (Juiblex will wear an amulet if created with one; a shapechanger
|
||||
might wear one and then turn into an engulfer)
|
||||
kicking an altar ignored god's wrath if hero injured himself during the kick
|
||||
detect unseen/secret door detection/^E failed to find monsters hiding under
|
||||
objects and failed to find monsters hiding at trap locations
|
||||
when farlook describes a monster at a visible spot as trapped, reveal the trap
|
||||
fix theft when poly'd into nymph form; 3.6.2 change made that anger the victim
|
||||
hero poly'd into nymph would steal gold along with other items
|
||||
change wizard mode #panic to require "yes" if 'paranoid_confirm:quit' is set
|
||||
add some additional validation checks when setting up a new timer (triggered
|
||||
by an ancient source comment rather than by any observed problems)
|
||||
if a chaotic monk or wizard gets crowned and is given a spellbook rather than
|
||||
Stormbringer as the crowning gift, don't describe the hero as having
|
||||
been "chosen to steal souls for [Arioch's] glory"
|
||||
for multi-shot shooting by monsters, a typo checked hero's weapon for
|
||||
compatibility with ammo when monster was wielding an elven bow
|
||||
when a boulder was teleported, if it landed in a pit or trap door or hole its
|
||||
former location wasn't updated to show that it wasn't there anymore
|
||||
(noticed in Sokoban but not limited to there)
|
||||
Terry Pratchett tribute, fix typo in passage #4 for Mort ("the" -> "they")
|
||||
fix typo in end_of_input() present since 3.6.0 that would prevent compilation
|
||||
for NOSAVEONHANGUP+INSURANCE configuration
|
||||
when a status condition becomes fatal, keep it listed as an active condition
|
||||
during disclosure and/or dumplog rather than having it already reset
|
||||
when a shape-shifted sandestin was turned to stone, it died and reverted to
|
||||
sandestin form with 0 HP; that confused known_hitum() because
|
||||
sandestins are immune to stoning; net result was monster dying twice,
|
||||
triggering "dmonsfree: N removed doesn't match N+1 pending" warning;
|
||||
instead of dying, make it revert to sandestin form with full health
|
||||
toggling perm_invent (where supported) while swallowed or underwater didn't
|
||||
necessarily update the persistent inventory window right away
|
||||
have 'O' update persistent inventory window if 'implicit_uncursed',
|
||||
'menucolors', or 'guicolors' (curses) is toggled or if menucolors is
|
||||
On and any menu color patterns are added or removed
|
||||
'O's "set <option> to what?" could be used to force a buffer overflow
|
||||
'O's response to bad 'statuslines' value said "must be 2 and 3" (at one point
|
||||
it was "must be between 2 and 3", change it to "must be 2 or 3")
|
||||
when spellcasting monster aimed at wrong spot due to not being able to see
|
||||
invisible hero, feedback could be erroneous if hero could see self
|
||||
[messages used 'if (Invisible)' test where 'if (Invis)' was meant]
|
||||
prevent impossible when guard tries to relocate a monster on a full level
|
||||
hallucination provides partial protection from passive gaze counterattack
|
||||
against hero's attack; check for that before checking for free action
|
||||
feedback from blessed potion of restore ability never reported "you feel great"
|
||||
due to bad logic for not-unihorn case in unfixable_trouble_count()
|
||||
when rubbing a ring on a touchstone, all types of rings were treated as if
|
||||
they were gems; an iron ring made a cyan streak instead of yielding
|
||||
"scritch, scritch" and a gold ring made a yellow streak rather than
|
||||
a golden scratch
|
||||
zapping self with wand of opening or spell of knock to escape from a trap
|
||||
reported "you're released from <trap>" rather than "from the <trap>"
|
||||
zapping self with wand of opening or spell of knock to escape from a pit trap
|
||||
didn't reset vision limits--only spots adjacent to pit were visible
|
||||
wielded aklys that returned to hero when thrown while inside an engulfer left
|
||||
a stale 'thrownobj' pointer that triggered "add_to_minv: obj not free"
|
||||
panic if same weapon killed any engulfer via melee from inside
|
||||
uarmh null pointer dereference if a helm of opposite alignment came off due
|
||||
to being polymorphed
|
||||
verb tense was inappropriate in some messages when a mon/pet had a name
|
||||
ending in 's'
|
||||
orctown booty items should have been initialized in mksobj()
|
||||
query_category() and whatdoes_help() had early returns which could each leave
|
||||
a temporary window around, which in turn might eventually lead to a
|
||||
panic due to lack of window slots [probably moot for unmodified 3.6.x;
|
||||
the query one couldn't happen unless there is a coding error for
|
||||
object classes somewhere and the help one couldn't happen unless the
|
||||
installed data files left 'keyhelp' missing]
|
||||
ball and chain could end up too far from punished hero (triggering b&c warning
|
||||
for wizard mode with sanity checking active) when crawling out of
|
||||
water failed because dropping stuff left hero overly encumbered and
|
||||
hero was life saved--or player declined to die--if the hero got
|
||||
teleported one step further from ball and chain's current location
|
||||
avoid 'object lost' panic when polymorph causes loss of levitation boots or
|
||||
water walking boots which dumps hero into water where emergency
|
||||
disrobing/dropping in order to crawl out chooses to drop those boots
|
||||
'sortloot's attempt to group musical instruments separately from other tools
|
||||
didn't work as intended due to missing 'break' in sortloot_classify()
|
||||
<shift><letter> running told player about engravings as they were being moved
|
||||
over but buffered output didn't show it until hero stopped, so it
|
||||
wasn't possible to tell where they were, unlike all other forms of
|
||||
multiple movement; stop running if/when an engraving is reached
|
||||
fix exploding land mine moving ball or chain and causing a sanity error
|
||||
fix firing attached iron ball when swallowed causing a sanity error
|
||||
fix vault guard impossible when he could not relocate in certain situation
|
||||
fix temple priests or shopkeepers moving over other monsters
|
||||
fix hero still hiding under a statue shattered by a land mine
|
||||
fix helping a monster out of a pit addressing a deleted trap
|
||||
fix launched rolling boulder code accessing deleted trap
|
||||
fix monster stepping on a land mine code accessing deleted trap
|
||||
revise 'O' to show symbol sets in the same order they appear in the symbols
|
||||
file and order the sets in dat/symbols to yield a sensible symset menu
|
||||
yellow dragons had green breath
|
||||
partly eaten food in a bones level shop would show a non-zero sale price
|
||||
while on the floor but not be placed on shop bill if picked up;
|
||||
sale price should have been "no charge"
|
||||
when non-empty container is dropped in shop and hero is asked whether to sell,
|
||||
counting the subset of contents owned by hero vs those owned by shk
|
||||
could obtain wrong answer because the container had been placed on
|
||||
the floor but the 'unpaid' and 'no_charge' flags of its contents
|
||||
hadn't been updated yet, they were still set for when it was carried
|
||||
in a shop which doesn't care about tools: You drop a <box> containing 1 item.
|
||||
<Shk> offers you <gold> for your items in your <box>. Sell them?
|
||||
[plural 'items' and 'them' were including the box along with the one
|
||||
item in it even though shk was only offering to buy its contents]
|
||||
grammar correction for "That walking shoes is really a small mimic" when
|
||||
applying a stethoscope
|
||||
mimic immitating a slime mold would change fruit type when player assigned new
|
||||
named fruit
|
||||
parsing for the argument to 'scores' option was sloppy; "3a/o" (slash) and
|
||||
"3a 1o" (space and digit one, not lowercase L) both worked but "3a o"
|
||||
(just space) was supposed to but didn't
|
||||
wizmakemap could leave genocided monsters on map
|
||||
when entering Astral level, initial rendering of guardian angel didn't show
|
||||
it as tame; noticeable if the level was entered with 'hilite_pet' On
|
||||
fix a leashed pet polymorphed into a long worm staying leashed
|
||||
prevent leashing unsolid monsters and monsters with no extremities
|
||||
playing musical instruments gave feedback which ignored deafness
|
||||
some other deafness-related message corrections
|
||||
when dipping into holy/unholy water while blind (where the glow message is
|
||||
suppressed), clear dipped item's bknown flag unless water potion's
|
||||
bless/curse state is known
|
||||
|
||||
|
||||
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
|
||||
@@ -101,7 +224,7 @@ Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
|
||||
elemental_clog() loop needed to guard against obliteration of the monster
|
||||
that was trying to be placed
|
||||
using ^G to create "hidden mimic" shouldn't have marked it as undetected since
|
||||
mimics 'hide' be appearing to be something else; honor "hidden" for
|
||||
mimics 'hide' by appearing to be something else; honor "hidden" for
|
||||
'hides_under' creatures if/when created at location with object(s),
|
||||
also for eels and other fish if/when created at water location
|
||||
for wizard mode 'wizweight' option, glob weight wasn't shown unless glob had
|
||||
@@ -110,10 +233,23 @@ fix for feedback when a monster plays a fire horn at self to cure green slime
|
||||
ended up being used for zapping a wand of fire at self too
|
||||
wizard mode ^I "not carrying anything" still claimed "not carrying anything"
|
||||
if "(all items are already identified)" was given
|
||||
monster throwing from stack of missiles (darts, daggers, spears) would cause
|
||||
crash if it wasn't wielding a weapon (bug in multi-shot shooting fix)
|
||||
surviving death while polymorphed would yield "You are a <foo>" without
|
||||
terminating period
|
||||
'mksobj failure' commit resulted in wrong corpse types for dying monsters
|
||||
a recent intended sanity check fix inadvertently bypassed placing
|
||||
a thrown chained ball back onto the floor
|
||||
in symset:curses, symbol S_tree was accidentally set to horizontal line where
|
||||
plus-or-minus sign was meant; also, change S_bars to not-equals sign
|
||||
curses: sometimes the message window would show a blank line after a prompt
|
||||
curses: the change to show map in columns 1..79 instead of 2..80 made the
|
||||
highlight for '@' show up in the wrong place if clipped map had been
|
||||
panned horizontally
|
||||
curses+'perm_invent': menu coloring patterns which match ordinary inventory
|
||||
menu might fail to match persistent inventory window because leading
|
||||
article and space ("a ", "an ", "the ") is stripped off for brevity;
|
||||
perform the pattern matching tests before stripping doname() prefix
|
||||
tty: revert the attempt to fix "message line anomaly: if autodecribe feedback
|
||||
wrapped to second line, the wrapped portion wasn't erased when a
|
||||
shorter line was shown or getpos was dismissed" because it disrupted
|
||||
@@ -127,6 +263,11 @@ EDIT_GETLIN: wizard mode 'monpolycontrol' was using the getlin() answer buffer
|
||||
what kind of monster?" prompt, resulting in "<x,y>" as default answer
|
||||
EDIT_GETLIN: when naming an object or a monster use the existing name, if
|
||||
there is one, as the default answer
|
||||
EDIT_GETLIN: using 'O' to set message types or menu colors was overloading the
|
||||
answer buffer with other stuff, resulting in bogus default response
|
||||
during repeat prompting
|
||||
EDIT_GETLIN: for paranoid confirmation, if answer was neither "yes" nor "no",
|
||||
don't supply the rejected answer as the default when retrying
|
||||
curses: very tall menus tried to use selector characters a-z, A-Z, and 0-9,
|
||||
but 0-9 should be reserved for counts and if the display was tall
|
||||
enough for more than 62 entries, arbitrary ASCII punctuation got used
|
||||
@@ -165,6 +306,20 @@ curses: when map window was clipped, the 'scrollbars' shown to indicate which
|
||||
the 2nd and 3rd fifths (for example) were currently within view
|
||||
curses: support users's setting for erase char and kill char when getting a
|
||||
line of input with 'popup_dialog' Off (already supported for popup On)
|
||||
curses: support erase char and kill char when choosing an extended command
|
||||
curses: attempting to use ^H to rush left actually executed ^G (#wizgenesis)
|
||||
curses: disable the attempt to support Ctrl+Left_click as an alternate way
|
||||
to generate Right_click for systems with one-button mouse or trackpad;
|
||||
the mouse data passed to nethack didn't match the curses (ncurses on
|
||||
OSX 10.11) documentation and things didn't work as intended
|
||||
curses: menu coloring required that both 'menucolors' and 'guicolor' be On;
|
||||
for menus, override guicolor with more-specific menucolors
|
||||
curses: support symset:DECgraphics for map display
|
||||
curses: enable the 'use_inverse' boolean option (via wincap WC_INVERSE flag)
|
||||
for extended monster detection and black&white lava; forced to True
|
||||
to override default of False (for tty's benefit)
|
||||
curses: force 'O' command's menus for 'symset' and 'roguesymset' options to
|
||||
be wider so that fewer entries with set descriptions will wrap
|
||||
curses+'perm_invent': entries were wrapping without any control; usually not
|
||||
noticeable because next entry overwrote, but visible for final entry
|
||||
when whole inventory fit within the available height; looked ok with
|
||||
@@ -175,13 +330,19 @@ curses+'perm_invent': if too many entries for window height, last one which
|
||||
curses+'perm_invent': top line was wasted (left blank) when borders Off
|
||||
curses+'perm_invent': don't highlight inventory letters since nothing is
|
||||
selectable from the menu comprising the persistent inventory window
|
||||
curses+'perm_invent': could crash during restore if game was saved while
|
||||
hero was swallowed (invalid u.ustuck pointer; suppressing attempts to
|
||||
update persistent inventory window during restore hides the problem)
|
||||
curses+'popup_dialog': show the text cursor at the end of prompts for single
|
||||
character input
|
||||
curses+DUMPLOG: pass along old messages from save file and quest message
|
||||
summaries to dumplog message history
|
||||
curses+EDIT_GETLIN: when a prompt's answer was preloaded, using ESC to discard
|
||||
it deleted it from the answer buffer but didn't erase it from screen
|
||||
curses+EDIT_GETLIN: the preceding fix handled an answer which spanned more
|
||||
than one line but didn't remove the answer properly if the prompt
|
||||
portion of prompt+answer spanned more than one line
|
||||
msdos: code fixes to allow a build with curses and PDCurses
|
||||
tty: re-do one optimization used when status conditions have all been removed
|
||||
and remove another that tried to check whether condition text to be
|
||||
displayed next was the same as the existing value; sometimes new
|
||||
@@ -189,7 +350,16 @@ tty: re-do one optimization used when status conditions have all been removed
|
||||
tty: take two, if/when autodecribe feedback wraps past top line, clear
|
||||
continuation lines and redraw map if needed when top line is cleared
|
||||
['exposed by git' section has an entry for reversal of 'take one']
|
||||
tty: video attributes (bold, inverse, &c) for status highlighting sometimes
|
||||
were scrambled
|
||||
unix: sysconf CHECK_PLNAME=1 wouldn't work if attempt to obtain unix username
|
||||
failed even though it didn't need that username
|
||||
unix+curses: startup error only reset terminal for tty; one noticeable
|
||||
example was answering 'n' to "Destroy old game?"
|
||||
Windows: some startup error messages were not being delivered successfully
|
||||
WindowsGUI: player selection dialog box layout was not being adjusted for DPI
|
||||
Windows: signifiant changes to default directory choices. see documentation
|
||||
for details.
|
||||
|
||||
|
||||
General New Features
|
||||
@@ -201,22 +371,48 @@ if you reach the edge of a level (relatively uncommon) and try to move off,
|
||||
'attributes' disclosure at end of game includes number of experience points
|
||||
that were needed to reach the next experience level (new for normal
|
||||
play and explore mode; previously only shown for wizard mode)
|
||||
report Friday-13th/phase-of-moon/time-of-day for ^X and final disclosure when
|
||||
their values matter to game play (date and moon are from the start of
|
||||
current session and are not dynamically updated as real time elapses;
|
||||
night is a fixed range of hours using the computer's conception of
|
||||
local time which could differ from player's if there are time zone or
|
||||
system clock issues or simply seasonal variation based on latitude;
|
||||
not new but needs to be documented somewhere other than spoilers...)
|
||||
status highlighting using percentage rules now supported for experience level
|
||||
and experience points; for both, percent is based on Exp progress from
|
||||
the start of the current Xp level to the start of the next Xp level;
|
||||
100% isn't possible so used as special case for next_Xp_lvl - 1 Exp_pt
|
||||
wizard-mode: display effect to show where an unseen wished-for monster landed
|
||||
for 'O's symset and roguesymset menus, mark current symbol set as preselected
|
||||
curses: enable latent mouse support
|
||||
curses: give menus and text windows a minimum size of 5x25 since tiny ones can
|
||||
sometimes be overlooked when shown over old messages rather than map
|
||||
curses+'perm_invent': since persistent inventory is narrow, strip off "a",
|
||||
"an", or "the" prefix on inventory entries shown there so that a tiny
|
||||
bit more of the interesting portion is visible
|
||||
curses+'curses': change the curses map display to use new symbol set 'curses'
|
||||
instead of hard-coded values; it attempts to show IBMgraphics-style
|
||||
map using DECgraphics characters; DECgraphics can also be used as-is
|
||||
fulfill a request from a blind player to have a unique overriding SYMBOL for
|
||||
pets and for the player
|
||||
ROGUESYMBOLS can be overridden in config files like SYMBOLS can
|
||||
in symset:DECgraphics, set S_altar to 'pi' (was default '_'), S_bars to
|
||||
not-equals sign (was 'pi')
|
||||
|
||||
|
||||
NetHack Community Patches (or Variation) Included
|
||||
-------------------------------------------------
|
||||
add a couple of engraving suggestions in pull request #79
|
||||
chasonr's faster method to write characters to msdos VGA in pull request #220
|
||||
chasonr's msdos Makefile.gcc pdcurses build changes in pull request #243
|
||||
autopickup exception priority change in pull request #226
|
||||
|
||||
|
||||
Code Cleanup and Reorganization
|
||||
-------------------------------
|
||||
began to add some function caller BREADCRUMBS to aid debugging
|
||||
flag existing occurrences of "You hear" as "Deaf-aware" to aid in
|
||||
future maintenance
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -38,4 +38,5 @@ Code Cleanup and Reorganization
|
||||
-------------------------------
|
||||
move majority of global variables into instance_globals struct g
|
||||
move zeroobj, zeromonst, zeroany into const_globals struct cg
|
||||
remove STATIC_DCL, STATIC_OVL, STATIC_VAR, STATIC_PTR
|
||||
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
.de NR
|
||||
.ds Nr \\$2
|
||||
..
|
||||
.ND $NHDT-Date: 1524689549 2018/04/25 20:52:29 $
|
||||
.NB $NHDT-Branch: NetHack-3.6.0 $
|
||||
.NR $NHDT-Revision: 1.14 $
|
||||
.ND $NHDT-Date: 1568509458 2019/09/15 01:04:18 $
|
||||
.NB $NHDT-Branch: NetHack-3.6 $
|
||||
.NR $NHDT-Revision: 1.16 $
|
||||
.ds Na Robert Patrick Rankin
|
||||
.SH NAME
|
||||
nethack \- Exploring The Mazes of Menace
|
||||
@@ -156,7 +156,7 @@ option). "rrr" are at least the first three letters of the character's
|
||||
race (this can also be specified using a separate
|
||||
.B \-r
|
||||
.I race
|
||||
option). "aaa" are at last the first three letters of the character's
|
||||
option). "aaa" are at least the first three letters of the character's
|
||||
alignment, and "ggg" are at least the first three letters of the
|
||||
character's gender. Any of the parts of the suffix may be left out.
|
||||
.PP
|
||||
|
||||
Reference in New Issue
Block a user