Merge branch 'NetHack-3.6.0'

This commit is contained in:
keni
2016-06-21 10:29:14 -04:00
84 changed files with 3167 additions and 1281 deletions

View File

@@ -691,6 +691,14 @@ a further menu or prompt will appear once you've closed this menu.
The available options
are listed later in this Guidebook. Options are usually set before the
game rather than with the `O' command; see the section on options below.
.lp ^O
Show overview or show dungeon layout
.lp ""
In normal play and in explore mode, a shortcut for the ``#overview''
extended command to list interesting dungeon levels visited.
.lp ""
In debug mode, an extra command which lists the placement of all special
levels.
.lp p
Pay your shopping bill.
.lp P
@@ -1961,12 +1969,111 @@ Setting the options
.pg
Options may be set in a number of ways. Within the game, the `O'
command allows you to view all options and change most of them.
You can also set options automatically by placing them in the
NETHACKOPTIONS environment variable or in a configuration file.
You can also set options automatically by placing them in a configuration
file, or in the NETHACKOPTIONS environment variable.
Some versions of NetHack also have front-end programs that allow
you to set options before starting the game or a global configuration
for system administrators.
.hn 2
Using a configuration file
.pg
The default name of the configuration file varies on different
operating systems. On DOS and Windows, it is ``defaults.nh''
in the same folder as nethack.exe or nethackW.exe. On Unix, Linux
and Mac OS X it is ``.nethackrc'' in the user's home directory.
The file may not exist, but it is a normal ASCII text file and
can be created with any text editor.
.pg
Any line in the configuration file starting with `#' is treated as a comment.
Empty lines are ignored.
.pg
You can use different configuration statements in the file, some
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:
.lp OPTIONS
There are two types of options, boolean and compound options.
Boolean options toggle a setting on or off, while compound options
take more diverse values.
Prefix a boolean option with `no' or `!' to turn it off.
For compound options, the option name and value are separated by a colon.
Some options are persistent, and apply only to new games.
You can specify multiple OPTIONS statements, and multiple options
in a single OPTIONS statement.
.pg
Example:
.sd
\fBOPTIONS=dogname:Fido\fP
\fBOPTIONS=!legacy,autopickup,pickup_types:$"=/!?+\fP
.ed
.lp HACKDIR
Default location of files NetHack needs. On Windows HACKDIR
defaults to the location of the NetHack.exe or NetHackw.exe file
so setting HACKDIR to override that is not usually necessary or recommended.
.lp LEVELDIR
The location that in-progress level files are stored. Defaults to HACKDIR,
must be writeable.
.lp SAVEDIR
The location where saved games are kept. Defaults to HACKDIR, must be
writeable.
.lp BONESDIR
The location that bones files are kept. Defaults to HACKDIR, must be
writeable.
.lp LOCKDIR
The location that file synchronization locks are stored. Defaults to
HACKDIR, must be writeable.
.lp TROUBLEDIR
The location that a record of game aborts and self-diagnosed game problems
is kept. Defaults to HACKDIR, must be writeable.
.lp AUTOPICKUP_EXCEPTION
Set exceptions to the
.op pickup_types
option. See the ``Configuring Autopickup Exceptions'' section.
.lp MSGTYPE
Change the way messages are shown in the top status line.
See the ``Configuring Message Types`` section.
.lp MENUCOLOR
Highlight menu lines with different colors.
See the ``Configuring Menu Colors`` section.
.lp SYMBOLS
Override one or more symbols in the symbols files.
See the ``Modifying NetHack Symbols'' section.
.pg
Example:
.sd
\fBSYMBOLS=S_boulder:0\fP
.ed
.lp WIZKIT
Wizard-mode extra items, in a text file containing item names,
one per line, up to a maximum of 128 lines. Each line is processed
by the function that handles wishing.
.pg
Example:
.sd
\fBWIZKIT=~/wizkit.txt\fP
.ed
.lp SOUNDDIR
Define the directory that contains the sound files.
See the ``Configuring User Sounds'' section.
.lp SOUND
Define a sound mapping. See the ``Configuring User Sounds'' section.
.pg
Here is a short example of config file contents:
.sd
\fB# Set your character's role, race, gender, and alignment.\fP
\fBOPTIONS=role:Valkyrie, race:Human, gender:female, align:lawful\fP
\fB# Turn on autopickup, and set automatically picked up object types\fP
\fBOPTIONS=autopickup,pickup_types:$"=/!?+\fP
\fB# Show colored text if possible\fP
\fBOPTIONS=color\fP
\fB# Show lit corridors differently\fP
\fBOPTIONS=lit_corridor\fP
\fB# No startup splash screen. Windows GUI only.\fP
\fBOPTIONS=!splash_screen\fP
.ed
.hn 2
Using the NETHACKOPTIONS environment variable
.pg
The NETHACKOPTIONS variable is a comma-separated list of initial
@@ -1989,48 +2096,9 @@ $ \fBNETHACKOPTIONS="autoquiver,!autopickup,name:Blue Meanie,fruit:papaya"\fP
$ \fBexport NETHACKOPTIONS\fP
.ed
in \fIsh\fP or \fIksh\fP.
.hn 2
Using a configuration file
.pg
Any line in the configuration file starting with `#' is treated as a comment.
Any line in the configuration file starting with ``OPTIONS='' may be
filled out with options in the same syntax as in NETHACKOPTIONS.
Any line starting with ``SYMBOLS=''
is taken as defining the corresponding symbol
in a different syntax, a sequence of decimal numbers giving
the character position in the current font to be used in displaying
each entry. Such a sequence can be continued to multiple lines by
putting a `\e'
at the end of each line to be continued.
.pg
Any line starting with ``AUTOPICKUP_EXCEPTION='' is taken
as defining an exception to the
.op pickup_types
option.
There is a section of this Guidebook that discusses that.
.pg
The default name of the configuration file varies on different
operating systems. On DOS and Windows, it is ``defaults.nh''
in the same folder as nethack.exe or nethackW.exe. On Unix, Linux
and Mac OS X it is ``.nethackrc'' in the user's home directory.
NETHACKOPTIONS can also be set to the full name of a file you
NETHACKOPTIONS can also be set to the full name of a configuration file you
want to use (possibly preceded by an `@').
.pg
Here is a short example of config file contents:
.sd
\fB# Set your character's role, race, gender, and alignment.\fP
\fBOPTIONS=role:Valkyrie, race:Human, gender:female, align:lawful\fP
\fB# Turn on autopickup, and set automatically picked up object types\fP
\fBOPTIONS=autopickup,pickup_types:$"=/!?+\fP
\fB# Show colored text if possible\fP
\fBOPTIONS=color\fP
\fB# Show lit corridors differently\fP
\fBOPTIONS=lit_corridor\fP
\fB# No startup splash screen. Windows GUI only.\fP
\fBOPTIONS=!splash_screen\fP
.ed
.hn 2
Customization options
.pg
@@ -2380,7 +2448,7 @@ is the same as specifying 0.
(Settings 2 and 4 are for compatibility with MSDOS or old PC Hack;
in addition to the different behavior for `5', `Alt-5' acts as `G'
and `Alt-0' acts as `I'.
Setting -1 is to accommodate some German keyboards which have the
Setting -1 is to accommodate some QWERTZ keyboards which have the
location of the `y' and `z' keys swapped.)
When moving by numbers, to enter a count prefix for those commands
which accept one (such as ``12s'' to search twelve times), precede it

View File

@@ -835,6 +835,15 @@ The available options
are listed later in this Guidebook. Options are usually set before the
game rather than with the `{\tt O}' command; see the section on options below.
%.lp
\item[\tb{\^{}O}]
Show overview or show dungeon layout\\
%.lp ""
In normal play and in explore mode, a shortcut for the ``{\tt \#overview}''
extended command to list interesting dungeon levels visited.\\
%.lp ""
In debug mode, an extra command which lists the placement of all special
levels.
%.lp
\item[\tb{p}]
Pay your shopping bill.
%.lp
@@ -2351,12 +2360,143 @@ behaves.
%.pg
Options may be set in a number of ways. Within the game, the `{\tt O}'
command allows you to view all options and change most of them.
You can also set options automatically by placing them in the
``NETHACKOPTIONS'' environment variable or in a configuration file.
You can also set options automatically by placing them in a configuration
file, or in the ``NETHACKOPTIONS'' environment variable.
Some versions of {\it NetHack\/} also have front-end programs that allow
you to set options before starting the game or a global configuration
for system administrators.
%.hn 2
\subsection*{Using a configuration file}
%.pg
The default name of the configuration file varies on different
operating systems. On DOS and Windows, it is ``defaults.nh''
in the same folder as nethack.exe or nethackW.exe. On Unix, Linux
and Mac OS X it is ``.nethackrc'' in the user's home directory.
The file may not exist, but it is a normal ASCII text file and
can be created with any text editor.
%.pg
Any line in the configuration file starting with `{\tt \#}' is treated as a comment.
Empty lines are ignore.
%.pg
You can use different configuration statements in the file, some
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:
%.lp
\blist{}
\item[\bb{OPTIONS}]
There are two types of options, boolean and compound options.
Boolean options toggle a setting on or off, while compound options
take more diverse values.
Prefix a boolean option with `no' or `!' to turn it off.
For compound options, the option name and value are separated by a colon.
Some options are persistent, and apply only to new games.
You can specify multiple OPTIONS statements, and multiple options
in a single OPTIONS statement.
%.pg
Example:
%.sd
\begin{verbatim}
OPTIONS=dogname:Fido
OPTIONS=!legacy,autopickup,pickup_types:$"=/!?+
\end{verbatim}
%.ed
%.lp
\item[\bb{HACKDIR}]
Default location of files NetHack needs. On Windows HACKDIR
defaults to the location of the NetHack.exe or NetHackw.exe file
so setting HACKDIR to override that is not usually necessary or recommended.
%.lp
\item[\bb{LEVELDIR}]
The location that in-progress level files are stored. Defaults to HACKDIR,
must be writeable.
%.lp
\item[\bb{SAVEDIR}]
The location where saved games are kept. Defaults to HACKDIR, must be
writeable.
%.lp
\item[\bb{BONESDIR}]
The location that bones files are kept. Defaults to HACKDIR, must be
writeable.
%.lp
\item[\bb{LOCKDIR}]
The location that file synchronization locks are stored. Defaults to
HACKDIR, must be writeable.
%.lp
\item[\bb{TROUBLEDIR}]
The location that a record of game aborts and self-diagnosed game problems
is kept. Defaults to HACKDIR, must be writeable.
%.lp
\item[\bb{AUTOPICKUP\_EXCEPTION}]
Set exceptions to the {{\it pickup\_types\/}}
option. See the ``Configuring Autopickup Exceptions'' 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{MENUCOLOR}]
Highlight menu lines with different colors.
See the ``Configuring Menu Colors`` section.
%.lp
\item[\bb{SYMBOLS}]
Override one or more symbols in the symbols files.
See the ``Modifying NetHack Symbols'' section.
%.pg
Example:
%.sd
\begin{verbatim}
SYMBOLS=S_boulder:0
\end{verbatim}
%.ed
%.lp
\item[\bb{WIZKIT}]
Wizard-mode extra items, in a text file containing item names,
one per line, up to a maximum of 128 lines. Each line is processed
by the function that handles wishing.
%.pg
Example:
%.sd
\begin{verbatim}
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
%.pg
Here is a short example of config file contents:
%.sd
\begin{verbatim}
# Set your character's role, race, gender, and alignment.
OPTIONS=role:Valkyrie, race:Human, gender:female, align:lawful
# Turn on autopickup, and set automatically picked up object types
OPTIONS=autopickup,pickup_types:$"=/!?+
# Show colored text if possible
OPTIONS=color
# Show lit corridors differently
OPTIONS=lit_corridor
# No startup splash screen. Windows GUI only.
OPTIONS=!splash_screen
\end{verbatim}
%.ed
%.hn 2
\subsection*{Using the NETHACKOPTIONS environment variable}
@@ -2391,52 +2531,10 @@ and the {\it fruit\/} is set to ``papaya'', you would enter the command
\nd in {\it sh\/} or {\it ksh}.
%.hn 2
\subsection*{Using a configuration file}
%.pg
Any line in the configuration file starting with `{\tt \#}' is treated as a comment.
Any line in the configuration file starting with ``{\tt OPTIONS=}'' may be
filled out with options in the same syntax as in NETHACKOPTIONS.
Any line starting with ``{\tt SYMBOLS=}''
is taken as defining the corresponding {\it symbol}
in a different syntax, a sequence of decimal numbers giving
the character position in the current font to be used in displaying
each entry. Such a sequence can be continued to multiple lines by putting a
`{\tt \verb+\+}' at the end of each line to be continued.
%.pg
Any line starting with ``{\tt AUTOPICKUP\verb+_+EXCEPTION=}''
is taken as defining an exception to the ``{\tt pickup\verb+_+types}'' option.
There is a section of this Guidebook that discusses that.
%.pg
The default name of the configuration file varies on different
operating systems. On DOS and Windows, it is ``{\tt defaults.nh}''
in the same folder as nethack.exe or nethackW.exe. On Unix, Linux
and Mac OS X it is ``{\tt.nethackrc}'' in the user's home directory.
NETHACKOPTIONS can also be set to the full name of a file you
NETHACKOPTIONS can also be set to the full name of a configuration file you
want to use (possibly preceded by an `{\tt @}').
%.pg
Here is a short example of config file contents:
%.sd
\begin{verbatim}
# Set your character's role, race, gender, and alignment.
OPTIONS=role:Valkyrie, race:Human, gender:female, align:lawful
# Turn on autopickup, and set automatically picked up object types
OPTIONS=autopickup,pickup_types:$"=/!?+
# Show colored text if possible
OPTIONS=color
# Show lit corridors differently
OPTIONS=lit_corridor
# No startup splash screen. Windows GUI only.
OPTIONS=!splash_screen
\end{verbatim}
%.ed
%.hn 2
\subsection*{Customization options}
@@ -2836,7 +2934,7 @@ is the same as specifying {\tt 0}.
(Settings {\tt 2} and {\tt 4} are for compatibility with MSDOS or old PC Hack;
in addition to the different behavior for `{\tt 5}', `{\tt Alt-5}' acts as `{\tt G}'
and `{\tt Alt-0}' acts as `{\tt I}'.
Setting {\tt -1} is to accommodate some German keyboards which have the
Setting {\tt -1} is to accommodate some QWERTZ keyboards which have the
location of the `{\tt y}' and `{\tt z}' keys swapped.)
When moving by numbers, to enter a count prefix for those commands
which accept one (such as ``{\tt 12s}'' to search twelve times), precede it

View File

@@ -53,6 +53,7 @@ dipping fruit juice into enlightenment gave different result than the inverse
make travel walk up to a trap and stop when the trap blocks the only
way forward, instead of trying to go straight line
travel will displace pets rather than stop
discard travel cache when moving to a different dungeon level
do not autopickup unpaid items in shops
death due an unseen gas spore's explosion resulted in "killed by a died"
allow optional parameter "true", "yes", "false", or "no" for boolean options
@@ -185,6 +186,7 @@ wand/spell/breath zaps that reached the edge of the level on the Plane of Air
stop amulets and other items which aren't affected by erosion damage from
being subjected to erosion damage
grammar bit: polyself w/ gender change yielded "you turn into a Elvenking"
grammar bit when hallucinating: "you kill poor goblin" ('the' missing for pet)
some blindness cures ignored u.ucreamed
some instances of stun or confusion timers were being overridden rather than
incremented when new stun or confusion damage was suffered
@@ -269,9 +271,40 @@ while in shop, stone-to-flesh at self causing carried, hero owned figurine
or statue to animate claimed it belonged to shopkeeper
reviving one of a stack of N corpses in a shop charged a usage fee for all N;
remaining N-1 were owned by hero if carried but by shop if on floor
gremlin wailing in agony should wake up nearby monsters
add more lighting variance to the second bigroom variant
when getpos was picking a location, typing '^' to move to the next known trap
skipped some detected traps if their location was unseen
describe detected door traps and chest traps as trapped door and trapped chest
instead of bear trap; bear trap tile is still used on map though
thrown potion that killed peaceful monster would cause "the <mon> gets argry"
after the message about it being killed
when poly'd into a hider and engulfed, attempt to hide via #monster was blocked
but feedback said "can't hide while held" rather than "while engulfed"
various monster/object/food/gold/trap detections were inconsistent in how they
behaved if performed while engulfed or underwater
show in inventory which monster a leash is attached to
using /? to look up something by name, supplying multiple spaces (with no
other characters) as the name triggered impossible "singular of null?"
add support for the 'altmeta' option to the 'what-does' command ('&' or '?f')
when wielded weapon becomes untouchable (after alignment change or polymorph)
hero could be 'blasted by its power' twice in succession
at startup, if sysconf had been read but user's own config file couldn't be
read, sysconf got processed again as if it contained user's options
don't give "you cannot pass through the bars" when travel is testing possible
paths in the vicinity of iron bars
if blind and no gloves, using 'm<dir>' to move and then 'e' could be used to
locate cockatrice corpse without fatal touching (by declining to eat)
it's cannabilism for a were<foo> to eat a <foo> corpse
conduct: wishing for an artifact and not getting it because it already exists
counts as wishing for an artifact, just like when not getting it
because of quest restrictions or too many artifacts in play does
avoid ring of poison resistance as starting equipment for orcish wizard
gelatinous cube shouldn't be able to eat a scroll of scare monster
make fireballs or cones of cold cast a skilled or higher not go through walls
Fixes to Post-3.6.0 Problems that Were Exposed Via git Respository
Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository
------------------------------------------------------------------
fix "object lost" panic during pickup caused by sortloot revamp
more sortloot revisions
@@ -284,6 +317,7 @@ catch up win/Qt/qt_win.cpp on 18-Dec-2015 change to formatkiller()
fix for long lines in config file (28-Jan-2016) made 'O' command's 'list' and
'remove' menu choices in interactive handling for menu colorings,
message types, and autopickup exceptions subject to buffer overflow
when picking a destination for #jump, '$' to show valid dest. is more accurate
Platform- and/or Interface-Specific Fixes
@@ -366,7 +400,8 @@ feedback from probing of long worm now includes number of segments it has
monk starts with 'shuriken' pre-discovered (despite language issue...)
item-using monster on or next to a fire trap can use it to be cured of
turning into slime
wizard mode ^G can now specify "male" or "female" when creating a monster
wizard mode ^G can now specify "sleeping", "male" or "female" when
creating a monster
REPRODUCIBLE_BUILD is new config.h setting to fetch build date+time from
environment instead of using current date+time, so that later rebuild
could duplicate the original (disabled by default; tested for Unix)
@@ -383,8 +418,22 @@ during end of game disclosure, the vanquished monsters list can be sorted in
one of several ways by answering 'a' to "disclose vanquished monsters?"
when #terrain is displaying a censored version of the map (no monsters, &c),
moving the cursor will display farlook's brief autodescribe feedback
when monster/object/trap detection temporarily clears the map to highlight the
results of such detection, farlook autodescibe can be used to view it
interrupt a multi turn action if hp or pw is restored to maximum
pressing d or D when cursor positioning targets doors and doorways
pressing x or X when cursor positioning targets possibly unexplored location
(potentially useful when using '_' [not mouse] to invoke travel)
swallowers can't re-engulf hero immediately after spitting him/her out
werejackals can summon foxes and coyotes; werewolves can summon wargs
allow taming monkeys and apes with bananas
GENERICUSERS is now a sysconf statement instead of compile-time option
fountains are bright blue
ray bounceback chance depends on the wall type
undead #turning takes less time at higher experience level
peacefuls may react when you attack other peacefuls
prevent diagonal jumping through open doorways
different liquids when hallucinating
Platform- and/or Interface-Specific New Features
@@ -407,16 +456,17 @@ X11: status display split into three columns to accomodate Stone/Deaf/Lev/&c;
NetHack Community Patches (or Variation) Included
-------------------------------------------------
Malcolm Ryan's improved tin opener
Ray Chason's keyboard may stop responding after locking or unlocking a door when
using altkeyhandler=nhraykey.dll
Ray Chason's fix: window interfaces that support transparency may give away unseen
parts of the map
Ray Chason's keyboard may stop responding after locking or unlocking a door
when using altkeyhandler=nhraykey.dll
Ray Chason's fix: window interfaces that support transparency may give away
unseen parts of the map
Ray Chason's xprname should honor iflags.menu_tab_sep
Ray Chason's punctuation for "That foo is really a mimic."
Ray Chason's proper background tiles for lava and water
Ray Chason's MS-DOS port restored to functionality with credit to Reddit user
b_helyer for the fix to sys/share/pcmain.c
Ray Chason's MSDOS port support for some VESA modes
Darshan Shaligram's pet ranged attack
Code Cleanup and Reorganization