Merge branch 'several-pr' into NetHack-3.7

This commit is contained in:
nhmall
2021-09-26 08:59:41 -04:00
4 changed files with 67 additions and 37 deletions

View File

@@ -2271,8 +2271,6 @@ Objects
.pg .pg
When you find something in the dungeon, it is common to want to pick When you find something in the dungeon, it is common to want to pick
it up. In NetHack, this is accomplished by using the \(oq,\(cq command. it up. In NetHack, this is accomplished by using the \(oq,\(cq command.
automatically by walking over
the object (unless you turn off the
If If
.op autopickup .op autopickup
option is on, you will automatically pick up the object option is on, you will automatically pick up the object

View File

@@ -388,7 +388,7 @@ particular, it can affect the prices shopkeepers offer you.
\item[\bb{Alignment}] \item[\bb{Alignment}]
% %
{\it Lawful}, {\it Neutral\/} or {\it Chaotic}. Often, Lawful is {\it Lawful}, {\it Neutral\/} or {\it Chaotic}. Often, Lawful is
taken as good and Chaotic is evil, but legal and ethical do not always taken as good and Chaotic as evil, but legal and ethical do not always
coincide. Your alignment influences how other coincide. Your alignment influences how other
monsters react toward you. Monsters of a like alignment are more likely monsters react toward you. Monsters of a like alignment are more likely
to be non-aggressive, while those of an opposing alignment are more likely to be non-aggressive, while those of an opposing alignment are more likely
@@ -654,11 +654,11 @@ or type a symbol (or even a whole word) to explain.
Specifying a location is done by moving the cursor to a particular spot Specifying a location is done by moving the cursor to a particular spot
on the map and then pressing one of `{\tt .}', `{\tt ,}', `{\tt ;}', on the map and then pressing one of `{\tt .}', `{\tt ,}', `{\tt ;}',
or `{\tt :}'. `{\tt .}' will explain the symbol at the chosen location, or `{\tt :}'. `{\tt .}' will explain the symbol at the chosen location,
information, then let you pick another location;
conditionally check for ``{\tt More info?}'' depending upon whether the conditionally check for ``{\tt More info?}'' depending upon whether the
`{\it help\/}' `{\it help\/}'
option is on, and then you will be asked to pick another location; option is on, and then you will be asked to pick another location;
`{\tt ,}' will explain the symbol but skip any additional `{\tt ,}' will explain the symbol but skip any additional
information, then let you pick another location;
`{\tt ;}' will skip additional info and also not bother asking `{\tt ;}' will skip additional info and also not bother asking
you to choose another location to examine; `{\tt :}' will show additional you to choose another location to examine; `{\tt :}' will show additional
info, if any, without asking for confirmation. When picking a location, info, if any, without asking for confirmation. When picking a location,
@@ -802,7 +802,7 @@ Redo the previous command.
Close a door. Close a door.
%.lp %.lp
\item[\tb{C}] \item[\tb{C}]
Call (name) a monster, an individual object, or an object type.\\ Call (name) a monster, an individual object, or a type of object.\\
%.lp "" %.lp ""
Same as extended command ``{\tt \#name}''. Same as extended command ``{\tt \#name}''.
%.lp %.lp
@@ -837,6 +837,22 @@ the bless\-ed/\-un\-curs\-ed/\-curs\-ed groups may be typed.\\
{\tt D\%u} --- drop only unpaid food. {\tt D\%u} --- drop only unpaid food.
%.ei %.ei
%.ed %.ed
The last example shows a combination.
There are three categories of object filtering: class (`{\tt !}' for
potions, `{\tt ?}' for scrolls, and so on), shop status (`{\tt u}' for
unpaid, in other words, owned by the shop), and bless/curse state
(`{\tt B}', `{\tt U}', `{\tt C}', and `{\tt X}' as shown above).
If you specify more than one value in a category (such as ``{\tt !?}'' for
potions and scrolls or ``{\tt BU}'' for blessed and uncursed), an inventory
object will meet the criteria if it matches any of the specified
values (so ``{\tt !?}'' means `{\tt !}' or `{\tt ?}').
If you specify more than one category, an inventory object must meet
each of the category criteria (so ``{\tt \%u}'' means class `{\tt \%}' and
unpaid `{\tt u}').
Lastly, you may specify multiple values within multiple categories:
``{\tt !?BU}'' will select all potions and scrolls which are known to be
blessed or uncursed.
(In versions prior to 3.6, filter combinations behaved differently.)
%.lp %.lp
\item[\tb{\^{}D}] \item[\tb{\^{}D}]
Kick something (usually a door). Kick something (usually a door).
@@ -927,7 +943,7 @@ game rather than with the `{\tt O}' command; see the section on options below.
\item[\tb{\^{}O}] \item[\tb{\^{}O}]
Show overview.\\ Show overview.\\
%.lp "" %.lp ""
Shortcut for the ``{\tt \#overview}'': Shortcut for ``{\tt \#overview}'':
list interesting dungeon levels visited.\\ list interesting dungeon levels visited.\\
%.lp "" %.lp ""
(Prior to 3.6.0, `{\tt \^{}O}' was a debug mode command which listed (Prior to 3.6.0, `{\tt \^{}O}' was a debug mode command which listed
@@ -938,7 +954,7 @@ Use ``{\tt \#wizwhere}'' to run that command.)
Pay your shopping bill. Pay your shopping bill.
%.lp %.lp
\item[\tb{P}] \item[\tb{P}]
Put on an accessory (ring, amulet, blindfold).\\ Put on an accessory (ring, amulet, or blindfold).\\
%.lp "" %.lp ""
This command may also be used to wear armor. The prompt for This command may also be used to wear armor. The prompt for
which inventory item to use will only list accessories, but choosing which inventory item to use will only list accessories, but choosing
@@ -1106,7 +1122,7 @@ Zap a wand.\\
Zap (cast) a spell.\\ Zap (cast) a spell.\\
%.sd %.sd
%.si %.si
{\tt Z.} --- to aim at yourself, use `{\tt .}' for the direction. {\tt Z.} --- to cast at yourself, use `{\tt .}' for the direction.
%.ei %.ei
%.ed %.ed
%.lp %.lp
@@ -1121,7 +1137,7 @@ Look at what is here.
Show what type of thing a visible symbol corresponds to. Show what type of thing a visible symbol corresponds to.
%.lp %.lp
\item[\tb{,}] \item[\tb{,}]
Pick up some things.\\ Pick up some things from the floor beneath you.\\
%.lp "" %.lp ""
May be preceded by `{\tt m}' to force a selection menu. May be preceded by `{\tt m}' to force a selection menu.
%.lp %.lp
@@ -1410,10 +1426,10 @@ Look at what is here, under you. Default key is `{\tt :}'.
\item[\tb{\#loot}] \item[\tb{\#loot}]
Loot a box or bag on the floor beneath you, or the saddle Loot a box or bag on the floor beneath you, or the saddle
from a steed standing next to you. Autocompletes. from a steed standing next to you. Autocompletes.
Default key is `{\tt M-l}',
and also `{\tt l}' if {\it number\verb+_+pad\/} is on.
Precede with the `{\tt m}' prefix to skip containers at your location Precede with the `{\tt m}' prefix to skip containers at your location
and go directly to removing a saddle. and go directly to removing a saddle.
Default key is `{\tt M-l}',
and also `{\tt l}' if {\it number\verb+_+pad\/} is on.
%.lp %.lp
\item[\tb{\#monster}] \item[\tb{\#monster}]
Use a monster's special ability (when polymorphed into monster form). Use a monster's special ability (when polymorphed into monster form).
@@ -1447,8 +1463,8 @@ leading to another dungeon branch) trigger an automatic annotation.
If dungeon overview is chosen during end-of-game disclosure, every visited If dungeon overview is chosen during end-of-game disclosure, every visited
level will be included regardless of annotations. Autocompletes. level will be included regardless of annotations. Autocompletes.
Default keys are `{\tt \^{}O}', and `{\tt M-O}'. Default keys are `{\tt \^{}O}', and `{\tt M-O}'.
%.lp
% DON'T PANIC! % DON'T PANIC!
%.lp
\item[\tb{\#panic}] \item[\tb{\#panic}]
Test the panic routine. Test the panic routine.
Terminates the current game. Terminates the current game.
@@ -3476,6 +3492,12 @@ The one for experience level 1 is not recorded as an achievement.
Losing enough levels to revert to lower rank(s) does not discard the Losing enough levels to revert to lower rank(s) does not discard the
corresponding achievement(s). corresponding achievement(s).
%.pg
There's no guaranteed {\it Novel} so the achievement to read one might
not always be attainable (except perhaps by wishing).
Similarly, the {\it Big Room} level is not always present.
Unlike with the Novel, there's no way to wish for this opportunity.
%.pg %.pg
The ``special items'' hidden in {\it Mines'~End\/} and {\it Sokoban\/} The ``special items'' hidden in {\it Mines'~End\/} and {\it Sokoban\/}
are not unique but are considered to be prizes or rewards are not unique but are considered to be prizes or rewards
@@ -3895,8 +3917,8 @@ Name your starting cat (for example, ``{\tt catname:Morris}'').
Cannot be set with the `{\tt O}' command. Cannot be set with the `{\tt O}' command.
%.lp character %.lp character
\item[\ib{character}] \item[\ib{character}]
Pick your type of character (for example, ``{\tt character:Monk}''); Synonym for ``{\tt role}'' to pick the type of your character
synonym for ``{\it role\/}''. See {\it role\/} for more details. (for example ``{\tt character:Monk}''). See {\it role\/} for more details.
%.lp %.lp
\item[\ib{checkpoint}] \item[\ib{checkpoint}]
Save game state after each level change, for possible recovery after Save game state after each level change, for possible recovery after
@@ -3914,9 +3936,9 @@ players if it detects some anticipated mistakes (default on).
Have user confirm attacks on pets, shopkeepers, and other Have user confirm attacks on pets, shopkeepers, and other
peaceable creatures (default on). Persistent. peaceable creatures (default on). Persistent.
%.lp %.lp
%.lp
\item[\ib{dark\verb+_+room}] \item[\ib{dark\verb+_+room}]
Show out-of-sight areas of lit rooms (default on). Persistent. Show out-of-sight areas of lit rooms (default on). Persistent.
%.lp
\item[\ib{disclose}] \item[\ib{disclose}]
Controls what information the program reveals when the game ends. Controls what information the program reveals when the game ends.
Value is a space separated list of prompting/category pairs Value is a space separated list of prompting/category pairs
@@ -3931,7 +3953,7 @@ The possibilities are:
{\tt a} --- disclose your attributes;\\ {\tt a} --- disclose your attributes;\\
{\tt v} --- summarize monsters that have been vanquished;\\ {\tt v} --- summarize monsters that have been vanquished;\\
{\tt g} --- list monster species that have been genocided;\\ {\tt g} --- list monster species that have been genocided;\\
{\tt c} --- display your conduct;\\ {\tt c} --- display your conduct; also achievements, if any;\\
{\tt o} --- display dungeon overview. {\tt o} --- display dungeon overview.
%.ei %.ei
%.ed %.ed
@@ -3962,7 +3984,11 @@ The `{\tt +}' disclose without prompting choice,
or being prompted and answering `{\tt y}' rather than `{\tt a}', or being prompted and answering `{\tt y}' rather than `{\tt a}',
will default to showing monsters in the traditional order, will default to showing monsters in the traditional order,
from high level to low level.\\ from high level to low level.\\
.lp "" %.lp ""
Omitted categories are implicitly added with `{\tt n}' prefix.
Specified categories with omitted prefix implicitly use `{\tt +}' prefix.
Order of the disclosure categories does not matter, program display for
end-of-game disclosure follows a set sequence.
%.lp "" %.lp ""
(for example, ``{\tt disclose:yi na +v -g o}'') (for example, ``{\tt disclose:yi na +v -g o}'')
@@ -4067,14 +4093,14 @@ In text windowing, text highlighting or inverse video is often used;
with tiles, generally displays a small plus-symbol beside the object with tiles, generally displays a small plus-symbol beside the object
on the top of the pile. on the top of the pile.
%.lp %.lp
\item[\ib{horsename}]
Name your starting horse (for example, ``{\tt horsename:Trigger}'').
Cannot be set with the `{\tt O}' command.
%.lp
\item[\ib{hitpointbar}] \item[\ib{hitpointbar}]
Show a hit point bar graph behind your name and title. Show a hit point bar graph behind your name and title.
Only available for TTY and Windows GUI, and only when statushilites is on. Only available for TTY and Windows GUI, and only when statushilites is on.
%.lp %.lp
\item[\ib{horsename}]
Name your starting horse (for example, ``{\tt horsename:Trigger}'').
Cannot be set with the `{\tt O}' command.
%.lp
\item[\ib{ignintr}] \item[\ib{ignintr}]
Ignore interrupt signals, including breaks (default off). Persistent. Ignore interrupt signals, including breaks (default off). Persistent.
%.lp %.lp
@@ -4184,7 +4210,7 @@ Key to go to the previous menu page.
Implemented by the Amiga, Gem and tty ports. Implemented by the Amiga, Gem and tty ports.
Default `\verb+<+'. Default `\verb+<+'.
\item[\ib{menu\verb+_+search}] \item[\ib{menu\verb+_+search}]
Key to search for a menu item. Key to search for some text and toggle selection state of matching menu items.
Default `:'. Default `:'.
\item[\ib{menu\verb+_+select\verb+_+all}] \item[\ib{menu\verb+_+select\verb+_+all}]
Key to select all items in a menu. Key to select all items in a menu.
@@ -4225,8 +4251,8 @@ Valid settings are:
%.sd %.sd
%.si %.si
{\tt 0} --- disabled\\ {\tt 0} --- disabled\\
{\tt 1} --- enabled and make OS adjustment to support mouse use\\ {\tt 1} --- enabled and make OS adjustments to support mouse use\\
{\tt 2} --- enabled like {\tt 1}, but does not make any OS adjustments\\ {\tt 2} --- like {\tt 1}, but does not make any OS adjustments\\
%.ei %.ei
%.ed %.ed
@@ -4365,7 +4391,7 @@ turn on all of the above.
By default, the pray choice is enabled, the others disabled. By default, the pray choice is enabled, the others disabled.
To disable it without setting To disable it without setting
any of the other choices, use ``{\it paranoid\verb+_+confirmation:none}''. To keep any of the other choices, use ``{\it paranoid\verb+_+confirmation:none}''. To keep
it enabled while setting others, include it in the list, it enabled while setting any of the others, include it in the list,
such as ``{\it par\-a\-noid\verb+_+con\-fir\-ma\-tion:attack~pray~Remove}''. such as ``{\it par\-a\-noid\verb+_+con\-fir\-ma\-tion:attack~pray~Remove}''.
%.lp %.lp
\item[\ib{perm\verb+_+invent}] \item[\ib{perm\verb+_+invent}]
@@ -4499,7 +4525,7 @@ Persistent.
Pick your type of character (for example, ``{\tt role:Samurai}''); Pick your type of character (for example, ``{\tt role:Samurai}'');
synonym for ``{\it character\/}''. See ``{\it name\/}'' for an alternate method synonym for ``{\it character\/}''. See ``{\it name\/}'' for an alternate method
of specifying your role. Normally only the first letter of the of specifying your role. Normally only the first letter of the
value is examined; `r' is an exception with ``{\tt Rogue}'', {\tt Ranger}'', value is examined; `r' is an exception with ``{\tt Rogue}'', ``{\tt Ranger}'',
and ``{\tt random}'' values. and ``{\tt random}'' values.
If you prefix the value with `{\tt !}' or ``{\tt no}'', you will If you prefix the value with `{\tt !}' or ``{\tt no}'', you will
exclude that role from being picked randomly. exclude that role from being picked randomly.
@@ -4542,7 +4568,7 @@ Prevent you from (knowingly) attacking your pets (default on). Persistent.
\item[\ib{safe\verb+_+wait}] \item[\ib{safe\verb+_+wait}]
Prevents you from waiting or searching when next to a hostile monster Prevents you from waiting or searching when next to a hostile monster
(default on). Persistent. (default on). Persistent.
%+.lp %.lp
\item[\ib{sanity\verb+_+check}] \item[\ib{sanity\verb+_+check}]
Evaluate monsters, objects, and map prior to each turn (default off). Evaluate monsters, objects, and map prior to each turn (default off).
Debug mode only. Debug mode only.
@@ -4801,7 +4827,7 @@ If {\it NetHack\/} can, it should display color for different monsters,
objects, and dungeon features (default on). objects, and dungeon features (default on).
%.lp %.lp
\item[\ib{eight\verb+_+bit\verb+_+tty}] \item[\ib{eight\verb+_+bit\verb+_+tty}]
Pass eight-bit character values (for example, specified with the If {\it NetHack\/} can, it should pass eight-bit character values (for example, specified with the
{\it traps \/} option) straight through to your terminal (default off). {\it traps \/} option) straight through to your terminal (default off).
%.lp %.lp
\item[\ib{font\verb+_+map}] \item[\ib{font\verb+_+map}]
@@ -5543,7 +5569,7 @@ Each SOUND entry is broken down into the following parts:
\elist \elist
%.lp "" %.lp ""
The pattern should be a regular expression. The pattern should be a POSIX extended regular expression.
%.lp %.lp
%.hn 2 %.hn 2
@@ -6114,15 +6140,17 @@ A string explaining how to get local support (no default value).
A string explaining how to recover a game on this system (no default value). A string explaining how to recover a game on this system (no default value).
%.lp %.lp
\item[\ib{SEDUCE}] \item[\ib{SEDUCE}]
0 or 1 to disable or enable, respectively, the SEDUCE option (see the source) 0 or 1 to disable or enable, respectively, the SEDUCE option.
for details on this function. When disabled, incubi and succubi behave like nymphs.
%.lp %.lp
\item[\ib{CHECK\verb+_+PLNAME}] \item[\ib{CHECK\verb+_+PLNAME}]
Setting this to 1 will make the EXPLORERS, WIZARDS, and SHELLERS check Setting this to 1 will make the EXPLORERS, WIZARDS, and SHELLERS check
for the player name instead of the user's login name. for the player name instead of the user's login name.
%.lp %.lp
\item[\ib{CHECK\verb+_+SAVE\verb+_+UID}] \item[\ib{CHECK\verb+_+SAVE\verb+_+UID}]
0 or 1 to disable or enable, respectively, the UID checking for savefiles. 0 or 1 to disable or enable, respectively, the UID
(used identification number) checking for save files (to verify that the
user who is restoring is the same one who saved).
\elist \elist
%.pg %.pg
@@ -6131,17 +6159,21 @@ The following options affect the score file:
%.pg %.pg
%.lp %.lp
\item[\ib{PERSMAX}] \item[\ib{PERSMAX}]
Maximum number of entries for one person Maximum number of entries for one person.
%.lp %.lp
\item[\ib{ENTRYMAX}] \item[\ib{ENTRYMAX}]
Maximum number of entries in the score file Maximum number of entries in the score file.
%.lp %.lp
\item[\ib{POINTSMIN}] \item[\ib{POINTSMIN}]
Minimum number of points to get an entry in the score file. Minimum number of points to get an entry in the score file.
%.lp %.lp
\item[\ib{PERS\verb+_+IS\verb+_+UID}] \item[\ib{PERS\verb+_+IS\verb+_+UID}]
0 or 1 to use user names or numeric userids, respectively, to identify 0 or 1 to use user names or numeric userids, respectively, to identify
unique people for the score file unique people for the score file.
%.lp
\item[\ib{MAX\verb+_+STATUENAME\verb+_+RANK}]
Maximum number of score file entries to use for
random statue names (default is 10).
%.lp %.lp
\item[\ib{ACCESSIBILITY}] \item[\ib{ACCESSIBILITY}]
0 or 1 to disable or enable, respectively, the ability for players 0 or 1 to disable or enable, respectively, the ability for players

View File

@@ -4734,6 +4734,7 @@ dotravel_target(void)
u.last_str_turn = 0; u.last_str_turn = 0;
g.context.mv = TRUE; g.context.mv = TRUE;
domove();
return 1; return 1;
} }

View File

@@ -2854,7 +2854,7 @@ lookaround(void)
/* more uninteresting terrain */ /* more uninteresting terrain */
if (IS_ROCK(levl[x][y].typ) || levl[x][y].typ == ROOM if (IS_ROCK(levl[x][y].typ) || levl[x][y].typ == ROOM
|| IS_AIR(levl[x][y].typ)) { || IS_AIR(levl[x][y].typ) || levl[x][y].typ == ICE) {
continue; continue;
} else if (closed_door(x, y) || (mtmp && is_door_mappear(mtmp))) { } else if (closed_door(x, y) || (mtmp && is_door_mappear(mtmp))) {
/* a closed door? */ /* a closed door? */
@@ -3050,7 +3050,6 @@ end_running(boolean and_travel)
if (flags.time && g.context.run) if (flags.time && g.context.run)
iflags.time_botl = TRUE; iflags.time_botl = TRUE;
g.context.run = 0; g.context.run = 0;
g.domove_attempting = 0;
/* 'context.mv' isn't travel but callers who want to end travel /* 'context.mv' isn't travel but callers who want to end travel
all clear it too */ all clear it too */
if (and_travel) if (and_travel)