Fix the recently revised description of "#version". 'windowtype' doesn't have an underscore in it.
5957 lines
228 KiB
Plaintext
5957 lines
228 KiB
Plaintext
.\" $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.405 $ $NHDT-Date: 1607693152 2020/12/11 13:25:52 $
|
|
.\"
|
|
.\" This is an excerpt from the 'roff' man page from the 'groff' package.
|
|
.\" Guidebook.mn currently does *not* fully adhere to these guidelines.
|
|
.\"|||
|
|
.\"| o Never include empty or blank lines in a roff document. Instead, use
|
|
.\"| the empty request (a line consisting of a dot only) or a line comment
|
|
.\"| .\" if a structuring element is needed.
|
|
.\"| o Never start a line with whitespace because this can lead to unexpect-
|
|
.\"| ed behavior. Indented paragraphs can be constructed in a controlled
|
|
.\"| way by roff requests.
|
|
.\"| o Start each sentence on a line of its own, for the spacing after a dot
|
|
.\"| is handled differently depending on whether it terminates an abbrevi-
|
|
.\"| ation or a sentence. To distinguish both cases, do a line break af-
|
|
.\"| ter each sentence.
|
|
.\"|||
|
|
.\"
|
|
.
|
|
.\" Usage:
|
|
.\" to produce Guidebook.ps:
|
|
.\" cat Guidebook.mn |tbl tmac.n - |groff >Guidebook.ps
|
|
.\" to produce Guidebook.txt:
|
|
.\" cat Guidebook.mn |tbl tmac.n - |groff -c -Tascii |col -bx >Guidebook.txt
|
|
.\" with an optional filtering step between 'cat' and 'tbl':
|
|
.\" cat... |../util/makedefs --grep --input - --output - |tbl...
|
|
.
|
|
.so tmac.nh \" extra macros which aren't in tmac.n
|
|
.
|
|
.\" \n(fF=1: fixed-width font (Guidebook.txt), =0: proportional-width font
|
|
.nr fF (\w'f'p)=(\w'F'p) \" compare width of 'f' to that of 'F'
|
|
.
|
|
.ds h0 "NetHack Guidebook
|
|
.ds h1
|
|
.ds h2 %
|
|
.ds vr "NetHack 3.7
|
|
.ds f0 "\*(vr
|
|
.ds f1
|
|
.ds f2 "December 9, 2020
|
|
.
|
|
.\" A note on some special characters:
|
|
.\" \(lq = left double quote
|
|
.\" \(rq = right double quote \(dq = double quote character
|
|
.\" \(oq = left (open) single quote
|
|
.\" \(cq = right (close) single quote \(aq = apostrophe / single quote
|
|
.\" - = hyphen \- = minus sign
|
|
.\" \(em = M-sized dash
|
|
.\" ^ = small circumflex punctuation \(ha = larger circumflex character
|
|
.\" ~ = small tilde punctuation \(ti = larger tilde character
|
|
.
|
|
.
|
|
.\" finally, start the actual Guidebook...
|
|
.
|
|
.mt
|
|
A Guide to the Mazes of Menace
|
|
(Guidebook for NetHack)
|
|
.au
|
|
Original version - Eric S. Raymond
|
|
(Edited and expanded for 3.7 by Mike Stephenson and others)
|
|
.sp 1
|
|
\*(f2
|
|
.hn 1
|
|
Introduction
|
|
.pg
|
|
Recently, you have begun to find yourself unfulfilled and distant
|
|
in your daily occupation. Strange dreams of prospecting, stealing,
|
|
crusading, and combat have haunted you in your sleep for many months,
|
|
but you aren't sure of the reason. You wonder whether you have in
|
|
fact been having those dreams all your life, and somehow managed to
|
|
forget about them until now. Some nights you awaken suddenly
|
|
and cry out, terrified at the vivid recollection of the strange and
|
|
powerful creatures that seem to be lurking behind every corner of the
|
|
dungeon in your dream. Could these details haunting your dreams be real?
|
|
As each night passes, you feel the desire to enter the mysterious caverns
|
|
near the ruins grow stronger. Each morning, however, you quickly put
|
|
the idea out of your head as you recall the tales of those who entered
|
|
the caverns before you and did not return. Eventually you can resist
|
|
the yearning to seek out the fantastic place in your dreams no longer.
|
|
After all, when other adventurers came back this way after spending time
|
|
in the caverns, they usually seemed better off than when they passed
|
|
through the first time. And who was to say that all of those who did
|
|
not return had not just kept going?
|
|
.
|
|
.pg
|
|
Asking around, you hear about a bauble, called the Amulet of Yendor by some,
|
|
which, if you can find it, will bring you great wealth. One legend you were
|
|
told even mentioned that the one who finds the amulet will be granted
|
|
immortality by the gods. The amulet is rumored to be somewhere beyond the
|
|
Valley of Gehennom, deep within the Mazes of Menace. Upon hearing the
|
|
legends, you immediately realize that there is some profound and
|
|
undiscovered reason that you are to descend into the caverns and seek
|
|
out that amulet of which they spoke. Even if the rumors of the amulet's
|
|
powers are untrue, you decide that you should at least be able to sell the
|
|
tales of your adventures to the local minstrels for a tidy sum, especially
|
|
if you encounter any of the terrifying and magical creatures of
|
|
your dreams along the way. You spend one last night fortifying yourself
|
|
at the local inn, becoming more and more depressed as you watch the odds
|
|
of your success being posted on the inn's walls getting lower and lower.
|
|
.
|
|
.pg
|
|
In the morning you awake, collect your belongings, and
|
|
set off for the dungeon. After several days of uneventful
|
|
travel, you see the ancient ruins that mark the entrance to the
|
|
Mazes of Menace. It is late at night, so you make camp at the entrance
|
|
and spend the night sleeping under the open skies. In the morning, you
|
|
gather your gear, eat what may be your last meal outside, and enter the
|
|
dungeon....
|
|
.
|
|
.hn 1
|
|
What is going on here?
|
|
.pg
|
|
You have just begun a game of NetHack. Your goal is to grab as much
|
|
treasure as you can, retrieve the Amulet of Yendor, and escape the
|
|
Mazes of Menace alive.
|
|
.pg
|
|
Your abilities and strengths for dealing with the hazards of adventure
|
|
will vary with your background and training:
|
|
.pg
|
|
\fIArcheologists\fP understand dungeons pretty well; this enables them
|
|
to move quickly and sneak up on the local nasties. They start equipped
|
|
with the tools for a proper scientific expedition.
|
|
.pg
|
|
\fIBarbarians\fP are warriors out of the hinterland, hardened to battle.
|
|
They begin their quests with naught but uncommon strength, a trusty hauberk,
|
|
and a great two-handed sword.
|
|
.pg
|
|
\fICavemen\fP and \fICavewomen\fP start with exceptional strength but,
|
|
unfortunately, with neolithic weapons.
|
|
.pg
|
|
\fIHealers\fP are wise in medicine and apothecary. They know the
|
|
herbs and simples that can restore vitality, ease pain, anesthetize,
|
|
and neutralize poisons; and with their instruments, they can divine a
|
|
being's state of health or sickness. Their medical practice earns them
|
|
quite reasonable amounts of money, with which they enter the dungeon.
|
|
.pg
|
|
\fIKnights\fP are distinguished from the common skirmisher by their
|
|
devotion to the ideals of chivalry and by the surpassing excellence of
|
|
their armor.
|
|
.pg
|
|
\fIMonks\fP are ascetics, who by rigorous practice of physical and mental
|
|
disciplines have become capable of fighting as effectively without weapons
|
|
as with. They wear no armor but make up for it with increased mobility.
|
|
.pg
|
|
\fIPriests\fP and \fIPriestesses\fP are clerics militant, crusaders
|
|
advancing the cause of righteousness with arms, armor, and arts
|
|
thaumaturgic. Their ability to commune with deities via prayer
|
|
occasionally extricates them from peril, but can also put them in it.
|
|
.pg
|
|
\fIRangers\fP are most at home in the woods, and some say slightly out
|
|
of place in a dungeon. They are, however, experts in archery as well
|
|
as tracking and stealthy movement.
|
|
.pg
|
|
\fIRogues\fP are agile and stealthy thieves, with knowledge of locks,
|
|
traps, and poisons. Their advantage lies in surprise, which they employ
|
|
to great advantage.
|
|
.pg
|
|
\fISamurai\fP are the elite warriors of feudal Nippon. They are lightly
|
|
armored and quick, and wear the \fIdai-sho\fP, two swords of the deadliest
|
|
keenness.
|
|
.pg
|
|
\fITourists\fP start out with lots of gold (suitable for shopping with),
|
|
a credit card, lots of food, some maps, and an expensive camera. Most
|
|
monsters don't like being photographed.
|
|
.pg
|
|
\fIValkyries\fP are hardy warrior women. Their upbringing in the harsh
|
|
Northlands makes them strong, inures them to extremes of cold, and instills
|
|
in them stealth and cunning.
|
|
.pg
|
|
\fIWizards\fP start out with a knowledge of magic, a selection of magical
|
|
items, and a particular affinity for dweomercraft. Although seemingly weak
|
|
and easy to overcome at first sight, an experienced Wizard is a deadly foe.
|
|
.pg
|
|
You may also choose the race of your character (within limits; most
|
|
roles have restrictions on which races are eligible for them):
|
|
.pg
|
|
\fIDwarves\fP are smaller than humans or elves, but are stocky and solid
|
|
individuals. Dwarves' most notable trait is their great expertise in mining
|
|
and metalwork. Dwarvish armor is said to be second in quality not even to the
|
|
mithril armor of the Elves.
|
|
.pg
|
|
\fIElves\fP are agile, quick, and perceptive; very little of what goes
|
|
on will escape an Elf. The quality of Elven craftsmanship often gives
|
|
them an advantage in arms and armor.
|
|
.pg
|
|
\fIGnomes\fP are smaller than but generally similar to dwarves. Gnomes are
|
|
known to be expert miners, and it is known that a secret underground mine
|
|
complex built by this race exists within the Mazes of Menace, filled with
|
|
both riches and danger.
|
|
.pg
|
|
\fIHumans\fP are by far the most common race of the surface world, and
|
|
are thus the norm to which other races are often compared. Although
|
|
they have no special abilities, they can succeed in any role.
|
|
.pg
|
|
\fIOrcs\fP are a cruel and barbaric race that hate every living thing
|
|
(including other orcs). Above all others, Orcs hate Elves with a passion
|
|
unequalled, and will go out of their way to kill one at any opportunity.
|
|
The armor and weapons fashioned by the Orcs are typically of inferior quality.
|
|
.hn 1
|
|
What do all those things on the screen mean?
|
|
.pg
|
|
On the screen is kept a map of where you have
|
|
been and what you have seen on the current dungeon level; as you
|
|
explore more of the level, it appears on the screen in front of you.
|
|
.pg
|
|
When NetHack's ancestor \fIrogue\fP first appeared, its screen
|
|
orientation was almost unique among computer fantasy games. Since
|
|
then, screen orientation has become the norm rather than the
|
|
exception; NetHack continues this fine tradition. Unlike text
|
|
adventure games that accept commands in pseudo-English sentences and
|
|
explain the results in words, NetHack commands are all one or two
|
|
keystrokes and the results are displayed graphically on the screen. A
|
|
minimum screen size of 24 lines by 80 columns is recommended; if the
|
|
screen is larger, only a 21x80 section will be used for the map.
|
|
.pg
|
|
NetHack can even be played by blind players, with the assistance of Braille
|
|
readers or speech synthesisers. Instructions for configuring NetHack for
|
|
the blind are included later in this document.
|
|
.pg
|
|
NetHack generates a new dungeon every time you play it; even the
|
|
authors still find it an entertaining and exciting game despite
|
|
having won several times.
|
|
.pg
|
|
NetHack offers a variety of display options. The options available to you
|
|
will vary from port to port, depending on the capabilities of your
|
|
hardware and software, and whether various compile-time options were
|
|
enabled when your executable was created. The three possible display
|
|
options are: a monochrome character interface, a color character interface,
|
|
and a graphical interface using small pictures called tiles. The two
|
|
character interfaces allow fonts with other characters to be substituted,
|
|
but the default assignments use standard ASCII characters to represent
|
|
everything. There is no difference between the various display options
|
|
with respect to game play. Because we cannot reproduce the tiles or
|
|
colors in the Guidebook, and because it is common to all ports, we will
|
|
use the default ASCII characters from the monochrome character display
|
|
when referring to things you might see on the screen during your game.
|
|
.pg
|
|
In order to understand what is going on in NetHack, first you must
|
|
understand what NetHack is doing with the screen.
|
|
The NetHack screen
|
|
replaces the \(lqYou see ...\(rq descriptions of text adventure games.
|
|
Figure 1 is a sample of what a NetHack screen might look like.
|
|
The way the screen looks for you depends on your platform.
|
|
.
|
|
.\" (Either generated by hand or else the composite of two different
|
|
.\" situations. Originally the character had only reached a second room
|
|
.\" (unchanged here) by turn 257 (now changed to 752) and was already
|
|
.\" Weak from hunger (now changed to just Hungry) and also lacked any of
|
|
\." Tourist's starting gold. Confusion is added to include a condition.)
|
|
.\"
|
|
.\" Width is constrained by the margins of plain text output (Guidebook.txt).
|
|
.\" Text output shows an extra space in front of the right hand boundary box
|
|
.\" which isn't present in this data nor in the Postscript output. It also
|
|
.\" overwrites the label on the bottom boundary box line so that ends ups as
|
|
.\" ------Figure-N------. Odd but acceptable.
|
|
.BR 2
|
|
.ft CR \" set font to constant-width Roman
|
|
.TS S
|
|
center box tab(~);
|
|
L.
|
|
The bat bites!
|
|
|
|
------
|
|
|....| ----------
|
|
|.<..|####...@...$.|
|
|
|....-# |...B....+
|
|
|....| |.d......|
|
|
------ -------|--
|
|
|
|
|
|
|
|
Player the Rambler St:12 Dx:7 Co:18 In:11 Wi:9 Ch:15 Neutral
|
|
Dlvl:1 $:993 HP:9(12) Pw:3(3) AC:10 Exp:1/19 T:752 Hungry Conf
|
|
.TE
|
|
.ft \" revert to previous font
|
|
.ce 1
|
|
Figure 1
|
|
.
|
|
.\" Figure 2 uses trailing spaces to force the same width as Figure 1.
|
|
.BR 1
|
|
.ft CR
|
|
.TS S
|
|
center box tab(~);
|
|
L.
|
|
Player the Rambler St:12 Dx:7 Co:18 In:11 Wi:9 Ch:15 \"
|
|
Neutral $:993 HP:9(12) Pw:3(3) AC:10 Exp:1/19 Hungry \"
|
|
Dlvl:1 T:752 Conf \"
|
|
.TE
|
|
.ft
|
|
.ce 1
|
|
Figure 2
|
|
.
|
|
.hn 2
|
|
The status lines (bottom)
|
|
.pg
|
|
The bottom two (or three) lines of the screen contain several cryptic
|
|
pieces of information describing your current status.
|
|
Figure 1 shows the traditional two-line status area below the map.
|
|
Figure 2 shows just the status area, when the
|
|
.op statuslines:3
|
|
option has been set (not all interfaces support this option).
|
|
If any status line becomes wider than the screen, you might not see all
|
|
of it due to truncation.
|
|
When the numbers grow bigger and multiple \fIconditions\fP are present,
|
|
the two-line format will run out of room on the second line, but
|
|
.op statuslines:2
|
|
is the default because a basic 24-line terminal isn't tall enough for
|
|
the third line.
|
|
.pg
|
|
Here are explanations of what the various status items mean:
|
|
.lp "Title "
|
|
Your character's name and professional ranking (based on role and
|
|
\fIexperience level\fP, see below).
|
|
.lp Strength
|
|
A measure of your character's strength; one of your six basic
|
|
attributes. A human character's attributes can range from 3 to 18 inclusive;
|
|
non-humans may exceed these limits
|
|
(occasionally you may get super-strengths of the form 18/xx, and magic can
|
|
also cause attributes to exceed the normal limits). The
|
|
higher your strength, the stronger you are. Strength affects how
|
|
successfully you perform physical tasks, how much damage you do in
|
|
combat, and how much loot you can carry.
|
|
.lp Dexterity
|
|
Dexterity affects your chances to hit in combat, to avoid traps, and
|
|
do other tasks requiring agility or manipulation of objects.
|
|
.lp Constitution
|
|
Constitution affects your ability to recover from injuries and other
|
|
strains on your stamina.
|
|
When strength is low or modest, constitution also affects how much you
|
|
can carry. With sufficiently high strength, the contribution to
|
|
carrying capacity from your constitution no longer matters.
|
|
.lp Intelligence
|
|
Intelligence affects your ability to cast spells and read spellbooks.
|
|
.lp "Wisdom "
|
|
Wisdom comes from your practical experience (especially when dealing with
|
|
magic). It affects your magical energy.
|
|
.lp Charisma
|
|
Charisma affects how certain creatures react toward you. In
|
|
particular, it can affect the prices shopkeepers offer you.
|
|
.lp Alignment
|
|
\fBLawful\fP, \fBNeutral\fP, or \fBChaotic\fP. Often, Lawful is
|
|
taken as good and Chaotic as evil, but legal and ethical do not always
|
|
coincide. Your alignment influences how other
|
|
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 seriously offended at your presence.
|
|
.lp "Dungeon Level"
|
|
How deep you are in the dungeon. You start at level one and the number
|
|
increases as you go deeper into the dungeon. Some levels are special,
|
|
and are identified by a name and not a number. The Amulet of Yendor is
|
|
reputed to be somewhere beneath the twentieth level.
|
|
.lp "Gold "
|
|
The number of gold pieces you are openly carrying. Gold which you have
|
|
concealed in containers is not counted.
|
|
.lp "Hit Points"
|
|
Your current and maximum hit points. Hit points indicate how much
|
|
damage you can take before you die. The more you get hit in a fight,
|
|
the lower they get. You can regain hit points by resting, or by using
|
|
certain magical items or spells. The number in parentheses is the maximum
|
|
number your hit points can reach.
|
|
.lp "Power "
|
|
Spell points. This tells you how much mystic energy (\fImana\fP)
|
|
you have available for spell casting. Again, resting will regenerate the
|
|
amount available.
|
|
.lp "Armor Class"
|
|
A measure of how effectively your armor stops blows from unfriendly
|
|
creatures.
|
|
The lower this number is, the more effective the armor; it
|
|
is quite possible to have negative armor class.
|
|
See the \fIArmor\fP subsection of \fIObjects\fP for more information.
|
|
.lp Experience
|
|
Your current experience level.
|
|
If the
|
|
.op showexp
|
|
option is set, it will be followed by a slash and experience points.
|
|
As you adventure, you gain experience points.
|
|
At certain experience point totals, you gain an experience level.
|
|
The more experienced you are, the better you fight and withstand magical
|
|
attacks.
|
|
(By the time your level reaches double digits, the usefulness of showing
|
|
the points with it has dropped significantly.
|
|
You can use the \(oq\f(CRO\fP\(cq command to turn
|
|
.op showexp
|
|
off to avoid using up the limited status line space.)
|
|
.lp "Time "
|
|
The number of turns elapsed so far, displayed if you have the
|
|
.op time
|
|
option set.
|
|
.lp "Status "
|
|
Hunger:
|
|
your current hunger status.
|
|
Values are \fBSatiated\fP, \fBNot Hungry\fP (or \fBNormal\fP),
|
|
\fBHungry\fP, \fBWeak\fP, and \fBFainting\fP.
|
|
.\" not mentioned: Fainted
|
|
Not shown when \fBNormal\fP.
|
|
.lp ""
|
|
Encumbrance:
|
|
an indication of how what you are carrying affects your ability to move.
|
|
Values are \fBUnencumbered\fP, \fBEncumbered\fP, \fBStressed\fP,
|
|
\fBStrained\fP, \fBOvertaxed\fP, and \fBOverloaded\fP.
|
|
Not shown when \fBUnencumbered\fP.
|
|
.lp ""
|
|
Fatal conditions:
|
|
\fBStone\fP (aka \fBPetrifying\fP, turning to stone),
|
|
\fBSlime\fP (turning into green slime),
|
|
\fBStrngl\fP (being strangled),
|
|
\fBFoodPois\fP (suffering from acute food poisoning),
|
|
\fBTermIll\fP (suffering from a terminal illness).
|
|
.lp ""
|
|
Non-fatal conditions:
|
|
\fBBlind\fP (can't see), \fBDeaf\fP (can't hear),
|
|
\fBStun\fP (stunned), \fBConf\fP (confused), \fBHallu\fP (hallucinating).
|
|
.lp ""
|
|
Movement modifiers:
|
|
\fBLev\fP (levitating), \fBFly\fP (flying), \fBRide\fP (riding).
|
|
.lp ""
|
|
Other conditions and modifiers exist, but there isn't enough room to
|
|
display them with the other status fields.
|
|
The \(oq\(haX\(cq command shows all relevant status conditions.
|
|
.hn 2
|
|
The message line (top)
|
|
.pg
|
|
The top line of the screen is reserved for messages that describe
|
|
things that are impossible to represent visually.
|
|
If you see a
|
|
\(lq\fB\-\-More\-\-\fP\(rq on the top line, this means that NetHack has
|
|
another message to display on the screen, but it wants to make certain
|
|
that you've read the one that is there first.
|
|
To read the next message, just press the space bar.
|
|
.pg
|
|
To change how and what messages are shown on the message line,
|
|
see \(lqConfiguring Message Types\(rq and the
|
|
.op verbose
|
|
option.
|
|
.hn 2
|
|
The map (rest of the screen)
|
|
.pg
|
|
The rest of the screen is the map of the level as you have explored it
|
|
so far. Each symbol on the screen represents something. You can set
|
|
various graphics options to change some of the symbols the game uses;
|
|
otherwise, the game will use default symbols. Here is a list of what the
|
|
default symbols mean:
|
|
.lp "\\- and | "
|
|
The walls of a room, or an open door. Or a grave (|).
|
|
.lp .
|
|
The floor of a room, ice, or a doorless doorway.
|
|
.lp #
|
|
A corridor, or iron bars, or a tree, or possibly a kitchen sink (if
|
|
your dungeon has sinks), or a drawbridge.
|
|
.lp >
|
|
Stairs down: a way to the next level.
|
|
.lp <
|
|
Stairs up: a way to the previous level.
|
|
.lp +
|
|
A closed door, or a spellbook containing a spell you may be able to learn.
|
|
.lp @
|
|
Your character or a human.
|
|
.lp $
|
|
A pile of gold.
|
|
.lp \(ha \" ^
|
|
A trap (once you have detected it).
|
|
.lp )
|
|
A weapon.
|
|
.lp [
|
|
A suit or piece of armor.
|
|
.lp %
|
|
Something edible (not necessarily healthy).
|
|
.lp ?
|
|
A scroll.
|
|
.lp /
|
|
A wand.
|
|
.lp =
|
|
A ring.
|
|
.lp !
|
|
A potion.
|
|
.lp (
|
|
A useful item (pick-axe, key, lamp...).
|
|
.lp \(dq \" \(dq == double quote
|
|
An amulet or a spider web.
|
|
.lp *
|
|
A gem or rock (possibly valuable, possibly worthless).
|
|
.lp \`
|
|
A boulder or statue.
|
|
.lp 0
|
|
An iron ball.
|
|
.lp _
|
|
An altar, or an iron chain.
|
|
.lp {
|
|
A fountain.
|
|
.lp }
|
|
A pool of water or moat or a pool of lava.
|
|
.lp \\\\
|
|
An opulent throne.
|
|
.lp "a-zA-Z and other symbols"
|
|
Letters and certain other symbols represent the various inhabitants
|
|
of the Mazes of Menace. Watch out, they can be nasty and vicious.
|
|
Sometimes, however, they can be helpful.
|
|
.lp I
|
|
This marks the last known location of an invisible or otherwise unseen
|
|
monster. Note that the monster could have moved.
|
|
The \(oqF\(cq and \(oqm\(cq commands may be useful here.
|
|
.pg
|
|
You need not memorize all these symbols; you can ask the game what any
|
|
symbol represents with the \(oq/\(cq command (see the next section for
|
|
more info).
|
|
.
|
|
.hn 1
|
|
Commands
|
|
.pg
|
|
Commands can be initiated by typing one or two characters to which
|
|
the command is bound to, or typing the command name in the extended
|
|
commands entry.
|
|
Some commands, like \(lqsearch\(rq, do not require that any more
|
|
information be collected by NetHack.
|
|
Other commands might require additional information, for
|
|
example a direction, or an object to be used.
|
|
For those commands that
|
|
require additional information, NetHack will present you with either a
|
|
menu of choices or with a command line prompt requesting information.
|
|
Which you are presented with will depend chiefly on how you have set the
|
|
.op menustyle
|
|
option.
|
|
.pg
|
|
For example, a common question, in the form \(lqWhat do you want to
|
|
use?\ [a\-zA\-Z\ ?*]\(rq, asks you to choose an object you are carrying.
|
|
Here, \(lqa\-zA\-Z\(rq are the inventory letters of your possible choices.
|
|
Typing \(oq?\(cq gives you an inventory list of these items, so you can see
|
|
what each letter refers to.
|
|
In this example, there is also a \(oq*\(cq
|
|
indicating that you may choose an object not on the list, if you
|
|
wanted to use something unexpected.
|
|
Typing a \(oq*\(cq lists your entire
|
|
inventory, so you can see the inventory letters of every object you're
|
|
carrying.
|
|
Finally, if you change your mind and decide you don't want
|
|
to do this command after all, you can press the ESC key to abort the
|
|
command.
|
|
.pg
|
|
You can put a number before some commands to repeat them that many
|
|
times; for example, \(lq10s\(rq will search ten times.
|
|
If you have the
|
|
.op number_pad
|
|
option set, you must type \(oqn\(cq to prefix a count, so the example above
|
|
would be typed \(lqn10s\(rq instead.
|
|
Commands for which counts make no sense ignore them.
|
|
In addition, movement commands can be prefixed for
|
|
greater control (see below).
|
|
To cancel a count or a prefix, press the ESC key.
|
|
.pg
|
|
The list of commands is rather long, but it can be read at any time
|
|
during the game through the \(oq?\(cq command, which accesses a menu of
|
|
helpful texts.
|
|
Here are the default key bindings for your reference:
|
|
.lp ?
|
|
Help menu: display one of several help texts available.
|
|
.lp /
|
|
The \(lqwhatis\(rq command, to tell what a symbol represents.
|
|
You may choose to specify a location
|
|
or type a symbol (or even a whole word) to explain.
|
|
Specifying a location is done by moving the cursor to a particular spot
|
|
on the map and then pressing one of \(oq.\(cq, \(oq,\(cq, \(oq;\(cq,
|
|
or \(oq:\(cq.
|
|
\(oq.\(cq will explain the symbol at the chosen location,
|
|
conditionally check for \(lqMore info?\(rq depending upon whether the
|
|
.op help
|
|
option is on, and then you will be asked to pick another location;
|
|
\(oq,\(cq will explain the symbol but skip any additional
|
|
information, then let you pick another location;
|
|
\(oq;\(cq will skip additional info and also not bother asking
|
|
you to choose another location to examine; \(oq:\(cq will show additional
|
|
info, if any, without asking for confirmation.
|
|
When picking a location,
|
|
pressing the ESC key will terminate this command, or pressing \(oq?\(cq will
|
|
give a brief reminder about how it works.
|
|
.lp ""
|
|
If the
|
|
.op autodescribe
|
|
option is on, a short description of what you see at each location is
|
|
shown as you move the cursor.
|
|
Typing \(oq#\(cq while picking a location will
|
|
toggle that option on or off.
|
|
The
|
|
.op whatis_coord
|
|
option controls whether the short description includes map coordinates.
|
|
.lp ""
|
|
Specifying a name rather than a location
|
|
always gives any additional information available about that name.
|
|
.lp ""
|
|
You may also request a description of nearby monsters,
|
|
all monsters currently displayed, nearby objects, or all objects.
|
|
The
|
|
.op whatis_coord
|
|
option controls which format of map coordinate is included with their
|
|
descriptions.
|
|
.lp &
|
|
Tell what a command does.
|
|
.lp <
|
|
Go up to the previous level (if you are on a staircase or ladder).
|
|
.lp >
|
|
Go down to the next level (if you are on a staircase or ladder).
|
|
.lp [yuhjklbn]
|
|
Go one step in the direction indicated (see Figure 3).
|
|
If you sense or remember a monster there, you will fight the monster
|
|
instead.
|
|
Only these one-step movement commands cause you to fight monsters; the
|
|
others (below) are \(lqsafe.\(rq
|
|
.SD n
|
|
.\" note: the two number pad layouts are separated by a tab on each line;
|
|
.\" [that's out of date; it's now tab,backslash,space,tab]
|
|
.\" converting those tabs to spaces will screw up the formatting;
|
|
.\" the '(if ... set)' line starts with <backslash><space><tab>
|
|
.\" and is intended to line up with the right hand layout rather
|
|
.\" than be centered. Second column forces the label to be evenly
|
|
.\" spaced between first and third; Phantom fourth column forces
|
|
.\" the whole to shift left since fully centered doesn't look good.
|
|
.\" "Figure 3 " includes a trailing space to shift left a little.
|
|
.ft CR
|
|
.TS S
|
|
center;
|
|
ce c ce ce.
|
|
y k u \ 7 8 9\ \"
|
|
\\ | / \ \\ | /\ \"
|
|
h\- . \-l \ 4\- . \-6\ \"
|
|
/ | \\ \ / | \\\ \"
|
|
b j n \ 1 2 3\ \"
|
|
\fR\ \ (if \fBnumber_pad\fP is set)\ \fP\"
|
|
\fR\ Figure 3\ \ \fP\"
|
|
.TE
|
|
.ft
|
|
.ED
|
|
.
|
|
.lp [YUHJKLBN]
|
|
Go in that direction until you hit a wall or run into something.
|
|
.lp m[yuhjklbn]
|
|
Prefix: move without picking up objects or fighting (even if you remember
|
|
a monster there).
|
|
.lp ""
|
|
A few non-movement commands use the \(oqm\(cq prefix to request operating
|
|
via menu (to temporarily override the
|
|
.op menustyle:Traditional
|
|
option).
|
|
Primarily useful for \(oq,\(cq (pickup) when there is only one class of
|
|
objects present (where there won't be any \(lqwhat kinds of objects?\(rq
|
|
prompt,
|
|
so no opportunity to answer \(oqm\(cq at that prompt).
|
|
.lp ""
|
|
A few other commands (eat food, offer sacrifice, apply tinning-kit) use
|
|
the \(oqm\(cq prefix to skip checking for applicable objects on the floor
|
|
and go straight to checking inventory,
|
|
or (for \(lq#loot\(rq to remove a saddle),
|
|
skip containers and go straight to adjacent monsters.
|
|
The prefix will
|
|
make \(lq#travel\(rq command show a menu of interesting targets in sight.
|
|
In debug mode (aka \(lqwizard mode\(rq), the \(oqm\(cq prefix may also be
|
|
used with the \(lq#teleport\(rq and \(lq#wizlevelport\(rq commands.
|
|
.lp F[yuhjklbn]
|
|
Prefix: fight a monster (even if you only guess one is there).
|
|
.lp M[yuhjklbn]
|
|
Prefix: move far, no pickup.
|
|
.lp "g[yuhjklbn]"
|
|
Prefix: move until something interesting is found.
|
|
.lp "G[yuhjklbn] or <CONTROL->[yuhjklbn]"
|
|
Prefix: same as \(oqg\(cq, but forking of corridors is not considered
|
|
interesting.
|
|
.lp _
|
|
Travel to a map location via a shortest-path algorithm.
|
|
.lp ""
|
|
The shortest path
|
|
is computed over map locations the hero knows about (e.g. seen or
|
|
previously traversed).
|
|
If there is no known path, a guess is made instead.
|
|
Stops on most of
|
|
the same conditions as the \(oqG\(cq command, but without picking up
|
|
objects, similar to the \(oqM\(cq command.
|
|
For ports with mouse
|
|
support, the command is also invoked when a mouse-click takes place on a
|
|
location other than the current position.
|
|
.lp .
|
|
Wait or rest, do nothing for one turn. Precede with the \(oqm\(cq prefix
|
|
to wait for a turn even next to a hostile monster, if
|
|
.op safe_wait
|
|
is on.
|
|
.lp a
|
|
Apply (use) a tool (pick-axe, key, lamp...).
|
|
.lp ""
|
|
If used on a wand, that wand will be broken, releasing its magic in the
|
|
process. Confirmation is required.
|
|
.lp A
|
|
Remove one or more worn items, such as armor.
|
|
.lp ""
|
|
Use \(oqT\(cq (take off) to take off only one piece of armor
|
|
or \(oqR\(cq (remove) to take off only one accessory.
|
|
.lp \(haA
|
|
Redo the previous command.
|
|
.lp c
|
|
Close a door.
|
|
.lp C
|
|
Call (name) a monster, an individual object, or a type of object.
|
|
.lp ""
|
|
Same as extended command \(lq#name\(rq.
|
|
.lp \(haC
|
|
Panic button. Quit the game.
|
|
.lp d
|
|
Drop something.
|
|
.lp ""
|
|
For example \(lqd7a\(rq means drop seven items of object \fIa\fP.
|
|
.lp D
|
|
Drop several things.
|
|
.lp ""
|
|
In answer to the question
|
|
.lp ""
|
|
\(lqWhat kinds of things do you want to drop? [!%= BUCXaium]\(rq
|
|
.lp ""
|
|
you should type zero or more object symbols possibly followed by
|
|
\(oqa\(cq and/or \(oqi\(cq and/or \(oqu\(cq and/or \(oqm\(cq.
|
|
In addition, one or more of
|
|
the blessed/uncursed/cursed groups may be typed.
|
|
.PS D%u
|
|
.PL DB
|
|
drop all objects known to be blessed.
|
|
.PL DU
|
|
drop all objects known to be uncursed.
|
|
.PL DC
|
|
drop all objects known to be cursed.
|
|
.PL DX
|
|
drop all objects of unknown B/U/C status.
|
|
.PL Da
|
|
drop all objects, without asking for confirmation.
|
|
.PL Di
|
|
examine your inventory before dropping anything.
|
|
.PL Du
|
|
drop only unpaid objects (when in a shop).
|
|
.PL Dm
|
|
use a menu to pick which object(s) to drop.
|
|
.PL D%u
|
|
drop only unpaid food.
|
|
.PE
|
|
The last example shows a combination.
|
|
There are three categories of object filtering: class (\(oq!\(cq for
|
|
potions, \(oq?\(cq for scrolls, and so on), shop status (\(oqu\(cq for
|
|
unpaid, in other words, owned by the shop), and bless/curse state
|
|
(\(oqB\(cq, \(oqU\(cq, \(oqC\(cq, and \(oqX\(cq as shown above).
|
|
If you specify more than one value in a category (such as \(lq!?\(rq for
|
|
potions and scrolls or \(lqBU\(rq for blessed and uncursed), an inventory
|
|
object will meet the criteria if it matches any of the specified
|
|
values (so \(lq!?\(rq means \(oq!\(cq or \(oq?\(cq).
|
|
If you specify more than one category, an inventory object must meet
|
|
each of the category criteria (so \(lq%u\(rq means class \(oq%\(cq and
|
|
unpaid \(oqu\(cq).
|
|
Lastly, you may specify multiple values within multiple categories:
|
|
\(lq!?BU\(rq 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 \(haD
|
|
Kick something (usually a door).
|
|
.lp e
|
|
Eat food.
|
|
.lp ""
|
|
Normally checks for edible item(s) on the floor, then if none are found
|
|
or none are chosen, checks for edible item(s) in inventory.
|
|
Precede \(oqe\(cq with the \(oqm\(cq prefix to bypass attempting to eat
|
|
anything off the floor.
|
|
.lp ""
|
|
If you attempt to eat while already satiated, you might choke to death.
|
|
If you risk it, you will be asked whether
|
|
to \(lqcontinue eating?\(rq \fIif you survive the first bite\fP.
|
|
You can set the
|
|
.op paranoid_confirmation:eating
|
|
option to require a response of \f(CRyes\fP instead of just \f(CRy\fP.
|
|
.
|
|
.\" Make sure Elbereth is not hyphenated below, the exact spelling matters
|
|
.hw Elbereth
|
|
.lp E
|
|
Engrave a message on the floor.
|
|
.sd
|
|
.si
|
|
E\- - write in the dust with your fingers.
|
|
.ei
|
|
.ed
|
|
.lp ""
|
|
Engraving the word \(lqElbereth\(rq will cause most monsters to not attack
|
|
you hand-to-hand (but if you attack, you will rub it out); this is
|
|
often useful to give yourself a breather.
|
|
.lp f
|
|
Fire (shoot or throw) one of the objects placed in your quiver (or
|
|
quiver sack, or that you have at the ready).
|
|
You may select ammunition with a previous \(oqQ\(cq command, or let the
|
|
computer pick something appropriate if
|
|
.op autoquiver
|
|
is true.
|
|
.lp ""
|
|
See also \(oqt\(cq (throw) for more general throwing and shooting.
|
|
.lp i
|
|
List your inventory (everything you're carrying).
|
|
.lp I
|
|
List selected parts of your inventory, usually be specifying the character
|
|
for a particular set of objects, like \(oq[\(cq for armor or \(oq!\(cq for
|
|
potions.
|
|
.PS IX
|
|
.PL I*
|
|
list all gems in inventory;
|
|
.PL Iu
|
|
list all unpaid items;
|
|
.PL Ix
|
|
list all used up items that are on your shopping bill;
|
|
.PL IB
|
|
list all items known to be blessed;
|
|
.PL IU
|
|
list all items known to be uncursed;
|
|
.PL IC
|
|
list all items known to be cursed;
|
|
.PL IX
|
|
list all items whose bless/curse status is unknown;
|
|
.PL I$
|
|
count your money.
|
|
.PE
|
|
.lp o
|
|
Open a door.
|
|
.lp O
|
|
Set options.
|
|
.lp ""
|
|
A menu showing the current option values will be displayed.
|
|
You can change most values simply by selecting the menu
|
|
entry for the given option (ie, by typing its letter or clicking upon
|
|
it, depending on your user interface).
|
|
For the non-boolean choices,
|
|
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 \(oqO\(cq
|
|
command; see the section on options below.
|
|
.lp \(haO
|
|
Show overview.
|
|
.lp ""
|
|
Shortcut for \(lq#overview\(rq: list interesting dungeon levels visited.
|
|
.lp ""
|
|
(Prior to 3.6.0, \(oq\(haO\(cq was a debug mode command which listed
|
|
the placement of all special levels.
|
|
Use \(lq#wizwhere\(rq to run that command.)
|
|
.lp p
|
|
Pay your shopping bill.
|
|
.lp P
|
|
Put on an accessory (ring, amulet, or blindfold).
|
|
.lp ""
|
|
This command may also be used to wear armor.
|
|
The prompt for which inventory item to use will only list accessories,
|
|
but choosing an unlisted item of armor will attempt to wear it.
|
|
(See the \(oqW\(cq command below.
|
|
It lists armor as the inventory
|
|
choices but will accept an accessory and attempt to put that on.)
|
|
.lp \(haP
|
|
Repeat previous message.
|
|
.lp ""
|
|
Subsequent \(oq\(haP\(cqs repeat earlier messages.
|
|
For some interfaces, the behavior can be varied via the
|
|
.op msg_window
|
|
option.
|
|
.lp q
|
|
Quaff (drink) something (potion, water, etc).
|
|
.lp Q
|
|
Select an object for your quiver, quiver sack, or just generally at
|
|
the ready (only one of these is available at a time).
|
|
You can then throw this (or one of these) using the \(oqf\(cq command.
|
|
.lp ""
|
|
(In versions prior to 3.3 this was the command to quit
|
|
the game, which has been moved to \(lq#quit\(rq.)
|
|
.lp r
|
|
Read a scroll or spellbook.
|
|
.lp R
|
|
Remove a worn accessory (ring, amulet, or blindfold).
|
|
.lp ""
|
|
If you're wearing more than one, you'll be prompted for which one to
|
|
remove.
|
|
When you're only wearing one, then by default it will be removed
|
|
without asking, but you can set the
|
|
.op paranoid_confirmation
|
|
option to require a prompt.
|
|
.lp ""
|
|
This command may also be used to take off armor.
|
|
The prompt for which inventory item to remove only lists worn
|
|
accessories, but an item of worn armor can be chosen.
|
|
(See the \(oqT\(cq command below.
|
|
It lists armor as the inventory
|
|
choices but will accept an accessory and attempt to remove it.)
|
|
.lp \(haR
|
|
Redraw the screen.
|
|
.lp s
|
|
Search for secret doors and traps around you.
|
|
It usually takes several tries to find something.
|
|
Precede with the \(oqm\(cq prefix to search for a turn
|
|
even next to a hostile monster, if
|
|
.op safe_wait
|
|
is on.
|
|
.lp ""
|
|
Can also be used to figure out whether there is still a monster at
|
|
an adjacent \(lqremembered, unseen monster\(rq marker.
|
|
.lp S
|
|
Save the game (which suspends play and exits the program).
|
|
The saved game will be restored automatically the next time you play
|
|
using the same character name.
|
|
.lp ""
|
|
In normal play, once a saved game is restored the file used to hold
|
|
the saved data is deleted.
|
|
In explore mode, once restoration is accomplished you are asked whether
|
|
to keep or delete the file.
|
|
Keeping the file makes it feasible to play for a while then quit
|
|
without saving and later restore again.
|
|
.lp ""
|
|
There is no \(lqsave current game state and keep playing\(rq command, not
|
|
even in explore mode where saved game files can be kept and re-used.
|
|
.lp t
|
|
Throw an object or shoot a projectile.
|
|
.lp ""
|
|
There's no separate \(lqshoot\(rq command.
|
|
If you throw an arrow while wielding a bow, you are shooting
|
|
that arrow and any weapon skill bonus or penalty for bow applies.
|
|
If you throw an arrow while not wielding a bow, you are throwing
|
|
it by hand and it will generally be less effective than when shot.
|
|
.lp ""
|
|
See also \(oqf\(cq (fire) for throwing or shooting an item pre-selected
|
|
via the \(oqQ\(cq (quiver) command.
|
|
.lp T
|
|
Take off armor.
|
|
.lp ""
|
|
If you're wearing more than one piece, you'll be prompted for which
|
|
one to take off. (Note that this treats a cloak covering a suit
|
|
and/or a shirt, or a suit covering a shirt, as if the underlying items
|
|
weren't there.)
|
|
When you're only wearing one, then by default it will
|
|
be taken off without asking, but you can set the
|
|
.op paranoid_confirmation
|
|
option to require a prompt.
|
|
.lp ""
|
|
This command may also be used to remove accessories.
|
|
The prompt for which inventory item to take off only lists worn armor,
|
|
but a worn accessory can be chosen.
|
|
(See the \(oqR\(cq command above.
|
|
It lists accessories as the inventory
|
|
choices but will accept an item of armor and attempt to take it off.)
|
|
.lp \(haT
|
|
Teleport, if you have the ability.
|
|
.lp v
|
|
Display version number.
|
|
.lp V
|
|
Display the game history.
|
|
.lp w
|
|
Wield weapon.
|
|
.sd
|
|
.si
|
|
w\- - wield nothing, use your bare (or gloved) hands.
|
|
.ei
|
|
.ed
|
|
Some characters can wield two weapons at once; use the \(oqX\(cq command
|
|
(or the \(lq#twoweapon\(rq extended command) to do so.
|
|
.lp W
|
|
Wear armor.
|
|
.lp ""
|
|
This command may also be used to put on an accessory (ring, amulet, or
|
|
blindfold). The prompt for which inventory item to use will only list
|
|
armor, but choosing an unlisted accessory will attempt to put it on.
|
|
(See the \(oqP\(cq command above.
|
|
It lists accessories as the inventory
|
|
choices but will accept an item of armor and attempt to wear it.)
|
|
.lp x
|
|
Exchange your wielded weapon with the item in your alternate weapon slot.
|
|
.lp ""
|
|
The latter is used as your secondary weapon when engaging in
|
|
two-weapon combat. Note that if one of these slots is empty,
|
|
the exchange still takes place.
|
|
.lp X
|
|
Toggle two-weapon combat, if your character can do it. Also available
|
|
via the \(lq#twoweapon\(rq extended command.
|
|
.lp ""
|
|
(In versions prior to 3.6 this was the command to switch from normal
|
|
play to \(lqexplore mode\(rq, also known as \(lqdiscovery mode\(rq,
|
|
which has now been moved to \(lq#exploremode\(rq.)
|
|
.lp \(haX
|
|
Display basic information about your character.
|
|
.lp ""
|
|
Displays name, role, race, gender (unless role name makes that
|
|
redundant, such as \fICaveman\fP or \fIPriestess\fP), and alignment,
|
|
along with your patron deity and his or her opposition.
|
|
It also
|
|
shows most of the various items of information from the status line(s)
|
|
in a less terse form, including several additional things which don't
|
|
appear in the normal status display due to space considerations.
|
|
.lp ""
|
|
In normal play, that's all that \(oq\(haX\(cq displays.
|
|
In explore mode, the role and status feedback is augmented by the
|
|
information provided by \fIenlightenment\fP magic.
|
|
.lp z
|
|
Zap a wand.
|
|
.sd
|
|
.si
|
|
z. - to aim at yourself, use \(oq\.\(cq for the direction.
|
|
.ei
|
|
.ed
|
|
.lp Z
|
|
Zap (cast) a spell.
|
|
.sd
|
|
.si
|
|
Z. - to cast at yourself, use \(oq\.\(cq for the direction.
|
|
.ei
|
|
.ed
|
|
.lp \(haZ
|
|
Suspend the game
|
|
.\" .UX: print "UNIX" now and a trademark footnote at bottom of current page;
|
|
.\" 2nd arg (literal '(') _precedes_ it, 1st arg (quoted string) follows it
|
|
.UX " versions with job control only)." (
|
|
See \(lq#suspend\(rq below for more details.
|
|
.lp :
|
|
Look at what is here.
|
|
.lp ;
|
|
Show what type of thing a visible symbol corresponds to.
|
|
.lp ,
|
|
Pick up some things from the floor beneath you.
|
|
.lp ""
|
|
May be preceded by \(oqm\(cq to force a selection menu.
|
|
.lp @
|
|
Toggle the
|
|
.op autopickup
|
|
option on and off.
|
|
.lp \(ha \" ^
|
|
Ask for the type of an adjacent trap you found earlier.
|
|
.lp )
|
|
Tell what weapon you are wielding.
|
|
.lp [
|
|
Tell what armor you are wearing.
|
|
.lp =
|
|
Tell what rings you are wearing.
|
|
.lp \(dq \" \(dq == double quote
|
|
Tell what amulet you are wearing.
|
|
.lp (
|
|
Tell what tools you are using.
|
|
.lp *
|
|
Tell what equipment you are using.
|
|
.lp ""
|
|
Combines the preceding five type-specific
|
|
commands into one.
|
|
.lp $
|
|
Report the gold you're carrying, possibly shop credit and/or debt too.
|
|
.lp +
|
|
List the spells you know.
|
|
.lp ""
|
|
Using this command, you can also rearrange
|
|
the order in which your spells are listed, either by sorting the entire
|
|
list or by picking one spell from the menu then picking another to swap
|
|
places with it.
|
|
Swapping pairs of spells changes their casting letters,
|
|
so the change lasts after the current \(oq+\(cq command finishes.
|
|
Sorting the whole list is temporary.
|
|
To make the most recent sort order persist
|
|
beyond the current \(oq+\(cq command, choose the sort option again and then
|
|
pick \(lqreassign casting letters\(rq.
|
|
(Any spells learned after that will
|
|
be added to the end of the list rather than be inserted into the sorted
|
|
ordering.)
|
|
.lp \\\\
|
|
Show what types of objects have been discovered.
|
|
.lp \`
|
|
Show discovered types for one class of objects.
|
|
.lp !
|
|
Escape to a shell.
|
|
See \(lq#shell\(rq below for more details.
|
|
.lp #
|
|
Perform an extended command.
|
|
.lp ""
|
|
.pg
|
|
As you can see, the authors of NetHack
|
|
used up all the letters, so this is a way to introduce the less frequently
|
|
used commands.
|
|
What extended commands are available depends on what features the game was
|
|
compiled with.
|
|
.\"
|
|
.\" Pad short entries out to 1+8 characters. This will make sure that
|
|
.\" the text description starts on its own line like long named entries
|
|
.\" instead of sometimes being on the same line for short name ones.
|
|
.\" The document will be longer, but mixing the two is harder to read.
|
|
.\" (For plain text output, the old 1+4 was sufficient. For Postscript,
|
|
.\" several need at least 1+7 due to narrow letters or ligatures.)
|
|
.\"
|
|
.lp "#adjust "
|
|
Adjust inventory letters (most useful when the
|
|
.op fixinv
|
|
option is \(lqon\(rq).
|
|
Autocompletes.
|
|
Default key is \(oqM-a\(cq.
|
|
.lp ""
|
|
This command allows you to move an item from one particular inventory
|
|
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\(emand won't merge\(emthe
|
|
item there will swap slots with the one being moved.
|
|
\(lq#adjust\(rq can also be used to split a stack of objects; when
|
|
choosing the item to adjust, enter a count prior to its letter.
|
|
.lp ""
|
|
Adjusting without a count used to collect all compatible stacks when
|
|
moving to the destination.
|
|
That behavior has been changed; to gather
|
|
compatible stacks, \(lq#adjust\(rq a stack into its own inventory slot.
|
|
If it has a name assigned, other stacks with the same name or with
|
|
no name will merge provided that all their other attributes match.
|
|
If it does not have a name, only other stacks with no name are eligible.
|
|
In either case, otherwise compatible stacks with a different name
|
|
will not be merged.
|
|
This contrasts with using \(lq#adjust\(rq to move
|
|
from one slot to a different slot.
|
|
In that situation, moving (no
|
|
count given) a compatible stack will merge if either stack has a
|
|
name when the other doesn't and give that name to the result, while
|
|
splitting (count given) will ignore the source stack's name when
|
|
deciding whether to merge with the destination stack.
|
|
.lp #annotate
|
|
Allows you to specify one line of text to associate with the current
|
|
dungeon level.
|
|
All levels with annotations are displayed by the
|
|
\(lq#overview\(rq command.
|
|
Autocompletes.
|
|
Default key is \(oqM-A\(cq, and also \(oq\(haN\(cq if
|
|
.op number_pad
|
|
is on.
|
|
.lp "#apply "
|
|
Apply (use) a tool such as a pick-axe, a key, or a lamp.
|
|
Default key is \(oqa\(cq.
|
|
.lp ""
|
|
If the tool used acts on items on the floor, using the \(oqm\(cq prefix skips
|
|
those items.
|
|
.lp ""
|
|
If used on a wand, that wand will be broken, releasing its magic in the
|
|
process.
|
|
Confirmation is required.
|
|
.lp #attributes
|
|
Show your attributes.
|
|
Default key is \(oq\(haX\(cq.
|
|
.lp #autopickup
|
|
Toggle the
|
|
.op autopickup
|
|
option on/off.
|
|
Default key is \(oq@\(cq.
|
|
.lp "#call "
|
|
Call (name) a monster, or an object in inventory, on the floor,
|
|
or in the discoveries list, or add an annotation for the
|
|
current level (same as \(lq#annotate\(rq).
|
|
Default key is \(oqC\(cq.
|
|
.lp "#cast "
|
|
Cast a spell.
|
|
Default key is \(oqZ\(cq.
|
|
.lp "#chat "
|
|
Talk to someone.
|
|
Default key is \(oqM-c\(cq.
|
|
.lp "#close "
|
|
Close a door.
|
|
Default key is \(oqc\(cq.
|
|
.lp "#conduct "
|
|
List voluntary challenges you have maintained.
|
|
.\" [only in wizard mode:]
|
|
.\" Also lists various achievements representing progress toward ultimate
|
|
.\" ascension if any have been attained.
|
|
Autocompletes.
|
|
Default key is \(oqM-C\(cq.
|
|
.lp ""
|
|
See the section below entitled \(lqConduct\(rq for details.
|
|
.lp "#dip "
|
|
Dip an object into something.
|
|
Autocompletes.
|
|
Default key is \(oqM-d\(cq.
|
|
.lp "#down "
|
|
Go down a staircase.
|
|
Default key is \(oq>\(cq.
|
|
.lp "#drop "
|
|
Drop an item.
|
|
Default key is \(oqd\(cq.
|
|
.lp #droptype
|
|
Drop specific item types.
|
|
Default key is \(oqD\(cq.
|
|
.lp "#eat "
|
|
Eat something.
|
|
Default key is \(oqe\(cq.
|
|
The \(oqm\(cq prefix skips eating items on the floor.
|
|
.lp "#engrave "
|
|
Engrave writing on the floor.
|
|
Default key is \(oqE\(cq.
|
|
.lp "#enhance "
|
|
Advance or check weapon and spell skills.
|
|
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.
|
|
.lp "#force "
|
|
Force a lock.
|
|
Autocompletes.
|
|
Default key is \(oqM-f\(cq.
|
|
.lp "#glance "
|
|
Show what type of thing a map symbol corresponds to.
|
|
Default key is \(oq;\(cq.
|
|
.lp "#help "
|
|
Show the help menu.
|
|
Default key is \(oq?\(cq, and also \(oqh\(cq if
|
|
.op number_pad
|
|
is on.
|
|
.lp #herecmdmenu
|
|
Show a menu of possible actions in your current location.
|
|
.lp "#history "
|
|
Show long version and game history.
|
|
Default key is \(oqV\(cq.
|
|
.lp #inventory
|
|
Show your inventory.
|
|
Default key is \(oqi\(cq.
|
|
.lp #inventtype
|
|
Inventory specific item types.
|
|
Default key is \(oqI\(cq.
|
|
.lp "#invoke "
|
|
Invoke an object's special powers.
|
|
Autocompletes.
|
|
Default key is \(oqM-i\(cq.
|
|
.lp "#jump "
|
|
Jump to another location.
|
|
Autocompletes.
|
|
Default key is \(oqM-j\(cq, and also \(oqj\(cq if
|
|
.op number_pad
|
|
is on.
|
|
.lp "#kick "
|
|
Kick something.
|
|
Default key is \(oq\(haD\(cq, and \(oqk\(cq if
|
|
.op number_pad
|
|
is on.
|
|
.lp "#known "
|
|
Show what object types have been discovered.
|
|
Default key is \(oq\\\(cq.
|
|
.lp #knownclass
|
|
Show discovered types for one class of objects.
|
|
Default key is \(oq\`\(cq.
|
|
.lp #levelchange
|
|
Change your experience level.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
.lp #lightsources
|
|
Show mobile light sources.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
.lp "#look "
|
|
Look at what is here, under you.
|
|
Default key is \(oq:\(cq.
|
|
.lp "#loot "
|
|
Loot a box or bag on the floor beneath you, or the saddle
|
|
from a steed standing next to you.
|
|
Autocompletes.
|
|
Precede with the \(oqm\(cq prefix to skip containers at your location
|
|
and go directly to removing a saddle.
|
|
Default key is \(oqM-l\(cq, and also \(oql\(cq if
|
|
.op number_pad
|
|
is on.
|
|
.lp "#monster "
|
|
Use a monster's special ability (when polymorphed into monster form).
|
|
Autocompletes.
|
|
Default key is \(oqM-m\(cq.
|
|
.lp "#name "
|
|
Name a monster, an individual object, or a type of object.
|
|
Same as \(lq#call\(rq.
|
|
Autocompletes.
|
|
Default keys are \(oqN\(cq, \(oqM-n\(cq, and \(oqM-N\(cq.
|
|
.lp "#offer " \" `ff' ligature is narrow
|
|
Offer a sacrifice to the gods.
|
|
Autocompletes.
|
|
Default key is \(oqM-o\(cq.
|
|
.lp ""
|
|
You'll need to find an altar to have any chance at success.
|
|
Corpses of recently killed monsters are the fodder of choice.
|
|
.lp ""
|
|
The \(oqm\(cq prefix skips offering any items which are on the altar.
|
|
.lp "#open "
|
|
Open a door.
|
|
Default key is \(oqo\(cq.
|
|
.lp "#options "
|
|
Show and change option settings.
|
|
Default key is \(oqO\(cq.
|
|
.lp #overview
|
|
Display information you've discovered about the dungeon.
|
|
Any visited
|
|
level (unless forgotten due to amnesia) with an annotation is included,
|
|
and many things (altars, thrones, fountains, and so on; extra stairs
|
|
leading to another dungeon branch) trigger an automatic annotation.
|
|
If dungeon overview is chosen during end-of-game disclosure, every visited
|
|
level will be included regardless of annotations.
|
|
Autocompletes.
|
|
Default keys are \(oq\(haO\(cq, and \(oqM-O\(cq.
|
|
.\" DON'T PANIC!
|
|
.lp "#panic "
|
|
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.
|
|
.lp "#pickup "
|
|
Pick up things at the current location.
|
|
Default key is \(oq,\(cq.
|
|
The \(oqm\(cq prefix forces use of a menu.
|
|
.lp #polyself
|
|
Polymorph self.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
.lp "#pray "
|
|
Pray to the gods for help.
|
|
Autocompletes.
|
|
Default key is \(oqM-p\(cq.
|
|
.lp ""
|
|
Praying too soon after receiving prior help is a bad idea.
|
|
(Hint: entering the dungeon alive is treated as having received help.
|
|
You probably shouldn't start off a new game by praying right away.)
|
|
Since using this command by accident can cause trouble, there is an
|
|
option to make you confirm your intent before praying.
|
|
It is enabled by default, and you can reset the
|
|
.op paranoid_confirmation
|
|
option to disable it.
|
|
.lp "#prevmsg "
|
|
Show previously displayed game messages.
|
|
Default key is \(oq\(haP\(cq.
|
|
.lp "#puton "
|
|
Put on an accessory (ring, amulet, etc).
|
|
Default key is \(oqP\(cq.
|
|
.lp "#quaff "
|
|
Quaff (drink) something.
|
|
Default key is \(oqq\(cq.
|
|
.lp "#quit "
|
|
Quit the program without saving your game.
|
|
Autocompletes.
|
|
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.
|
|
Default response is \f(CRn\fP (no); continue playing.
|
|
To really quit, respond with \f(CRy\fP.
|
|
You can set the
|
|
.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.
|
|
.lp "#read "
|
|
Read a scroll, a spellbook, or something else.
|
|
Default key is \(oqr\(cq.
|
|
.lp "#redraw "
|
|
Redraw the screen.
|
|
Default key is \(oq\(haR\(cq, and also \(oq\(haL\(cq if
|
|
.op number_pad
|
|
is on.
|
|
.lp "#remove "
|
|
Remove an accessory (ring, amulet, etc).
|
|
Default key is \(oqR\(cq.
|
|
.lp "#ride "
|
|
Ride (or stop riding) a saddled creature.
|
|
Autocompletes.
|
|
Default key is \(oqM-R\(cq.
|
|
.lp "#rub "
|
|
Rub a lamp or a stone.
|
|
Autocompletes.
|
|
Default key is \(oqM-r\(cq.
|
|
.lp "#save "
|
|
Save the game and exit the program.
|
|
Default key is \(oqS\(cq.
|
|
.lp "#search "
|
|
Search for traps and secret doors around you.
|
|
Default key is \(oqs\(cq.
|
|
.lp "#seeall "
|
|
Show all equipment in use.
|
|
Default key is \(oq*\(cq.
|
|
.lp #seeamulet
|
|
Show the amulet currently worn.
|
|
Default key is \(oq\(dq\(cq. \" double quote
|
|
.lp #seearmor
|
|
Show the armor currently worn.
|
|
Default key is \(oq[\(cq.
|
|
.lp #seerings
|
|
Show the ring(s) currently worn.
|
|
Default key is \(oq=\(cq.
|
|
.lp #seetools
|
|
Show the tools currently in use.
|
|
Default key is \(oq(\(cq.
|
|
.lp #seeweapon
|
|
Show the weapon currently wielded.
|
|
Default key is \(oq)\(cq.
|
|
.lp "#shell "
|
|
Do a shell escape, switching from NetHack to a subprocess.
|
|
Can be disabled at the time the program is built.
|
|
When enabled, access for specific users can be controlled by the system
|
|
configuration file.
|
|
Use the shell command \(oq\f(CRexit\fP\(cq to return to the game.
|
|
Default key is \(oq!\(cq.
|
|
.lp "#showgold"
|
|
Report the gold in your inventory and if you are inside a shop,
|
|
report any credit or debt you have in that shop.
|
|
Does not report on any gold inside containers you're carrying.
|
|
Default key is \(oq$\(cq.
|
|
.lp #showspells
|
|
List and reorder known spells.
|
|
Default key is \(oq+\(cq.
|
|
.lp "#showtrap"
|
|
Describe an adjacent trap, possibly covered by objects or a monster.
|
|
To be eligible, the trap must already be discovered.
|
|
(The \(lq#terrain\(rq command can display your map with all objects and
|
|
monsters temporarily removed, making it possible to see all discovered
|
|
traps.)
|
|
Default key is \(oq\(ha\(cq. \" 'hat' (circumflex character)
|
|
.lp "#sit "
|
|
Sit down.
|
|
Autocompletes.
|
|
Default key is \(oqM-s\(cq.
|
|
.lp "#stats "
|
|
Show memory usage statistics.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
.lp "#suspend "
|
|
Suspend the game, switching from NetHack to the terminal it was started
|
|
from without performing save-and-exit.
|
|
Can be disabled at the time the program is built.
|
|
When enabled, mainly useful for \fItty\fP and \fIcurses\fP interfaces on
|
|
.UX \. \" yields "UNIX."
|
|
Use the shell command \(oq\f(CRfg\fP\(cq to return to the game.
|
|
Default key is \(oq\(haZ\(cq.
|
|
.lp "#swap "
|
|
Swap wielded and secondary weapons.
|
|
Default key is \(oqx\(cq.
|
|
.lp "#takeoff "
|
|
Take off one piece of armor.
|
|
Default key is \(oqT\(cq.
|
|
.lp #takeoffall
|
|
Remove all armor.
|
|
Default key is \(oqA\(cq.
|
|
.lp #teleport
|
|
Teleport around the level.
|
|
Default key is \(oq\(haT\(cq.
|
|
.lp "#terrain "
|
|
Show bare map without displaying monsters, objects, or traps.
|
|
Autocompletes.
|
|
.lp #therecmdmenu
|
|
Show a menu of possible actions in a location next to you.
|
|
.lp "#throw "
|
|
Throw something.
|
|
Default key is \(oqt\(cq.
|
|
.lp "#timeout "
|
|
Look at the timeout queue.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
.lp "#tip "
|
|
Tip over a container (bag or box) to pour out its contents.
|
|
Autocompletes.
|
|
Default key is \(oqM-T\(cq.
|
|
The \(oqm\(cq prefix makes the command use a menu.
|
|
.lp "#travel "
|
|
Travel to a specific location on the map.
|
|
Default key is \(oq_\(cq. \" underscore
|
|
Using the \(lqrequest menu\(rq prefix shows a menu of interesting targets
|
|
in sight without asking to move the cursor.
|
|
When picking a target with cursor and the
|
|
.op autodescribe
|
|
option is on, the top line will show \(lq(no travel path)\(rq if
|
|
your character does not know of a path to that location.
|
|
.lp "#turn "
|
|
Turn undead away.
|
|
Autocompletes.
|
|
Default key is \(oqM-t\(cq.
|
|
.lp #twoweapon
|
|
Toggle two-weapon combat on or off.
|
|
Autocompletes.
|
|
Default key is \(oqX\(cq, and also \(oqM-2\(cq if
|
|
.op number_pad
|
|
is off.
|
|
.lp ""
|
|
Note that you must
|
|
use suitable weapons for this type of combat, or it will
|
|
be automatically turned off.
|
|
.lp "#untrap "
|
|
Untrap something (trap, door, or chest).
|
|
Default key is \(oqM-u\(cq, and \(oqu\(cq if
|
|
.op number_pad
|
|
is on.
|
|
.lp ""
|
|
In some circumstances it can also be used to rescue trapped monsters.
|
|
.lp "#up "
|
|
Go up a staircase.
|
|
Default key is \(oq<\(cq.
|
|
.lp #vanquished
|
|
List vanquished monsters.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
.lp "#version "
|
|
Print compile time options for this version of NetHack.
|
|
.lp ""
|
|
The second paragraph lists the user interface(s) that are included.
|
|
If there are more than one, you can use the
|
|
.op windowtype
|
|
option in your run-time configuration file to select the one you want.
|
|
.lp ""
|
|
Autocompletes.
|
|
Default key is \(oqM-v\(cq.
|
|
.lp #versionshort
|
|
Show the program's version number, plus the date and time that the
|
|
running copy was built from sources (not the version's release date).
|
|
Default key is \(oqv\(cq.
|
|
.lp "#vision "
|
|
Show vision array.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
.lp "#wait "
|
|
Rest one move while doing nothing.
|
|
Default key is \(oq.\(cq, and also \(oq\ \(cq if
|
|
.op rest_on_space
|
|
is on.
|
|
.lp "#wear "
|
|
Wear a piece of armor.
|
|
Default key is \(oqW\(cq.
|
|
.lp #whatdoes
|
|
Tell what a key does.
|
|
Default key is \(oq&\(cq.
|
|
.lp "#whatis "
|
|
Show what type of thing a symbol corresponds to.
|
|
Default key is \(oq/\(cq.
|
|
.lp "#wield "
|
|
Wield a weapon.
|
|
Default key is \(oqw\(cq.
|
|
.lp "#wipe "
|
|
Wipe off your face.
|
|
Autocompletes.
|
|
Default key is \(oqM-w\(cq.
|
|
.lp "#wizborn "
|
|
Show monster birth, death, genocide, and extinct statistics.
|
|
Debug mode only.
|
|
.lp "#wizbury "
|
|
Bury objects under and around you.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
.lp #wizdetect
|
|
Search for hidden things (secret doors or traps or unseen monsters)
|
|
within a modest radius.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
Default key is \(oq\(haE\(cq.
|
|
.lp #wizgenesis
|
|
Create a monster.
|
|
May be prefixed by a count to create more than one.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
Default key is \(oq\(haG\(cq.
|
|
.lp #wizidentify
|
|
Identify all items in inventory.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
Default key is \(oq\(haI\(cq.
|
|
.lp #wizintrinsic
|
|
Set one or more intrinsic attributes.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
.lp #wizlevelport
|
|
Teleport to another level.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
Default key is \(oq\(haV\(cq.
|
|
.lp "#wizmap "
|
|
Map the level.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
Default key is \(oq\(haF\(cq.
|
|
.lp #wizrumorcheck
|
|
Verify rumor boundaries by displaying first and last true rumors and
|
|
first and last false rumors.
|
|
.lp ""
|
|
Also displays first, second, and last random engravings, epitaphs,
|
|
and hallucinatory monsters.
|
|
.lp ""
|
|
Autocompletes.
|
|
Debug mode only.
|
|
.lp #wizseenv
|
|
Show map locations' seen vectors.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
.lp #wizsmell
|
|
Smell monster.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
.lp #wizwhere
|
|
Show locations of special levels.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
.lp "#wizwish "
|
|
Wish for something.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
Default key is \(oq\(haW\(cq.
|
|
.lp "#wmode "
|
|
Show wall modes.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
.lp "#zap "
|
|
Zap a wand.
|
|
Default key is \(oqz\(cq.
|
|
.lp "#? "
|
|
Help menu: get the list of available extended commands.
|
|
.lp ""
|
|
.pg
|
|
If your keyboard has a meta key (which, when pressed in combination
|
|
with another key, modifies it by setting the \(lqmeta\(rq [8th,
|
|
or \(lqhigh\(rq] bit), you can invoke many extended commands by meta-ing
|
|
the first letter of the command.
|
|
.pg
|
|
In \fIWindows\fP, \fIOS/2\fP, \fIPC\fP and \fIST\fP \fINetHack\fP,
|
|
the \(lqAlt\(rq key can be used in this fashion;
|
|
on the \fIAmiga\fP, set the
|
|
.op altmeta
|
|
option to get this behavior.
|
|
On other systems, if typing \(lqAlt\(rq plus another key transmits a
|
|
two character sequence consisting of an \fBEscape\fP
|
|
followed by the other key, you may set the
|
|
.op altmeta
|
|
option to have NetHack combine them into meta+key.
|
|
.lp M-?
|
|
#? (not supported by all platforms)
|
|
.lp M-2
|
|
#twoweapon (unless the
|
|
.op number_pad
|
|
option is enabled)
|
|
.lp M-a
|
|
#adjust
|
|
.lp M-A
|
|
#annotate
|
|
.lp M-c
|
|
#chat
|
|
.lp M-C
|
|
#conduct
|
|
.lp M-d
|
|
#dip
|
|
.lp M-e
|
|
#enhance
|
|
.lp M-f
|
|
#force
|
|
.lp M-i
|
|
#invoke
|
|
.lp M-j
|
|
#jump
|
|
.lp M-l
|
|
#loot
|
|
.lp M-m
|
|
#monster
|
|
.lp M-n
|
|
#name
|
|
.lp M-o
|
|
#offer
|
|
.lp M-O
|
|
#overview
|
|
.lp M-p
|
|
#pray
|
|
.lp M-q
|
|
#quit
|
|
.lp M-r
|
|
#rub
|
|
.lp M-R
|
|
#ride
|
|
.lp M-s
|
|
#sit
|
|
.lp M-t
|
|
#turn
|
|
.lp M-T
|
|
#tip
|
|
.lp M-u
|
|
#untrap
|
|
.lp M-v
|
|
#version
|
|
.lp M-w
|
|
#wipe
|
|
.lp ""
|
|
.pg
|
|
If the
|
|
.op number_pad
|
|
option is on, some additional letter commands are available:
|
|
.lp h
|
|
#help
|
|
.lp j
|
|
#jump
|
|
.lp k
|
|
#kick
|
|
.lp l
|
|
#loot
|
|
.lp N
|
|
#name
|
|
.lp u
|
|
#untrap
|
|
.
|
|
.hn 1
|
|
Rooms and corridors
|
|
.pg
|
|
Rooms and corridors in the dungeon are either lit or dark.
|
|
Any lit areas within your line of sight will be displayed;
|
|
dark areas are only displayed if they are within one space of you.
|
|
Walls and corridors remain on the map as you explore them.
|
|
.pg
|
|
Secret corridors are hidden and appear to be solid rock.
|
|
You can find them with the \(oqs\(cq (search) command when adjacent
|
|
to them.
|
|
Multiple search attempts may be needed.
|
|
When searching is successful, secret corridors become ordinary open
|
|
corridor locations.
|
|
Mapping magic reveals secret corridors, so converts them into ordinary
|
|
corridors and shows them as such.
|
|
.hn 2
|
|
Doorways
|
|
.pg
|
|
Doorways connect rooms and corridors.
|
|
Some doorways have no doors; you can walk right through.
|
|
Others have doors in them, which may be open, closed, or locked.
|
|
To open a closed door, use the \(oqo\(cq (open)
|
|
command; to close it again, use the \(oqc\(cq (close) command.
|
|
By default the
|
|
.op autoopen
|
|
option is enabled, so simply attempting to walk onto a closed door's
|
|
location will attempt to open it without needing \(oqo\(cq.
|
|
Opening via
|
|
.op autoopen
|
|
will not work if you are \fIconfused\fP or \fIstunned\fP or suffer from
|
|
the \fIfumbling\fP attribute.
|
|
.pg
|
|
Open doors cannot be entered diagonally; you must approach them
|
|
straight on, horizontally or vertically.
|
|
Doorways without doors are
|
|
not restricted in this fashion except on one particular level
|
|
.\" the rogue level
|
|
(described by \(lq#overview\(rq as \(lqa primitive area\(rq).
|
|
.pg
|
|
Unlocking magic exists but usually won't be available early on.
|
|
You can get through a locked door without magic by first using an
|
|
unlocking tool with the \(oqa\(cq (apply) command, and then opening it.
|
|
By default the
|
|
.op autounlock
|
|
option is also enabled, so if you attempt to open (via \(oqo\(cq or
|
|
.op autoopen)
|
|
a locked door while carrying an unlocking tool, you'll be asked whether
|
|
to use it on the door's lock.
|
|
Alternatively, you can break a closed door (whether locked or not) down
|
|
by kicking it via the \(oq\(haD\(cq (kick) command.
|
|
Kicking down a door destroys it and makes a lot of noise which might
|
|
wake sleeping monsters.
|
|
.pg
|
|
Some closed doors are booby-trapped and will explode if an attempt is made
|
|
to open (when unlocked) or unlock (when locked) or kick down.
|
|
Like kicking, an explosion destroys the door and makes a lot of noise.
|
|
The \(lq#untrap\(rq command can be used to search a door for traps but
|
|
might take multiple attempts to find one.
|
|
When one is found, you'll be asked whether to try to disarm it.
|
|
If you accede, success will eliminate the trap but
|
|
failure will set off the trap's explosion.
|
|
(If you decline, you effectively forget that a trap was found there.)
|
|
.pg
|
|
Closed doors can be useful for shutting out monsters.
|
|
Most monsters cannot open closed doors, although a few don't need to
|
|
(for example, ghosts can walk through doors and fog clouds can flow
|
|
under them).
|
|
Some monsters who can open doors can also use unlocking tools.
|
|
And some (giants) can smash doors.
|
|
.pg
|
|
Secret doors are hidden and appear to be ordinary wall (from inside a
|
|
room) or solid rock (from outside).
|
|
You can find them with the \(oqs\(cq (search) command but it might
|
|
take multiple tries (possibly many tries if your luck is poor).
|
|
Once found they are in all ways equivalent to normal doors.
|
|
Mapping magic does not reveal secret doors.
|
|
.hn 2
|
|
Traps (\(oq\(ha\(cq)
|
|
.pg
|
|
There are traps throughout the dungeon to snare the unwary intruder.
|
|
For example, you may suddenly fall into a pit and be stuck for a few
|
|
turns trying to climb out (see below).
|
|
A trap usually won't appear on your map until you trigger it by moving
|
|
onto it, you see someone else trigger it, or you discover it with
|
|
the \(oqs\(cq (search) command (multiple attempts are often needed;
|
|
if your luck is poor, many attempts might be needed).
|
|
\fIWands of secret door detection\fP and \fIspell of detect unseen\fP
|
|
also reveal traps within a modest radius but only if the trap is also
|
|
within line-of-sight (whether you can see at the time or not).
|
|
There is also other magic which can reveal traps.
|
|
.pg
|
|
Monsters can fall prey to
|
|
traps, too, which can potentially be used as a defensive strategy.
|
|
Unfortunately traps can be harmful to your pet(s) as well.
|
|
Monsters, including pets, usually will avoid moving onto a trap which
|
|
is shown on your map if they have encountered that type of trap before.
|
|
.pg
|
|
Some traps such as pits, bear traps, and webs hold you in one place.
|
|
You can escape by simply trying to move to an adjacent spot and repeat
|
|
as needed; eventually you will get free.
|
|
.pg
|
|
Other traps can send you to different locations.
|
|
Teleporters send you elsewhere on the same dungeon level.
|
|
Level teleporters send you to a random dungeon level, the destination
|
|
chosen from a few levels lower all the way to the top.
|
|
Trap doors and holes also send you to another level, but one which is
|
|
always below the current level.
|
|
Usually that will be the next level down but it can be farther.
|
|
All of these traps choose a new destination each time they're activated.
|
|
Magic portals also send you to a different level but behave differently.
|
|
Some portals are two-way and their remote destination is always the same:
|
|
another portal which can take you back.
|
|
Others are one-way and send you to a specific destination level but not
|
|
necessarily to a specific location there.
|
|
.pg
|
|
There is a special multi-level branch of the dungeon with pre-mapped levels
|
|
based on the classic computer game \(lqSokoban.\(rq
|
|
In that game, you operate as a warehouse worker who pushes crates around
|
|
obstacles to position them at designated locations.
|
|
In NetHack, the goal is to push boulders into pits or holes until those
|
|
traps have all been nullified, giving access to whatever is beyond them.
|
|
In the Sokoban game, you can only move in the four cardinal compass
|
|
directions, and a crate in its final destination blocks further access
|
|
to that spot.
|
|
In the Sokoban levels of NetHack, you can move diagonally (unless that
|
|
would let you pass between two neighboring boulders) but you can only
|
|
push boulders in the four cardinal directions, and a boulder which fills
|
|
a pit or hole removes both the boulder and the trap so opens up normal
|
|
access to that spot.
|
|
With careful foresight, it is possible to complete all of the levels
|
|
according to the traditional rules of Sokoban.
|
|
(Hint: to solve Sokoban puzzles, you often need to move things away from
|
|
their eventual destinations in order to open up more room to maneuver.)
|
|
Since NetHack does not support an \fIundo\fP capability, some allowances
|
|
are permitted in case you get stuck.
|
|
For example, each level has at least one extra boulder.
|
|
Also, it is possible to drop everything in order to be able to squeeze
|
|
into the same location as a boulder (and then presumably move past it),
|
|
or to destroy a boulder with magic or tools, or to create new boulders
|
|
with a \fIscroll of earth\fP.
|
|
However, doing such things will lower your luck without any specific
|
|
message given about that.
|
|
See the \fIConduct\fP section for information about getting feedback for
|
|
your actions in Sokoban.
|
|
.hn 2
|
|
Stairs and ladders (\(oq<\(cq, \(oq>\(cq)
|
|
.pg
|
|
In general, each level in the dungeon will have a staircase going up
|
|
(\(oq<\(cq) to the previous level and another going down (\(oq>\(cq) to
|
|
the next level.
|
|
There are some exceptions though.
|
|
For instance, fairly early
|
|
in the dungeon you will find a level with two down staircases, one
|
|
continuing into the dungeon and the other branching into an area
|
|
known as the Gnomish Mines.
|
|
Those mines eventually hit a dead end,
|
|
so after exploring them (if you choose to do so), you'll need to
|
|
climb back up to the main dungeon.
|
|
.pg
|
|
When you traverse a set of stairs, or trigger a trap which sends you
|
|
to another level, the level you're leaving will be deactivated and
|
|
stored in a file on disk.
|
|
If you're moving to a previously visited level, it will be loaded from
|
|
its file on disk and reactivated.
|
|
If you're moving to a level which has not yet been visited, it will be
|
|
created (from scratch for most random levels, from a template for
|
|
some \(lqspecial\(rq levels, or loaded from the remains of an earlier game
|
|
for a \(lqbones\(rq level as briefly described below).
|
|
Monsters are only active on the current level; those on other levels
|
|
are essentially placed into stasis.
|
|
.pg
|
|
Ordinarily when you climb a set of stairs, you will arrive on the
|
|
corresponding staircase at your destination. However, pets (see below)
|
|
and some other monsters will follow along if they're close enough when
|
|
you travel up or down stairs, and occasionally one of these creatures
|
|
will displace you during the climb. When that occurs, the pet or other
|
|
monster will arrive on the staircase and you will end up nearby.
|
|
.pg
|
|
Ladders serve the same purpose as staircases, and the two types of
|
|
inter-level connections are nearly indistinguishable during game play.
|
|
.hn 2
|
|
Shops and shopping
|
|
.pg
|
|
Occasionally you will run across a room with a shopkeeper near the door
|
|
and many items lying on the floor.
|
|
You can buy items by picking them up and then using the \(oqp\(cq command.
|
|
You can inquire about the price of an item prior to picking it up by
|
|
using the \(lq#chat\(rq command while standing on it.
|
|
Using an item prior to paying for it will incur a
|
|
charge, and the shopkeeper won't allow you to leave the shop until you
|
|
have paid any debt you owe.
|
|
.pg
|
|
You can sell items to a shopkeeper by dropping them to the floor while
|
|
inside a shop. You will either be offered an amount of gold and asked
|
|
whether you're willing to sell, or you'll be told that the shopkeeper
|
|
isn't interested (generally, your item needs to be compatible with the
|
|
type of merchandise carried by the shop).
|
|
.pg
|
|
If you drop something in a shop by accident, the shopkeeper will usually
|
|
claim ownership without offering any compensation. You'll have to buy
|
|
it back if you want to reclaim it.
|
|
.pg
|
|
Shopkeepers sometime run out of money.
|
|
When that happens, you'll be
|
|
offered credit instead of gold when you try to sell something.
|
|
Credit can be used to pay for purchases, but it is only good in the shop
|
|
where it was obtained; other shopkeepers won't honor it.
|
|
(If you happen to
|
|
find a \(lqcredit card\(rq in the dungeon, don't bother trying to use it in
|
|
shops; shopkeepers will not accept it.)
|
|
.pg
|
|
The \(oq$\(cq command, which reports the amount of gold you are carrying
|
|
(in inventory, not inside bags or boxes), will also show current shop
|
|
debt or credit, if any.
|
|
The \(lqIu\(rq command lists unpaid items
|
|
(those which still belong to the shop) if you are carrying any.
|
|
The \(lqIx\(rq command shows an inventory-like display of any unpaid
|
|
items which have been used up, along with other shop fees, if any.
|
|
.hn 3
|
|
Shop idiosyncrasies
|
|
.pg
|
|
Several aspects of shop behavior might be unexpected.
|
|
.\" note: using * instead of \(bu is better for plain text output
|
|
.lp * 2
|
|
The price of a given item can vary due to a variety of factors.
|
|
.lp * 2
|
|
A shopkeeper treats the spot immediately inside the door as if it were
|
|
outside the shop.
|
|
.lp * 2
|
|
While the shopkeeper watches you like a hawk, he or she will generally ignore
|
|
any other customers.
|
|
.lp * 2
|
|
If a shop is \(lqclosed for inventory,\(rq it will not open of its own accord.
|
|
.lp * 2
|
|
Shops do not get restocked with new items, regardless of inventory depletion.
|
|
.hn 2
|
|
Movement feedback
|
|
.pg
|
|
Moving around the map usually provides no
|
|
feedback\(emother than drawing the hero at the new location\(emunless
|
|
you step on an object or pile of objects,
|
|
or on a trap, or attempt to move onto a spot where a monster is located.
|
|
There are several options which can be used to augment the normal feedback.
|
|
.pg
|
|
The
|
|
.op pile_limit
|
|
option controls how many objects can be in a
|
|
pile\(emsharing the same map location\(emfor
|
|
the game to state \(lqthere are objects here\(rq instead of listing them.
|
|
The default is \f(CR5\fP.
|
|
Setting it to \f(CR1\fP would always give that message instead of listing
|
|
any objects.
|
|
Setting it to \f(CR0\fP is a special case which will always list all
|
|
objects no matter how big a pile is.
|
|
Note that the number refers to the count of separate stacks of objects
|
|
present rather than the sum of the quantities of those stacks (so
|
|
\f(CR7 arrows\fP or \f(CR25 gold pieces\fP will each count as 1 rather
|
|
than as 7 and 25, respectively, and total to 2 when both are at the
|
|
same location).
|
|
.pg
|
|
The \(lqnopickup\(rq command prefix (default \(oq\f(CRm\fP\(cq) can be
|
|
used before a movement direction to step on objects without attempting
|
|
auto-pickup and without giving feedback about them.
|
|
.pg
|
|
The
|
|
.op mention_walls
|
|
option controls whether you get feedback if you try to walk into a wall
|
|
or solid stone or off the edge of the map.
|
|
Normally nothing happens (unless the hero is blind and no wall is shown,
|
|
then the wall that is being bumped into will be drawn on the map).
|
|
This option also gives feedback when rushing or running stops for
|
|
some non-obvious reason.
|
|
.pg
|
|
The
|
|
.op mention_decor
|
|
option controls whether you get feedback when walking on \(lqfurniture.\(rq
|
|
Normally stepping onto stairs or a fountain or an altar or various other
|
|
things doesn't elicit anything unless it is covered by one or more objects
|
|
so is obscured on the map.
|
|
Setting this option to true will describe such things even when they
|
|
aren't obscured.
|
|
Doorless doorways and open doors aren't considered worthy of mention;
|
|
closed doors (if you can move onto their spots) and broken doors are.
|
|
Assuming that you're able to do so, moving onto water or lava or ice
|
|
will give feedback if not yet on that type of terrain but not repeat it
|
|
(unless there has been some intervening message) when moving from water
|
|
to another water spot, or lava to lava, or ice to ice.
|
|
Moving off of any of those back onto \(lqnormal\(rq terrain will give one
|
|
message too, unless there is feedback about one or more objects, in which
|
|
case the back on land circumstance is implied.
|
|
.pg
|
|
The
|
|
.op confirm
|
|
and
|
|
.op safe_pet
|
|
options control what happens when you try to move onto a peaceful monster's
|
|
spot or a tame one's spot.
|
|
.\" getting away from "Movement feedback" here; oh well...
|
|
.pg
|
|
The \(lqnopickup\(rq command prefix (default \(oq\f(CRm\fP\(cq) is
|
|
also the move-without-attacking prefix and can be used to try to step
|
|
onto a visible monster's spot without the move being considered an attack
|
|
(see the \fIFighting\fP subsection of \fIMonsters\fP below).
|
|
The \(lqfight\(rq command prefix (default \(oq\f(CRF\fP\(cq;
|
|
also \(oq\f(CR\-\fP\(cq if
|
|
.op number_pad
|
|
is on) can be used to force an attack, when guessing where an unseen
|
|
monster is or when deliberately attacking a peaceful or tame creature.
|
|
.pg
|
|
The
|
|
.op run_mode
|
|
option controls how frequently the map gets redrawn when moving more
|
|
than one step in a single command (so when rushing, running, or traveling).
|
|
.hn 2
|
|
Rogue level
|
|
.pg
|
|
One dungeon level (occurring in mid to late teens of the main dungeon)
|
|
is a tribute to the ancestor game \fIhack\fP's inspiration \fIrogue\fP.
|
|
.pg
|
|
It is usually displayed differently from other levels: possibly in
|
|
characters instead of tiles, or without line-drawing symbols if already
|
|
in characters; also, gold is shown as \f(CR*\fP rather than \f(CR$\fP
|
|
and stairs are shown as \f(CR%\fP rather than \f(CR<\fP and \f(CR>\fP.
|
|
There are some minor differences in actual game play: doorways lack
|
|
doors; a scroll, wand, or spell of light used in a room lights up the
|
|
whole room rather than within a radius around your character.
|
|
And monsters represented by lower-case letters aren't randomly
|
|
generated on the rogue level.
|
|
.pg
|
|
The slight strangeness of this level is a feature, not a bug....
|
|
.
|
|
.hn 1
|
|
Monsters
|
|
.pg
|
|
Monsters you cannot see are not displayed on the screen. Beware!
|
|
You may suddenly come upon one in a dark place. Some magic items can
|
|
help you locate them before they locate you (which some monsters can do
|
|
very well).
|
|
.pg
|
|
The commands \(oq/\(cq and \(oq;\(cq may be used to obtain information
|
|
about those monsters who are displayed on the screen.
|
|
The command \(lq#name\(rq (by default bound to \(oqC\(cq), allows you
|
|
to assign a name to a monster, which may be useful to help distinguish
|
|
one from another when multiple monsters are present.
|
|
Assigning a name which is just a space will remove any prior name.
|
|
.pg
|
|
The extended command \(lq#chat\(rq can be used to interact with an adjacent
|
|
monster.
|
|
There is no actual dialog (in other words, you don't get to
|
|
choose what you'll say), but chatting with some monsters such as a
|
|
shopkeeper or the Oracle of Delphi can produce useful results.
|
|
.hn 2
|
|
Fighting
|
|
.pg
|
|
If you see a monster and you wish to fight it, just attempt to walk
|
|
into it.
|
|
Many monsters you find will mind their own business unless
|
|
you attack them.
|
|
Some of them are very dangerous when angered.
|
|
Remember: discretion is the better part of valor.
|
|
.pg
|
|
In most circumstances, if you attempt to attack a peaceful monster by
|
|
moving into its location, you'll be asked to confirm your intent.
|
|
By default an answer of \(oqy\(cq acknowledges that intent,
|
|
which can be error prone if you're using \(oqy\(cq to move.
|
|
You can set the
|
|
.op paranoid_confirmation
|
|
option to require a response of \(lqyes\(rq instead.
|
|
.pg
|
|
If you can't see a monster (if it is invisible, or if you are blinded),
|
|
the symbol \(oqI\(cq will be shown when you learn of its presence.
|
|
If you attempt to walk into it, you will try to fight it just like
|
|
a monster that you can see; of course,
|
|
if the monster has moved, you will attack empty air.
|
|
If you guess that the monster has moved and you don't wish to fight,
|
|
you can use the \(oqm\(cq command to move without fighting;
|
|
likewise, if you don't remember a monster but want to try fighting anyway,
|
|
you can use the \(oqF\(cq command.
|
|
.hn 2
|
|
Your pet
|
|
.pg
|
|
You start the game with a little dog (\(oq\fBd\fP\(cq),
|
|
kitten (\(oq\fBf\fP\(cq), or pony (\(oq\fBu\fP\(cq), which
|
|
follows you about the dungeon and fights monsters with you.
|
|
Like you, your pet needs food to survive.
|
|
Dogs and cats usually feed themselves on fresh carrion and other meats;
|
|
horses need vegetarian food which is harder to come by.
|
|
If you're worried about your pet or want to train it, you
|
|
can feed it, too, by throwing it food.
|
|
A properly trained pet can be very useful under certain circumstances.
|
|
.pg
|
|
Your pet also gains experience from killing monsters, and can grow
|
|
over time, gaining hit points and doing more damage. Initially, your
|
|
pet may even be better at killing things than you, which makes pets
|
|
useful for low-level characters.
|
|
.pg
|
|
Your pet will follow you up and down staircases if it is next to you
|
|
when you move. Otherwise your pet will be stranded and may become
|
|
wild. Similarly, when you trigger certain types of traps which alter
|
|
your location (for instance, a trap door which drops you to a lower
|
|
dungeon level), any adjacent pet will accompany you and any non-adjacent
|
|
pet will be left behind. Your pet may trigger such traps itself; you
|
|
will not be carried along with it even if adjacent at the time.
|
|
.hn 2
|
|
Steeds
|
|
.pg
|
|
Some types of creatures in the dungeon can actually be ridden if you
|
|
have the right equipment and skill.
|
|
Convincing a wild beast to let
|
|
you saddle it up is difficult to say the least.
|
|
Many a dungeoneer
|
|
has had to resort to magic and wizardry in order to forge the alliance.
|
|
Once you do have the beast under your control however, you can
|
|
easily climb in and out of the saddle with the \(lq#ride\(rq command.
|
|
Lead the beast around the dungeon when riding, in the same manner as
|
|
you would move yourself.
|
|
It is the beast that you will see displayed on the map.
|
|
.pg
|
|
Riding skill is managed by the \(lq#enhance\(rq command.
|
|
See the section on Weapon proficiency for more information about that.
|
|
.pg
|
|
Use the \(oqa\(cq (apply) command and pick a saddle in your inventory to
|
|
attempt to put that saddle on an adjacent creature.
|
|
If successful, it will be transferred to that creature's inventory.
|
|
.pg
|
|
Use the \(lq#loot\(rq command while adjacent to a saddled creature to
|
|
try to remove the saddle from that creature.
|
|
If successful, it will be transferred to your inventory.
|
|
.hn 2
|
|
Bones levels
|
|
.pg
|
|
You may encounter the shades and corpses of other adventurers (or even
|
|
former incarnations of yourself!) and their personal effects. Ghosts
|
|
are hard to kill, but easy to avoid, since they're slow and do little
|
|
damage. You can plunder the deceased adventurer's possessions;
|
|
however, they are likely to be cursed. Beware of whatever killed the
|
|
former player; it is probably still lurking around, gloating over its
|
|
last victory.
|
|
.
|
|
.hn 2
|
|
Persistence of Monsters
|
|
.pg
|
|
Monsters (a generic reference which also includes humans and pets) are only
|
|
shown while they can be seen or otherwise sensed.
|
|
Moving to a location where you can't see or sense a monster any more
|
|
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\(emperhaps it is invisible and has just tapped you on the noggin\(ema
|
|
special \(lqremembered, unseen monster\(rq 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
|
|
moves to another location or you move to a spot where the marker's
|
|
location ordinarily wouldn't be seen any more.
|
|
.
|
|
.hn 1
|
|
Objects
|
|
.pg
|
|
When you find something in the dungeon, it is common to want to pick
|
|
it up. In NetHack, this is accomplished automatically by walking over
|
|
the object (unless you turn off the
|
|
.op autopickup
|
|
option (see below), or move with the \(oqm\(cq prefix (see above)), or
|
|
manually by using the \(oq,\(cq command.
|
|
.pg
|
|
If you're carrying too many items, NetHack will tell you so and you won't
|
|
be able to pick up anything more.
|
|
Otherwise, it will add the object(s) to your pack and tell
|
|
you what you just picked up.
|
|
.pg
|
|
As you add items to your inventory, you also add the weight of that object
|
|
to your load. The amount that you can carry depends on your strength and
|
|
your constitution. The
|
|
stronger and sturdier
|
|
you are, the less the additional load will affect you. There comes
|
|
a point, though, when the weight of all of that stuff you are carrying around
|
|
with you through the dungeon will encumber you. Your reactions
|
|
will get slower and you'll burn calories faster, requiring food more frequently
|
|
to cope with it. Eventually, you'll be so overloaded that you'll either have
|
|
to discard some of what you're carrying or collapse under its weight.
|
|
.pg
|
|
NetHack will tell you how badly you have loaded yourself.
|
|
If you are encumbered, one of the conditions
|
|
\f(CRBurdened\fP, \f(CRStressed\fP, \f(CRStrained\fP,
|
|
\f(CROvertaxed\fP, or \f(CROverloaded\fP will be
|
|
shown on the bottom line status display.
|
|
.pg
|
|
When you pick up an object, it is assigned an inventory letter. Many
|
|
commands that operate on objects must ask you to find out which object
|
|
you want to use. When NetHack asks you to choose a particular object
|
|
you are carrying, you are usually presented with a list of inventory
|
|
letters to choose from (see Commands, above).
|
|
.pg
|
|
Some objects, such as weapons, are easily differentiated. Others, like
|
|
scrolls and potions, are given descriptions which vary according to
|
|
type. During a game, any two objects with the same description are
|
|
the same type. However, the descriptions will vary from game to game.
|
|
.pg
|
|
When you use one of these objects, if its effect is obvious, NetHack
|
|
will remember what it is for you.
|
|
If its effect isn't extremely obvious, you will be asked what you want
|
|
to call this type of object so you will recognize it later.
|
|
You can also use the \(lq#name\(rq
|
|
command, for the same purpose at any time, to name
|
|
all objects of a particular type or just an individual object.
|
|
When you use \(lq#name\(rq on an object which has already been named,
|
|
specifying a space as the value will remove the prior name instead
|
|
of assigning a new one.
|
|
.hn 2
|
|
Curses and Blessings
|
|
.pg
|
|
Any object that you find may be cursed, even if the object is
|
|
otherwise helpful. The most common effect of a curse is being stuck
|
|
with (and to) the item. Cursed weapons weld themselves to your hand
|
|
when wielded, so you cannot unwield them. Any cursed item you wear
|
|
is not removable by ordinary means. In addition, cursed arms and armor
|
|
usually, but not always, bear negative enchantments that make them
|
|
less effective in combat. Other cursed objects may act poorly or
|
|
detrimentally in other ways.
|
|
.pg
|
|
Objects can also be blessed instead.
|
|
Blessed items usually work better or more beneficially than normal
|
|
uncursed items.
|
|
For example, a blessed weapon will do slightly more damage against demons.
|
|
.pg
|
|
Objects which are neither cursed nor blessed are referred to as uncursed.
|
|
They could just as easily have been described as unblessed, but the
|
|
uncursed designation is what you will see within the game.
|
|
A \(lqglass half full versus glass half empty\(rq situation; make of
|
|
that what you will.
|
|
.pg
|
|
There are magical means of bestowing or removing curses upon objects,
|
|
so even if you are stuck with one, you can still have the curse
|
|
lifted and the item removed.
|
|
Priests and Priestesses have an innate
|
|
sensitivity to this property in any object, so they can more easily avoid
|
|
cursed objects than other character roles.
|
|
Dropping objects onto an altar will reveal their bless or curse state
|
|
provided that you can see them land.
|
|
.pg
|
|
An item with unknown status will be reported in your inventory with no prefix.
|
|
An item which you know the state of will be distinguished in your inventory
|
|
by the presence of the word \f(CRcursed\fP, \f(CRuncursed\fP, or
|
|
\f(CRblessed\fP in the description of the item.
|
|
In some cases \f(CRuncursed\fP will be omitted as being redundant when
|
|
enough other information is displayed.
|
|
The
|
|
.op implicit_uncursed
|
|
option can be used to control this; toggle it off to have \f(CRuncursed\fP
|
|
be displayed even when that can be deduced from other attributes.
|
|
.pg
|
|
Sometimes the bless or curse state of objects is referred to as their
|
|
\(lq\f(CRBUC\fP\(rq attribute, for Blessed, Uncursed, or Cursed state,
|
|
or \(lq\f(CRBUCX\fP\(rq for Blessed, Uncursed, Cursed, or unknown.
|
|
(The term \fIbeatitude\fP is occasionally used as well.)
|
|
.hn 2
|
|
Weapons (\(oq)\(cq)
|
|
.pg
|
|
Given a chance, most monsters in the Mazes of Menace will gratuitously try to
|
|
kill you.
|
|
You need weapons for self-defense (killing them first).
|
|
Without a
|
|
weapon, you do only 1-2 hit points of damage (plus bonuses, if any).
|
|
Monk characters are an exception; they normally do more damage with
|
|
bare (or gloved) hands than they do with weapons.
|
|
.pg
|
|
There are wielded weapons, like maces and swords, and thrown weapons,
|
|
like arrows and spears. To hit monsters with a weapon, you must wield it and
|
|
attack them, or throw it at them. You can simply elect to throw a spear.
|
|
To shoot an arrow, you should first wield a bow, then throw the arrow.
|
|
Crossbows shoot crossbow bolts. Slings hurl rocks and (other) stones
|
|
(like gems).
|
|
.pg
|
|
Enchanted weapons have a \(lqplus\(rq (or \(lqto hit enhancement\(rq
|
|
which can be either positive or negative) that adds to your chance to
|
|
hit and the damage you do to a monster.
|
|
The only way to determine a weapon's
|
|
enchantment is to have it magically identified somehow.
|
|
Most weapons are subject to some type of damage like rust.
|
|
Such \(lqerosion\(rq damage can be repaired.
|
|
.pg
|
|
The chance that an attack will successfully hit a monster, and the amount
|
|
of damage such a hit will do, depends upon many factors.
|
|
Among them are:
|
|
type of weapon, quality of weapon (enchantment and/or erosion), experience
|
|
level, strength, dexterity, encumbrance, and proficiency (see below).
|
|
The monster's armor
|
|
class\(ema general defense rating, not necessarily due to wearing of
|
|
armor\(emis
|
|
a factor too; also, some monsters are particularly
|
|
vulnerable to certain types of weapons.
|
|
.pg
|
|
Many weapons can be wielded in one hand; some require both hands.
|
|
When wielding a two-handed weapon, you can not wear a shield, and
|
|
vice versa.
|
|
When wielding a one-handed weapon, you can have another
|
|
weapon ready to use by setting things up with the \(oqx\(cq command, which
|
|
exchanges your primary (the one being wielded) and alternate weapons.
|
|
And if you have proficiency in the \(lqtwo weapon combat\(rq skill, you
|
|
may wield both weapons simultaneously as primary and secondary; use the
|
|
\(oqX\(cq command to engage or disengage that.
|
|
Only some types of characters (barbarians, for instance) have the
|
|
necessary skill available.
|
|
Even with that skill, using two weapons at once incurs
|
|
a penalty in the chance to hit your target compared to using just one
|
|
weapon at a time.
|
|
.pg
|
|
There might be times when you'd rather not wield any weapon at all.
|
|
To accomplish that, wield \(oq\-\(cq, or else use the \(oqA\(cq command which
|
|
allows you to unwield the current weapon in addition to taking off
|
|
other worn items.
|
|
.pg
|
|
Those of you in the audience who are AD&D players, be aware that each
|
|
weapon which existed in AD&D does roughly the same damage to monsters in
|
|
NetHack.
|
|
Some of the more obscure weapons (such as the \fIaklys\fP,
|
|
\fIlucern hammer\fP, and \fIbec-de-corbin\fP) are defined in an
|
|
appendix to \fIUnearthed Arcana\fP, an AD&D supplement.
|
|
.pg
|
|
The commands to use weapons are \(oqw\(cq (wield), \(oqt\(cq (throw),
|
|
\(oqf\(cq (fire, an alternate way of throwing), \(oqQ\(cq (quiver),
|
|
\(oqx\(cq (exchange), \(oqX\(cq (twoweapon), and \(lq#enhance\(rq
|
|
(see below).
|
|
.hn 3
|
|
Throwing and shooting
|
|
.pg
|
|
You can throw just about anything via the \(oqt\(cq command. It will prompt
|
|
for the item to throw; picking \(oq?\(cq will list things in your inventory
|
|
which are considered likely to be thrown, or picking \(oq*\(cq will list
|
|
your entire inventory.
|
|
After you've chosen what to throw, you will
|
|
be prompted for a direction rather than for a specific target.
|
|
The distance something can be thrown depends mainly on the type of object
|
|
and your strength.
|
|
Arrows can be thrown by hand, but can be thrown
|
|
much farther and will be more likely to hit when thrown while you are
|
|
wielding a bow.
|
|
.pg
|
|
You can simplify the throwing operation by using the \(oqQ\(cq command to
|
|
select your preferred \(lqmissile\(rq, then using the \(oqf\(cq command to
|
|
throw it.
|
|
You'll be prompted for a direction as above, but you don't
|
|
have to specify which item to throw each time you use \(oqf\(cq.
|
|
There is also an option,
|
|
.op autoquiver,
|
|
which has NetHack choose another item to automatically fill your
|
|
quiver (or quiver sack, or have at the ready) when the inventory slot used
|
|
for \(oqQ\(cq runs out.
|
|
.pg
|
|
Some characters have the ability to fire a volley of multiple items in a
|
|
single turn.
|
|
Knowing how to load several rounds of ammunition at
|
|
once\(emor hold several missiles in your hand\(emand
|
|
still hit a target is not an easy task.
|
|
Rangers are among those who are adept
|
|
at this task, as are those with a high level of proficiency in the
|
|
relevant weapon skill (in bow skill if you're wielding one to
|
|
shoot arrows, in crossbow skill if you're wielding one to shoot bolts,
|
|
or in sling skill if you're wielding one to shoot stones).
|
|
The number of items that the character has a chance to fire varies from
|
|
turn to turn.
|
|
You can explicitly limit the number of shots by using a
|
|
numeric prefix before the \(oqt\(cq or \(oqf\(cq command.
|
|
For example, \(lq2f\(rq (or \(lqn2f\(rq if using
|
|
.op number_pad
|
|
mode) would ensure that at most 2 arrows are shot
|
|
even if you could have fired 3.
|
|
If you specify
|
|
a larger number than would have been shot (\(lq4f\(rq in this example),
|
|
you'll just end up shooting the same number (3, here) as if no limit
|
|
had been specified.
|
|
Once the volley is in motion, all of the items
|
|
will travel in the same direction; if the first ones kill a monster,
|
|
the others can still continue beyond that spot.
|
|
.hn 3
|
|
Weapon proficiency
|
|
.pg
|
|
You will have varying degrees of skill in the weapons available.
|
|
Weapon proficiency, or weapon skills, affect how well you can use
|
|
particular types of weapons, and you'll be able to improve your skills
|
|
as you progress through a game, depending on your role, your experience
|
|
level, and use of the weapons.
|
|
.pg
|
|
For the purposes of proficiency, weapons have
|
|
been divided up into various groups such as daggers, broadswords, and
|
|
polearms. Each role has a limit on what level of proficiency a character
|
|
can achieve for each group. For instance, wizards can become highly
|
|
skilled in daggers or staves but not in swords or bows.
|
|
.pg
|
|
The \(lq#enhance\(rq extended command is used to review current weapons
|
|
proficiency
|
|
(also spell proficiency) and to choose which skill(s) to improve when
|
|
you've used one or more skills enough to become eligible to do so.
|
|
The skill rankings are \(lqnone\(rq (sometimes also referred to as
|
|
\(lqrestricted\(rq, because you won't be able to advance),
|
|
\(lqunskilled\(rq, \(lqbasic\(rq, \(lqskilled\(rq, and \(lqexpert\(rq.
|
|
Restricted skills simply will not appear in the list shown by
|
|
\(lq#enhance\(rq.
|
|
(Divine intervention might unrestrict a particular
|
|
skill, in which case it will start at unskilled and be limited to basic.)
|
|
Some characters can enhance their barehanded combat or martial arts skill
|
|
beyond expert to \(lqmaster\(rq or \(lqgrand master\(rq.
|
|
.pg
|
|
Use of a weapon in which you're restricted or unskilled
|
|
will incur a modest penalty in the chance to hit a monster and also in
|
|
the amount of damage done when you do hit; at basic level, there is no
|
|
penalty or bonus; at skilled level, you receive a modest bonus in the
|
|
chance to hit and amount of damage done; at expert level, the bonus is
|
|
higher.
|
|
A successful hit has a chance to boost your training towards
|
|
the next skill level (unless you've already reached the limit for this
|
|
skill).
|
|
Once such training reaches the threshold for that next level,
|
|
you'll be told that you feel more confident in your skills.
|
|
At that point you can use \(lq#enhance\(rq to increase one or more skills.
|
|
Such skills
|
|
are not increased automatically because there is a limit to your total
|
|
overall skills, so you need to actively choose which skills to enhance
|
|
and which to ignore.
|
|
.hn 3
|
|
Two-Weapon combat
|
|
.pg
|
|
Some characters can use two weapons at once.
|
|
Setting things up to
|
|
do so can seem cumbersome but becomes second nature with use.
|
|
To wield two weapons, you need to use the \(lq#twoweapon\(rq command.
|
|
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\(emor before you begin, for that matter\(emwielding
|
|
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.)
|
|
.pg
|
|
If your primary weapon is wielded but your off hand is empty or has
|
|
the wrong weapon, use the sequence \(oq\fBx\fP\(cq, \(oq\fBw\fP\(cq,
|
|
\(oq\fBx\fP\(cq to first swap your
|
|
primary into your off hand, wield whatever you want as secondary
|
|
weapon, then swap them both back into the intended hands.
|
|
If your secondary or alternate weapon is correct but your primary
|
|
one is not, simply use \(oq\fBw\fP\(cq to wield the primary.
|
|
Lastly, if neither hand holds the correct weapon,
|
|
use \(oq\fBw\fP\(cq, \(oq\fBx\fP\(cq, \(oq\fBw\fP\(cq
|
|
to first wield the intended secondary, swap it to off hand, and then
|
|
wield the primary.
|
|
.pg
|
|
The whole process can be simplified via use of the
|
|
.op pushweapon
|
|
option.
|
|
When it is enabled, then using \(oqw\(cq to wield something
|
|
causes the currently wielded weapon to become your alternate weapon.
|
|
So the sequence \(oq\fBw\fP\(cq, \(oq\fBw\fP\(cq can be used to first
|
|
wield the weapon you
|
|
intend to be secondary, and then wield the one you want as primary
|
|
which will push the first into secondary position.
|
|
.pg
|
|
When in two-weapon combat mode, using the \(oqX\(cq command
|
|
toggles back to single-weapon mode.
|
|
Throwing or dropping either of the
|
|
weapons or having one of them be stolen or destroyed will also make you
|
|
revert to single-weapon combat.
|
|
.hn 2
|
|
Armor (\(oq[\(cq)
|
|
.pg
|
|
Lots of unfriendly things lurk about; you need armor to protect
|
|
yourself from their blows. Some types of armor offer better
|
|
protection than others. Your armor class is a measure of this
|
|
protection. Armor class (AC) is measured as in AD&D, with 10 being
|
|
the equivalent of no armor, and lower numbers meaning better armor.
|
|
Each suit of armor which exists in AD&D gives the same protection in
|
|
NetHack.
|
|
.pg
|
|
Here is a list of the armor class values provided by suits of armor:
|
|
.
|
|
.\" Replace the old one suit per line table with a more condensed one.
|
|
.\" AC4 and AC7 have been split into two lines to accommodate plain text
|
|
.\" output (Guidebook.txt). AC4 needs it to reduce overall width; after
|
|
.\" that, AC7 became the longest and the table looks better by shortening
|
|
.\" it to get the second column (number) closer to the text on most lines.
|
|
.\" Both AC4 and AC7 have trailing tab plus empty comment on their first
|
|
.\" line and leading spaces to indent their second line.
|
|
.TS S
|
|
center;
|
|
a n.
|
|
Dragon scale mail 1
|
|
Plate mail, Crystal plate mail 3
|
|
Bronze plate mail, Splint mail, \"
|
|
\ \ \ Banded mail, Dwarvish mithril-coat 4
|
|
Chain mail, Elven mithril-coat 5
|
|
Scale mail, Orcish chain mail 6
|
|
Ring mail, Studded leather armor, \"
|
|
\ \ \ Dragon scales 7
|
|
Leather armor, Orcish ring mail 8
|
|
Leather jacket 9
|
|
none 10
|
|
.TE
|
|
.pg
|
|
You can also wear other pieces of armor (cloak over suit, shirt under
|
|
suit, helmet, gloves, boots, shield) to lower your armor class even
|
|
further.
|
|
.\"--too obvious to mention unless we include polymorph into ettin or maralith
|
|
.\" You can wear at most one item of each category (one suit of armor, one
|
|
.\" cloak, one helmet, one shield, and so on) at a time.
|
|
Most of these provide a one or two point improvement to AC (making the
|
|
overall value smaller and eventually negative) but can also be
|
|
enchanted.
|
|
Shirts are an exception; they don't provide any protection unless enchanted.
|
|
Some cloaks also don't improve AC when unenchanted but all cloaks offer
|
|
some protection against rust or corrosion to suits worn under them and
|
|
against some monster \fItouch\fP attacks.
|
|
.pg
|
|
If a piece of armor is enchanted, its armor protection will be better
|
|
(or worse) than normal, and its \(lqplus\(rq (or minus) will subtract from
|
|
your armor class.
|
|
For example, a +1 chain mail would give you
|
|
better protection than normal chain mail, lowering your armor class one
|
|
unit further to 4.
|
|
When you put on a piece of armor, you immediately
|
|
find out the armor class and any \(lqplusses\(rq it provides.
|
|
Cursed pieces of armor usually have negative enchantments (minuses) in
|
|
addition to being unremovable.
|
|
.pg
|
|
Many types of armor are subject to some kind of damage like rust. Such
|
|
damage can be repaired. Some types of armor may inhibit spell casting.
|
|
.pg
|
|
The
|
|
.op nudist
|
|
option can be set (prior to game start) to attempt to play the entire
|
|
game without wearing any armor (a self-imposed challenge which is
|
|
extremely difficult to accomplish).
|
|
.pg
|
|
The commands to use armor are \(oqW\(cq (wear) and \(oqT\(cq (take off).
|
|
The \(oqA\(cq command can be used to take off armor as well as other
|
|
worn items.
|
|
Also, \(oqP\(cq (put on) and \(oqR\(cq (remove) which are normally for
|
|
accessories can be used for armor, but pieces of armor won't be shown
|
|
as likely candidates in a prompt for choosing what to put on or remove.
|
|
.hn 2
|
|
Food (\(oq%\(cq)
|
|
.pg
|
|
Food is necessary to survive.
|
|
If you go too long without eating you
|
|
will faint, and eventually die of starvation.
|
|
Some types of food will
|
|
spoil, and become unhealthy to eat, if not protected.
|
|
Food stored in
|
|
ice boxes or tins (\(lqcans\(rq) will usually stay fresh, but
|
|
ice boxes are heavy, and tins take a while to open.
|
|
.pg
|
|
When you kill monsters, they usually leave corpses which are also
|
|
\(lqfood.\(rq
|
|
Many, but not all, of these are edible; some also give you
|
|
special powers when you eat them.
|
|
A good rule of thumb is \(lqyou are what you eat.\(rq
|
|
.pg
|
|
Some character roles and some monsters are vegetarian. Vegetarian monsters
|
|
will typically never eat animal corpses, while vegetarian players can,
|
|
but with some rather unpleasant side-effects.
|
|
.pg
|
|
You can name one food item after something you like to eat with the
|
|
.op fruit
|
|
option.
|
|
.pg
|
|
The command to eat food is \(oqe\(cq.
|
|
.hn 2
|
|
Scrolls (\(oq?\(cq)
|
|
.pg
|
|
Scrolls are labeled with various titles, probably chosen by ancient wizards
|
|
for their amusement value (for example \(lqREAD ME,\(rq or \(lqTHANX MAUD\(rq
|
|
backwards).
|
|
Scrolls disappear after you read them (except for blank ones, without
|
|
magic spells on them).
|
|
.pg
|
|
One of the most useful of these is the \fIscroll of identify\fP, which
|
|
can be used to determine what another object is, whether it is cursed or
|
|
blessed, and how many uses it has left. Some objects of subtle
|
|
enchantment are difficult to identify without these.
|
|
.pg
|
|
A mail daemon may run up and deliver mail to you as a
|
|
\fIscroll of mail\fP (on versions compiled with this feature).
|
|
To use this feature on versions where NetHack mail delivery is triggered
|
|
by electronic mail appearing in your system mailbox,
|
|
you must let NetHack know where to look for new mail by setting
|
|
the \(lqMAIL\(rq environment variable to the file name of your mailbox.
|
|
You may also want to set the \(lqMAILREADER\(rq environment
|
|
variable to the file name of your favorite reader, so NetHack can shell to it
|
|
when you read the scroll.
|
|
On versions of NetHack where mail is randomly generated internal to the game,
|
|
these environment variables are ignored.
|
|
You can disable the mail daemon by turning off the
|
|
.op mail
|
|
option.
|
|
.pg
|
|
The command to read a scroll is \(oqr\(cq.
|
|
.hn 2
|
|
Potions (\(oq!\(cq)
|
|
.pg
|
|
Potions are distinguished by the color of the liquid inside the flask.
|
|
They disappear after you quaff them.
|
|
.pg
|
|
Clear potions are potions of water.
|
|
Sometimes these are blessed or cursed, resulting in holy or unholy water.
|
|
Holy water is the bane of the undead, so
|
|
potions of holy water are good things to throw (\(oqt\(cq) at them.
|
|
It is also
|
|
sometimes very useful to dip (\(lq#dip\(rq) an object into a potion.
|
|
.pg
|
|
The command to drink a potion is \(oqq\(cq (quaff).
|
|
.hn 2
|
|
Wands (\(oq/\(cq)
|
|
.pg
|
|
Wands usually have multiple magical charges.
|
|
Some types of wands require a direction in which to zap them.
|
|
You can also zap them at yourself (just give a \(oq.\(cq or \(oqs\(cq
|
|
for the direction).
|
|
Be warned, however, for this is often unwise.
|
|
Other types of wands don't require a direction.
|
|
The number of charges in a wand is random and
|
|
decreases by one whenever you use it.
|
|
.pg
|
|
When the number of charges left in a wand becomes zero, attempts to use the
|
|
wand will usually result in nothing happening. Occasionally, however, it may
|
|
be possible to squeeze the last few mana points from an otherwise spent wand,
|
|
destroying it in the process. A wand may be recharged by using suitable
|
|
magic, but doing so runs the risk of causing it to explode. The chance
|
|
for such an explosion starts out very small and increases each time the
|
|
wand is recharged.
|
|
.pg
|
|
In a truly desperate situation, when your back is up against the wall, you
|
|
might decide to go for broke and break your wand. This is not for the faint
|
|
of heart. Doing so will almost certainly cause a catastrophic release of
|
|
magical energies.
|
|
.pg
|
|
When you have fully identified a particular wand, inventory display will
|
|
include additional information in parentheses: the number of times it has
|
|
been recharged followed by a colon and then by its current number of charges.
|
|
A current charge count of -1 is a special case indicating that the wand
|
|
has been cancelled.
|
|
.pg
|
|
The command to use a wand is \(oqz\(cq (zap).
|
|
To break one, use the \(oqa\(cq (apply) command.
|
|
.hn 2
|
|
Rings (\(oq=\(cq)
|
|
.pg
|
|
Rings are very useful items, since they are relatively permanent
|
|
magic, unlike the usually fleeting effects of potions, scrolls, and
|
|
wands.
|
|
.pg
|
|
Putting on a ring activates its magic.
|
|
You can wear at most two rings at any time, one on the ring finger of
|
|
each hand.
|
|
.pg
|
|
Most worn rings also cause you to grow hungry more rapidly, the rate
|
|
varying with the type of ring.
|
|
.pg
|
|
When wearing gloves, rings are worn underneath.
|
|
If the gloves are cursed, rings cannot be put on and any already being
|
|
worn cannot be removed.
|
|
When worn gloves aren't cursed, you don't have to manually take them
|
|
off before putting on or removing a ring and then re-wear them after.
|
|
That's done implicitly to avoid unnecessary tedium.
|
|
.pg
|
|
The commands to use rings are \(oqP\(cq (put on) and \(oqR\(cq (remove).
|
|
\(oqA\(cq, \(oqW\(cq, and \(oqT\(cq can also be used; see \fIAmulets\fP.
|
|
.hn 2
|
|
Spellbooks (\(oq+\(cq)
|
|
.pg
|
|
Spellbooks are tomes of mighty magic.
|
|
When studied with the \(oqr\(cq (read)
|
|
command, they transfer to the reader the knowledge of a spell (and
|
|
therefore eventually become
|
|
unreadable)\(emunless
|
|
the attempt backfires.
|
|
Reading a cursed spellbook or one with mystic runes beyond
|
|
your ken can be harmful to your health!
|
|
.pg
|
|
A spell (even when learned) can also backfire when you cast it.
|
|
If you
|
|
attempt to cast a spell well above your experience level, or if you have
|
|
little skill with the appropriate spell type, or cast it at
|
|
a time when your luck is particularly bad, you can end up wasting both the
|
|
energy and the time required in casting.
|
|
.pg
|
|
Casting a spell calls forth magical energies and focuses them with
|
|
your naked mind.
|
|
Some of the magical energy released comes from within you.
|
|
Casting temporarily drains your magical power, which will slowly be
|
|
recovered, and causes you to need additional food.
|
|
Casting of spells also requires practice.
|
|
With practice, your
|
|
skill in each category of spell casting will improve. Over time, however,
|
|
your memory of each spell will dim, and you will need to relearn it.
|
|
.pg
|
|
Some spells require a direction in which to cast them, similar to wands.
|
|
To cast one at yourself, just give a \(oq.\(cq or \(oqs\(cq for the direction.
|
|
A few spells require you to pick a target location rather than just specify
|
|
a particular direction.
|
|
Other spells don't require any direction or target.
|
|
.pg
|
|
Just as weapons are divided into groups in which a character can become
|
|
proficient (to varying degrees), spells are similarly grouped.
|
|
Successfully casting a spell exercises its skill group; using the
|
|
\(lq#enhance\(rq command to advance a sufficiently exercised skill
|
|
will affect all spells within the group.
|
|
Advanced skill may increase the
|
|
potency of spells, reduce their risk of failure during casting attempts,
|
|
and improve the accuracy of the estimate for how much longer they will
|
|
be retained in your memory.
|
|
Skill slots are shared with weapons skills.
|
|
(See also the section on \(lqWeapon proficiency\(rq.)
|
|
.pg
|
|
Casting a spell also requires flexible movement, and wearing various types
|
|
of armor may interfere with that.
|
|
.pg
|
|
The command to read a spellbook is the same as for scrolls, \(oqr\(cq (read).
|
|
The \(oq+\(cq command lists each spell you know along with its level, skill
|
|
category, chance of failure when casting, and an estimate of how strongly
|
|
it is remembered.
|
|
The \(oqZ\(cq (cast) command casts a spell.
|
|
.hn 2
|
|
Tools (\(oq(\(cq)
|
|
.pg
|
|
Tools are miscellaneous objects with various purposes. Some tools
|
|
have a limited number of uses, akin to wand charges. For example, lamps burn
|
|
out after a while. Other tools are containers, which objects can
|
|
be placed into or taken out of.
|
|
.pg
|
|
Some tools (such as a blindfold) can be \fIworn\fP and can be put on and
|
|
removed like other accessories (rings, amulets); see \fIAmulets\fP.
|
|
Other tools (such as pick-axe) can be wielded as weapons in addition to
|
|
being applied for their usual purpose, and in some cases (again, pick-axe)
|
|
become wielded as a weapon even when applied.
|
|
.pg
|
|
.\" Mentioned here because of the old method of attempting "Zen" conduct:
|
|
.\" restart until there's a blindfold in starting inventory and put it on
|
|
.\" first thing.
|
|
The
|
|
.op blind
|
|
option can be set (prior to game start) to attempt to play the entire
|
|
game without being able to see (a self-imposed challenge which is
|
|
very difficult to accomplish).
|
|
.pg
|
|
The command to use a tool is \(oqa\(cq (apply).
|
|
.hn 3
|
|
Containers
|
|
.pg
|
|
You may encounter bags, boxes, and chests in your travels.
|
|
A tool of
|
|
this sort can be opened with the \(lq#loot\(rq extended command when
|
|
you are standing on top of it (that is, on the same floor spot),
|
|
or with the \(oqa\(cq (apply) command when you are carrying it.
|
|
However, chests are often locked, and are in any case unwieldy objects.
|
|
You must set one down before unlocking it by
|
|
using a key or lock-picking tool with the \(oqa\(cq (apply) command,
|
|
by kicking it with the \(oq\(haD\(cq command, or by using a weapon to force
|
|
the lock with the \(lq#force\(rq extended command.
|
|
.pg
|
|
Some chests are trapped, causing nasty things to happen when you
|
|
unlock or open them.
|
|
You can check for and try to deactivate traps
|
|
with the \(lq#untrap\(rq extended command.
|
|
.hn 2
|
|
Amulets (\(oq"\(cq)
|
|
.pg
|
|
Amulets are very similar to rings, and often more powerful. Like
|
|
rings, amulets have various magical properties, some beneficial,
|
|
some harmful, which are activated by putting them on.
|
|
.pg
|
|
Only one amulet may be worn at a time, around your neck.
|
|
Like wearing rings, wearing an amulet affects your metabolism, causing
|
|
you to grow hungry more rapidly.
|
|
.pg
|
|
The commands to use amulets are the same as for rings, \(oqP\(cq (put on)
|
|
and \(oqR\(cq (remove).
|
|
\(oqA\(cq can be used to remove various worn items including amulets.
|
|
Also, \(oqW\(cq (wear) and \(oqT\(cq (take off) which are normally for
|
|
armor can be used for amulets and other accessories (rings and eyewear),
|
|
but accessories won't be shown as likely candidates in a prompt for
|
|
choosing what to wear or take off.
|
|
.hn 2
|
|
Gems (\(oq*\(cq)
|
|
.pg
|
|
Some gems are valuable, and can be sold for a lot of gold. They are also
|
|
a far more efficient way of carrying your riches. Valuable gems increase
|
|
your score if you bring them with you when you exit.
|
|
.pg
|
|
Other small rocks are also categorized as gems, but they are much less
|
|
valuable. All rocks, however, can be used as projectile weapons (if you
|
|
have a sling). In the most desperate of cases, you can still throw them
|
|
by hand.
|
|
.hn 2
|
|
Large rocks (\(oq\`\(cq)
|
|
.pg
|
|
Statues and boulders are not particularly useful, and are generally
|
|
heavy. It is rumored that some statues are not what they seem.
|
|
.pg
|
|
Boulders occasionally block your path.
|
|
You can push one forward (by attempting to walk onto its spot)
|
|
when nothing blocks \fIits\fP path, or you can
|
|
smash it into a pile of small rocks with breaking magic or a pick-axe.
|
|
Very large humanoids (giants and their ilk) have been known to pick up
|
|
boulders and use them as missile weapons.
|
|
.pg
|
|
Unlike boulders, statues can't be pushed, but don't need to be because
|
|
they don't block movement.
|
|
.\" 'rumor' above is about statue traps; this is a hint about statue contents
|
|
They can be smashed into rocks though.
|
|
.pg
|
|
For some configurations of the program, statues are no longer shown as
|
|
\(oq\f(CR\`\fP\(cq but by the letter representing the monster they depict
|
|
instead.
|
|
.hn 2
|
|
Gold (\(oq$\(cq)
|
|
.pg
|
|
Gold adds to your score, and you can buy things in shops with it.
|
|
There are a number
|
|
of monsters in the dungeon that may be influenced by the amount of gold
|
|
you are carrying (shopkeepers aside).
|
|
.pg
|
|
Gold pieces are the only type of object where bless/curse state does not
|
|
apply.
|
|
They're always uncursed but never described as uncursed even if you turn
|
|
off the
|
|
.op implicit_uncursed
|
|
option.
|
|
You can set the
|
|
.op goldX
|
|
option if you prefer to have gold pieces be treated as bless/curse state
|
|
\fIunknown\fP rather than as known to be uncursed.
|
|
Only matters when you're using an object selection prompt that can filter
|
|
by \(lq\f(CRBUCX\fP\(rq state.
|
|
.
|
|
.hn 2
|
|
Persistence of Objects
|
|
.pg
|
|
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, it will continue to be displayed on your map.
|
|
That remains the case even if it is not actually there any
|
|
more\(emperhaps a monster has picked it up or it has rotted away\(emuntil
|
|
you can see or feel that location again.
|
|
One notable exception is that if the object gets covered by the
|
|
\(lqremembered, unseen monster\(rq marker.
|
|
When that marker is later removed
|
|
after you've verified that no monster is there, you will have forgotten that
|
|
there was any object there regardless of whether the unseen monster
|
|
actually took the object.
|
|
If the object is still there, then once you see or feel that location
|
|
again you will re-discover the object and resume remembering it.
|
|
.pg
|
|
The situation is the same for a pile of objects, except that only the
|
|
top item of the pile is displayed.
|
|
The
|
|
.op hilite_pile
|
|
option can be enabled in order to show an item differently when it is
|
|
the top one of a pile.
|
|
.
|
|
.hn 1
|
|
Conduct
|
|
.pg
|
|
As if winning NetHack were not difficult enough, certain players
|
|
seek to challenge themselves by imposing restrictions on the
|
|
way they play the game.
|
|
The game automatically tracks some of
|
|
these challenges, which can be checked at any time with the #conduct
|
|
command or at the end of the game.
|
|
When you perform an action which
|
|
breaks a challenge, it will no longer be listed.
|
|
This gives players extra \(lqbragging rights\(rq for winning the game
|
|
with these challenges.
|
|
Note that it is perfectly acceptable to win the game
|
|
without resorting to these restrictions and that it is unusual for
|
|
players to adhere to challenges the first time they win the game.
|
|
.pg
|
|
Several of the challenges are related to eating behavior. The most
|
|
difficult of these is the foodless challenge. Although creatures
|
|
can survive long periods of time without food, there is a physiological
|
|
need for water; thus there is no restriction on drinking beverages,
|
|
even if they provide some minor food benefits.
|
|
Calling upon your god for help with starvation does
|
|
not violate any food challenges either.
|
|
.pg
|
|
A strict vegan diet is one which avoids any food derived from animals.
|
|
The primary source of nutrition is fruits and vegetables.
|
|
The corpses and tins of blobs (\(oqb\(cq), jellies (\(oqj\(cq), and
|
|
fungi (\(oqF\(cq) are also considered to be vegetable matter.
|
|
Certain human
|
|
food is prepared without animal products; namely, lembas wafers, cram
|
|
rations, food rations (gunyoki), K-rations, and C-rations.
|
|
Metal or another normally indigestible material eaten while polymorphed
|
|
into a creature that can digest it is also considered vegan food.
|
|
Note however that eating such items still counts against foodless conduct.
|
|
.pg
|
|
Vegetarians do not eat animals;
|
|
however, they are less selective about eating animal byproducts than vegans.
|
|
In addition to the vegan items listed above, they may eat any kind
|
|
of pudding (\(oqP\(cq) other than the black puddings,
|
|
eggs and food made from eggs (fortune cookies and pancakes),
|
|
food made with milk (cream pies and candy bars), and lumps of
|
|
royal jelly. Monks are expected to observe a vegetarian diet.
|
|
.pg
|
|
Eating any kind of meat violates the vegetarian, vegan, and foodless
|
|
conducts. This includes tripe rations, the corpses or tins of any
|
|
monsters not mentioned above, and the various other chunks of meat
|
|
found in the dungeon. Swallowing and digesting a monster while polymorphed
|
|
is treated as if you ate the creature's corpse.
|
|
Eating leather, dragon hide, or bone items while
|
|
polymorphed into a creature that can digest it, or eating monster brains
|
|
while polymorphed into a mind flayer, is considered eating
|
|
an animal, although wax is only an animal byproduct.
|
|
.pg
|
|
Regardless of conduct, there will be some items which are indigestible,
|
|
and others which are hazardous to eat.
|
|
Using a swallow-and-digest
|
|
attack against a monster is equivalent to eating the monster's corpse.
|
|
Please note that the term \(lqvegan\(rq is used here only in the context of
|
|
diet.
|
|
You are still free to choose not to use or wear items derived
|
|
from animals (e.g. leather, dragon hide, bone, horns, coral), but the
|
|
game will not keep track of this for you.
|
|
Also note that \(lqmilky\(rq
|
|
potions may be a translucent white, but they do not contain milk,
|
|
so they are compatible with a vegan diet.
|
|
Slime molds or
|
|
player-defined \(lqfruits\(rq, although they could be anything
|
|
from \(lqcherries\(rq to \(lqpork chops\(rq, are also assumed to be vegan.
|
|
.pg
|
|
An atheist is one who rejects religion. This means that you cannot
|
|
#pray, #offer sacrifices to any god, #turn undead, or #chat with a priest.
|
|
Particularly selective readers may argue that playing Monk or Priest
|
|
characters should violate this conduct; that is a choice left to the
|
|
player. Offering the Amulet of Yendor to your god is necessary to
|
|
win the game and is not counted against this conduct. You are also
|
|
not penalized for being spoken to by an angry god, priest(ess), or
|
|
other religious figure; a true atheist would hear the words but
|
|
attach no special meaning to them.
|
|
.pg
|
|
Most players fight with a wielded weapon (or tool intended to be
|
|
wielded as a weapon). Another challenge is to win the game without
|
|
using such a wielded weapon. You are still permitted to throw,
|
|
fire, and kick weapons; use a wand, spell, or other type of item;
|
|
or fight with your hands and feet.
|
|
.pg
|
|
In NetHack, a pacifist refuses to cause the death of any other monster
|
|
(i.e. if you would get experience for the death). This is a particularly
|
|
difficult challenge, although it is still possible to gain experience
|
|
by other means.
|
|
.pg
|
|
An illiterate character does not read or write.
|
|
This includes reading
|
|
a scroll, spellbook, fortune cookie message, or t-shirt; writing a
|
|
scroll; or making an engraving of anything other than a single \(lqX\(rq
|
|
(the traditional signature of an illiterate person).
|
|
Reading an engraving,
|
|
or any item that is absolutely necessary to win the game, is not counted
|
|
against this conduct.
|
|
The identity of scrolls and spellbooks (and
|
|
knowledge of spells) in your starting inventory is assumed to be
|
|
learned from your teachers prior to the start of the game and isn't
|
|
counted.
|
|
.pg
|
|
There is a side-branch to the main dungeon called \(lqSokoban,\(rq briefly
|
|
described in the earlier section about \fITraps\fP.
|
|
As mentioned there, the goal is to push boulders into pits and/or holes
|
|
to plug those in order to both get the boulders out of the way and be
|
|
able to go past the traps.
|
|
There are some special \(lqrules\(rq that are active when in that branch
|
|
of the dungeon.
|
|
Some rules can't be bypassed, such as being unable to push a boulder
|
|
diagonally.
|
|
Other rules can, such as not smashing boulders with magic or tools,
|
|
but doing so causes you to receive a luck penalty.
|
|
No message about that is given at the time, but it is tracked as a conduct.
|
|
The #conduct command and end of game disclosure will report whether
|
|
you have abided by the special rules of Sokoban, and if not, how many
|
|
times you violated them, providing you with a way to discover which
|
|
actions incur bad luck so that you can be better informed about whether
|
|
or not to avoid repeating those actions in the future.
|
|
(Note: the Sokoban conduct will only be displayed if you have
|
|
entered the Sokoban branch of the dungeon during the current game.
|
|
Once that has happened, it becomes part of disclosed conduct even if
|
|
you haven't done anything interesting there.
|
|
Ending the game with \(lqnever broke the Sokoban rules\(rq conduct is most
|
|
meaningful if you also manage to perform
|
|
the \(lqobtained the Sokoban prize\(rq achievement
|
|
(see \fIAchievements\fP below).)
|
|
.pg
|
|
There are several other challenges tracked by the game.
|
|
It is possible
|
|
to eliminate one or more species of monsters by genocide; playing without
|
|
this feature is considered a challenge.
|
|
When the game offers you an
|
|
opportunity to genocide monsters, you may respond with the monster type
|
|
\(lqnone\(rq if you want to decline.
|
|
You can change the form of an item into
|
|
another item of the same type (\(lqpolypiling\(rq) or the form of your own
|
|
body into another creature (\(lqpolyself\(rq) by wand, spell, or potion of
|
|
polymorph; avoiding these effects are each considered challenges.
|
|
Polymorphing monsters, including pets, does not break either of these
|
|
challenges.
|
|
Finally, you may sometimes receive wishes; a game without an attempt to
|
|
wish for any items is a challenge, as is a game without wishing for
|
|
an artifact (even if the artifact immediately disappears).
|
|
When the game offers you an opportunity to make a wish for an item,
|
|
you may choose \(lqnothing\(rq if you want to decline.
|
|
.hn 2
|
|
Achievements
|
|
.pg
|
|
End of game disclosure will also display various achievements
|
|
representing progress toward ultimate ascension, if any have been
|
|
attained.
|
|
They aren't directly related to \fIconduct\fP but are grouped with
|
|
it because they fall into the same category of \(lqbragging rights\(rq
|
|
and to limit the number of questions during disclosure.
|
|
Listed here roughly in order of difficulty and not necessarily in the order
|
|
in which you might accomplish them.
|
|
.\" Vary the output between Guidebook.txt and Guidebook.{ps,pdf}
|
|
.ie \n(fF \{\
|
|
.\" fixed-width font: default key width is fine;
|
|
.\" display longest entries (below) across two lines for Guidebook.txt
|
|
.PS "Mines'\~End"
|
|
.\}
|
|
.el \{\
|
|
.\" proportional font: force blank line, indent, and use slightly wider key
|
|
.sp
|
|
.in +5n
|
|
.PS "Mines'\~End\~"
|
|
.\}
|
|
.fi
|
|
.PL "<Rank>"
|
|
Attained rank title <Rank>.
|
|
.PL Shop
|
|
Entered a shop.
|
|
.PL Temple
|
|
Entered a temple.
|
|
.PL Mines
|
|
Entered the Gnomish Mines.
|
|
.PL Town
|
|
Entered Mine Town.
|
|
.PL Oracle
|
|
Consulted the Oracle of Delphi.
|
|
.PL Novel
|
|
Read a passage from a Discworld Novel.
|
|
.PL Sokoban
|
|
Entered Sokoban.
|
|
.PL "Big\~Room"
|
|
Entered the Big Room.
|
|
.ie \n(fF \{\
|
|
.PL "Soko-Prize"
|
|
Explored to the top of Sokoban
|
|
.br
|
|
and found a special item there.
|
|
.PL "Mines'\~End"
|
|
Explored to the bottom of the Gnomish Mines
|
|
.br
|
|
and found a special item there.
|
|
.\}
|
|
.el \{\
|
|
.PL "Soko-Prize"
|
|
Explored to the top of Sokoban and found a special item there.
|
|
.PL "Mines'\~End"
|
|
Explored to the bottom of the Gnomish Mines and found a special item there.
|
|
.\}
|
|
.fi
|
|
.PL Medusa
|
|
Defeated Medusa.
|
|
.PL Bell
|
|
Acquired the Bell of Opening.
|
|
.PL Gehennom
|
|
Entered Gehennom.
|
|
.PL Candle
|
|
Acquired the Candelabrum of Invocation.
|
|
.PL Book
|
|
Acquired the Book of the Dead.
|
|
.PL Invocation
|
|
Gained access to the bottommost level of Gehennom.
|
|
.PL Amulet
|
|
Acquired the fabled Amulet of Yendor.
|
|
.PL Endgame
|
|
Reached the Elemental Planes.
|
|
.PL Astral
|
|
Reached the Astral Plane level.
|
|
.PL Blind
|
|
Blind from birth.
|
|
.PL Nudist
|
|
Never wore any armor.
|
|
.PL Ascended
|
|
Delivered the Amulet to its final destination.
|
|
.PE
|
|
.if !\n(fF .in -5n .fi \" undo proportional-width font-specific indentation
|
|
.sp
|
|
.lp "Notes: "
|
|
.pg
|
|
Achievements are recorded and subsequently reported in the order in which
|
|
they happen during your current game rather than the order listed here.
|
|
.pg
|
|
There are nine \fI<Rank>\fP titles for each role, bestowed at experience
|
|
levels 1, 3, 6, 10, 14, 18, 22, 26, and 30.
|
|
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
|
|
corresponding achievement(s).
|
|
.pg
|
|
There's no guaranteed \fINovel\fP so the achievement to read one might
|
|
not always be attainable (except perhaps by \fIwishing\fP).
|
|
Similarly, the \fIBig Room\fP level is not always present.
|
|
Unlike with the Novel, there's no way to wish for this opportunity.
|
|
.pg
|
|
The \(lqspecial items\(rq hidden in \fIMines'\~End\fP and \fISokoban\fP
|
|
are not unique but are considered to be prizes or rewards
|
|
for exploring those levels since doing so is not necessary to complete
|
|
the game.
|
|
Finding other instances of the same objects doesn't record the
|
|
corresponding achievement.
|
|
.pg
|
|
The \fIMedusa\fP achievement is recorded if she dies for any reason,
|
|
even if you are not directly responsible, and only if she dies.
|
|
.pg
|
|
\fIBlind\fP and \fINudist\fP are also conducts, and they can only be
|
|
enabled by setting the correspondingly named option in NETHACKOPTIONS
|
|
or run-time configuration file prior to game start.
|
|
In the case of \fIBlind\fP, the option also enforces the conduct.
|
|
They aren't really significant accomplishments unless/until you make
|
|
substantial progress into the dungeon.
|
|
.
|
|
.hn 1
|
|
Options
|
|
.pg
|
|
Due to variations in personal tastes and conceptions of how NetHack
|
|
should do things, there are options you can set to change how NetHack
|
|
behaves.
|
|
.hn 2
|
|
Setting the options
|
|
.pg
|
|
Options may be set in a number of ways.
|
|
Within the game, the \(oqO\(cq
|
|
command allows you to view all options and change most of them.
|
|
You can also set options automatically by placing them in a configuration
|
|
file, or in the NETHACKOPTIONS environment 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
|
|
.\" hw: don't hyphenate file names
|
|
.hw .nethackrc defaults.nh nethack.exe nethackW.exe
|
|
The default name of the configuration file varies on different
|
|
operating systems.
|
|
.pg
|
|
On
|
|
.UX ,
|
|
Linux,
|
|
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 the folder
|
|
\(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\f(CR#\fP\(cq is treated
|
|
as a comment and ignored.
|
|
Empty lines are ignored.
|
|
.pg
|
|
Any line beginning with \(oq\f(CR[\fP\(cq and ending in \(oq\f(CR]\fP\(cq
|
|
is a section marker (the closing \(oq\f(CR]\fP\(cq can be followed
|
|
by whitespace and then an arbitrary comment beginning with \(oq\f(CR#\fP\(cq).
|
|
The text between the square brackets is the section name.
|
|
Section markers are only valid after a CHOOSE directive and their names
|
|
are case insensitive.
|
|
Lines after a section marker belong to that section up until another
|
|
section starts or a marker without a name is encountered or the file ends.
|
|
Lines within sections are ignored unless a CHOOSE directive has selected
|
|
that section.
|
|
.pg
|
|
You can use different configuration directives in the file, some
|
|
of which can be used multiple times.
|
|
In general, the directives are
|
|
written in capital letters, followed by an equals sign, followed by
|
|
settings particular to that directive.
|
|
.pg
|
|
Here is a list of allowed directives:
|
|
.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 \(lqno\(rq or \(oq!\(cq 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 directives, and multiple options
|
|
separated by commas in a single OPTIONS directive.
|
|
(Comma separated options are processed from right to left.)
|
|
.lp ""
|
|
Example:
|
|
.sd
|
|
.ft CR
|
|
OPTIONS=dogname:Fido
|
|
.\" '\(dq' == double quote; including a literal double quote here works
|
|
.\" for formatting but confuses Emacs' nroff-mode
|
|
OPTIONS=!legacy,autopickup,pickup_types:$\(dq=/!?+
|
|
.ft
|
|
.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 writable.
|
|
.lp SAVEDIR
|
|
The location where saved games are kept. Defaults to HACKDIR, must be
|
|
writable.
|
|
.lp BONESDIR
|
|
The location that bones files are kept. Defaults to HACKDIR, must be
|
|
writable.
|
|
.lp LOCKDIR
|
|
The location that file synchronization locks are stored. Defaults to
|
|
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.
|
|
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.
|
|
.lp ""
|
|
Example:
|
|
.sd
|
|
\f(CRAUTOCOMPLETE=zap,!annotate\fP
|
|
.ed
|
|
.lp AUTOPICKUP_EXCEPTION
|
|
Set exceptions to the
|
|
.op pickup_types
|
|
option.
|
|
See the \(lqConfiguring Autopickup Exceptions\(rq section.
|
|
.lp BINDINGS
|
|
Change the key bindings of some special keys, menu accelerators, or
|
|
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.
|
|
.lp ""
|
|
Example:
|
|
.sd
|
|
\f(CRBIND=\(haX:getpos.autodescribe\fP
|
|
.ed
|
|
.lp CHOOSE
|
|
Chooses at random one of the comma-separated parameters as an active
|
|
section name.
|
|
Lines in other sections are ignored.
|
|
.lp ""
|
|
Example:
|
|
.sd
|
|
.ft CR \" constant-width Roman
|
|
OPTIONS=color
|
|
CHOOSE=char A,char B
|
|
[char A]
|
|
OPTIONS=role:arc,race:dwa,align:law,gender:fem
|
|
[char B]
|
|
OPTIONS=role:wiz,race:elf,align:cha,gender:mal
|
|
[] #end of CHOOSE
|
|
OPTIONS=!rest_on_space
|
|
.ft \" revert to previous font
|
|
.ed
|
|
.lp ""
|
|
If \f(CR[]\fP is present, the preceding section is closed and no new
|
|
section begins; whatever follows will be common to all sections.
|
|
Otherwise the last section extends to the end of the options file.
|
|
.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 symbol set used for all dungeon
|
|
levels except for the special rogue level.
|
|
See the \(lqModifying NetHack Symbols\(rq section.
|
|
.lp ""
|
|
Example:
|
|
.sd
|
|
\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.
|
|
.lp ""
|
|
Example:
|
|
.sd
|
|
\f(CRWIZKIT=\(ti/wizkit.txt\fP \" \(ti == '~'
|
|
.ed
|
|
.
|
|
.pg
|
|
\ \" dummy paragraph to force some separation [.BR isn't working as intended]
|
|
.pg
|
|
.SD n \" suppress indentation
|
|
Here is an example of configuration file contents:
|
|
.ED
|
|
.\" [conditional indentation; see description of NETHACKOPTIONS below]
|
|
.ds sD i \" assume proportional, indentation acceptable and preferred
|
|
.\" Check for fixed-width font; fF set up at top of file
|
|
.if \n(fF .ds sD n \" if same width, suppress indentation
|
|
.SD \*(sD \" string variable sD will expand to either 'i' or 'n'
|
|
.ft CR \" set font to constant-width Roman
|
|
# Set your character's role, race, gender, and alignment.
|
|
OPTIONS=role:Valkyrie, race:Human, gender:female, align:lawful
|
|
#
|
|
# Turn on autopickup, set automatically picked up object types
|
|
OPTIONS=autopickup,pickup_types:$"=/!?+
|
|
#
|
|
# Map customization
|
|
OPTIONS=color # Display things in color if possible
|
|
OPTIONS=lit_corridor # Show lit corridors differently
|
|
OPTIONS=hilite_pet,hilite_pile
|
|
# Replace small punctuation (tick marks) with digits
|
|
SYMBOLS=S_boulder:0,S_golem:7
|
|
#
|
|
# No startup splash screen. Windows GUI only.
|
|
OPTIONS=!splash_screen
|
|
.ft \" revert to previous font
|
|
.ED
|
|
.pg
|
|
\ \" another dummy paragraph [.BR 2]
|
|
.hn 2
|
|
Using the NETHACKOPTIONS environment variable
|
|
.pg
|
|
The NETHACKOPTIONS variable is a comma-separated list of initial
|
|
values for the various options.
|
|
Some can only be turned on or off.
|
|
You turn one of these on by adding the name of the option to the list,
|
|
and turn it off by typing a \(oq\f(CR!\fP\(cq or \(lq\f(CRno\fP\(rq
|
|
before the name.
|
|
Others take a character string as a value.
|
|
You can set string options by typing
|
|
the option name, a colon or equals sign, and then the value of the string.
|
|
The value is terminated by the next comma or the end of string.
|
|
.pg
|
|
For example, to set up an environment variable so that
|
|
\fIcolor\fP is \f(CRon\fP,
|
|
\fIlegacy\fP is \f(CRoff\fP,
|
|
character \fIname\fP is set to \(lq\f(CRBlue Meanie\fP\(rq,
|
|
and named \fIfruit\fP is set to \(lq\f(CRlime\fP\(rq,
|
|
you would enter the command
|
|
.\" Guidebook.ps looks better with the normal indentation for .sd (.SD i)
|
|
.\" but the 'setenv' example is too wide for Guidebook.txt unless the
|
|
.\" indentation is suppressed (.SD n). Even though the second example
|
|
.\" can be indented, it should match the first or they'll both look odd.
|
|
.\" groff has a built-in register allowing recognition of '-T', but we
|
|
.\" can't rely on that. Assume Guidebook.ps uses a proportional font
|
|
.\" and Guidebook.txt a fixed-width one and test which sort we're using.
|
|
.ds sD i \" assume proportional, indentation acceptable and preferred
|
|
.\" Check for fixed-width font; fF set up at top of file
|
|
.if \n(fF .ds sD n \" if same width, suppress indentation
|
|
.SD \*(sD
|
|
\f(CR% setenv NETHACKOPTIONS "color,\\!leg,name:Blue Meanie,fruit:lime"\fP
|
|
.ED
|
|
in \fIcsh\fP (note the need to escape the \(oq!\(cq since it's special
|
|
to that shell), or the pair of commands
|
|
.SD \*(sD
|
|
\f(CR$ NETHACKOPTIONS="color,!leg,name:Blue Meanie,fruit:lime"\fP
|
|
\f(CR$ export NETHACKOPTIONS\fP
|
|
.ED
|
|
in \fIsh\fP, \fIksh\fP, or \fIbash\fP.
|
|
.pg
|
|
The NETHACKOPTIONS value is effectively the same as a single OPTIONS
|
|
directive in a configuration file.
|
|
The \(lqOPTIONS=\(rq prefix is implied and comma separated options are
|
|
processed from right to left.
|
|
Other types of configuration directives such as BIND or MSGTYPE are
|
|
not allowed.
|
|
.pg
|
|
Instead of a comma-separated list of options,
|
|
NETHACKOPTIONS can be set to the full name of a configuration file you
|
|
want to use.
|
|
If that full name doesn't start with a slash, precede it with \(oq\f(CR@\fP\(cq
|
|
(at-sign) to let NetHack know that the rest is intended as a file name.
|
|
If it does start with \(oq\f(CR/\fP\(cq, the at-sign is optional.
|
|
.hn 2
|
|
Customization options
|
|
.pg
|
|
Here are explanations of what the various options do.
|
|
Character strings that are too long may be truncated.
|
|
Some of the options listed may be inactive in your dungeon.
|
|
.pg
|
|
Some options are persistent, and are saved and reloaded along with
|
|
the game. Changing a persistent option in the configuration file
|
|
applies only to new games.
|
|
.lp acoustics
|
|
Enable messages about what your character hears (default on).
|
|
Note that this has nothing to do with your computer's audio capabilities.
|
|
Persistent.
|
|
.lp align
|
|
Your starting alignment (align:lawful, align:neutral, or align:chaotic).
|
|
You may specify just the first letter.
|
|
The default is to randomly pick an appropriate alignment.
|
|
If you prefix the value with \(oq!\(cq or \(lqno\(rq, you will
|
|
exclude that alignment from being picked randomly.
|
|
Cannot be set with the \(oqO\(cq command.
|
|
Persistent.
|
|
.lp autodescribe
|
|
Automatically describe the terrain under cursor when asked to get a location
|
|
on the map (default true).
|
|
The
|
|
.op whatis_coord
|
|
option controls whether the description includes map coordinates.
|
|
.lp autodig
|
|
Automatically dig if you are wielding a digging tool and moving into a place
|
|
that can be dug (default false).
|
|
Persistent.
|
|
.lp autoopen
|
|
Walking into a closed door attempts to open it (default true).
|
|
Persistent.
|
|
.lp "autopickup "
|
|
Automatically pick up things onto which you move (default on).
|
|
Persistent.
|
|
See
|
|
.op pickup_types
|
|
to refine the behavior.
|
|
.lp "autoquiver "
|
|
This option controls what happens when you attempt the \(oqf\(cq (fire)
|
|
command when nothing is quivered or readied (default false).
|
|
When true, the computer will fill
|
|
your quiver or quiver sack or make ready some suitable weapon.
|
|
Note that it will not take
|
|
into account the blessed/cursed status, enchantment, damage, or
|
|
quality of the weapon; you are free to manually fill your quiver
|
|
or quiver sack or make ready
|
|
with the \(oqQ\(cq command instead.
|
|
If no weapon is found or the option is
|
|
false, the \(oqt\(cq (throw) command is executed instead.
|
|
Persistent.
|
|
.lp autounlock
|
|
Walking into a locked door or looting a locked container while carrying
|
|
an unlocking tool (such as a key) will ask whether to use that tool to
|
|
unlock the door or container (default true).
|
|
Persistent.
|
|
.lp blind
|
|
Start the character permanently blind (default false).
|
|
Persistent.
|
|
.lp bones
|
|
Allow saving and loading bones files (default true).
|
|
Persistent.
|
|
.lp boulder
|
|
Set the character used to display boulders (default is the \(lqlarge rock\(rq
|
|
class symbol, \(oq\`\(cq).
|
|
.lp catname
|
|
Name your starting cat (for example \(lqcatname:Morris\(rq).
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp character
|
|
Synonym for \(lqrole\(rq to pick the type of your character
|
|
(for example \(lqcharacter:Monk\(rq).
|
|
See
|
|
.op role
|
|
for more details.
|
|
.lp checkpoint
|
|
Save game state after each level change, for possible recovery after
|
|
program crash (default on). Persistent.
|
|
.lp clicklook
|
|
Allows looking at things on the screen by navigating the mouse
|
|
over them and clicking the right mouse button (default off).
|
|
.lp cmdassist
|
|
Have the game provide some additional command assistance for
|
|
new players if it detects some anticipated mistakes (default on).
|
|
.lp "confirm "
|
|
Have user confirm attacks on pets, shopkeepers, and other
|
|
peaceable creatures (default on). Persistent.
|
|
.lp dark_room
|
|
Show out-of-sight areas of lit rooms (default on). Persistent.
|
|
.lp disclose
|
|
Controls what information the program reveals when the game ends.
|
|
Value is a space separated list of prompting/category pairs
|
|
(default is \(lq\fBni na nv ng nc no\fP\(rq,
|
|
prompt with default response of \(oq\fBn\fP\(cq for each candidate).
|
|
Persistent.
|
|
The possibilities are:
|
|
.sd
|
|
.si
|
|
.CC i "disclose your inventory;"
|
|
.CC a "disclose your attributes;"
|
|
.CC v "summarize monsters that have been vanquished;"
|
|
.CC g "list monster species that have been genocided;"
|
|
.CC c "display your conduct; also achievements, if any;"
|
|
.CC o "display dungeon overview."
|
|
.ei
|
|
.ed
|
|
Each disclosure possibility can optionally be preceded by a prefix which
|
|
lets you refine how it behaves. Here are the valid prefixes:
|
|
.sd
|
|
.si
|
|
.CC y "prompt you and default to yes on the prompt;"
|
|
.CC n "prompt you and default to no on the prompt;"
|
|
.CC + "disclose it without prompting;"
|
|
.CC \- "do not disclose it and do not prompt."
|
|
.ei
|
|
.ed
|
|
The listing of vanquished monsters can be sorted,
|
|
so there are two additional choices for \(oqv\(cq:
|
|
.sd
|
|
.si
|
|
.CC ? "prompt you and default to ask on the prompt;"
|
|
.CC # "disclose it without prompting, ask for sort order."
|
|
.ei
|
|
.ed
|
|
Asking refers to picking one of the orderings from a menu.
|
|
The \(oq+\(cq disclose without prompting choice,
|
|
or being prompted and answering \(oqy\(cq rather than \(oqa\(cq,
|
|
will default to showing monsters in the traditional order,
|
|
from high level to low level.
|
|
.lp ""
|
|
Omitted categories are implicitly added with \(oqn\(cq prefix.
|
|
Specified categories with omitted prefix implicitly use \(oq+\(cq prefix.
|
|
Order of the disclosure categories does not matter, program display for
|
|
end-of-game disclosure follows a set sequence.
|
|
.lp ""
|
|
(for example \(lqdisclose:yi na +v -g o\(rq)
|
|
The example sets
|
|
\fBinventory\fP to \fIprompt\fP and default to \fIyes\fP,
|
|
\fBattributes\fP to \fIprompt\fP and default to \fIno\fP,
|
|
\fBvanquished\fP to \fIdisclose without prompting\fP,
|
|
\fBgenocided\fP to \fInot disclose\fP and \fInot prompt\fP,
|
|
\fBconduct\fP to implicitly \fIprompt\fP and default to \fIno\fP, and
|
|
\fBoverview\fP to \fIdisclose without prompting\fP.
|
|
.lp ""
|
|
Note that the vanquished monsters list includes all monsters killed by
|
|
traps and each other as well as by you.
|
|
And the dungeon overview shows all levels you had visited but does not
|
|
reveal things about them that you hadn't discovered.
|
|
.lp dogname
|
|
Name your starting dog (for example \(lqdogname:Fang\(rq).
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp extmenu
|
|
Changes the extended commands interface to pop-up a menu of available
|
|
commands.
|
|
It is keystroke compatible with the traditional interface except that it
|
|
does not require that you hit \fIEnter\fP.
|
|
It is implemented for the tty interface (default off).
|
|
.lp ""
|
|
For the X11 interface, which always uses a menu for choosing an extended
|
|
command, it controls whether the menu shows all available commands (on)
|
|
or just the subset of commands which have traditionally been considered
|
|
extended ones (off).
|
|
.lp female
|
|
An obsolete synonym for \(lqgender:female\(rq.
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp fixinv
|
|
An object's inventory letter sticks to it when it's dropped (default on).
|
|
If this is off, dropping an object shifts all the remaining inventory letters.
|
|
Persistent.
|
|
.lp force_invmenu
|
|
Commands asking for an inventory item show a menu instead of
|
|
a text query with possible menu letters. Default is off.
|
|
.lp "fruit "
|
|
Name a fruit after something you enjoy eating (for example \(lqfruit:mango\(rq)
|
|
(default \(lqslime mold\(rq).
|
|
Basically a nostalgic whimsy that NetHack uses from time to time.
|
|
You should set this to something you find more appetizing than slime mold.
|
|
Apples, oranges, pears, bananas, and melons
|
|
already exist in NetHack, so don't use those.
|
|
.lp gender
|
|
Your starting gender (gender:male or gender:female).
|
|
You may specify just the first letter.
|
|
Although you can
|
|
still denote your gender using the \(lqmale\(rq and \(lqfemale\(rq
|
|
options, the \(lqgender\(rq option will take precedence.
|
|
The default is to randomly pick an appropriate gender.
|
|
If you prefix the value with \(oq!\(cq or \(lqno\(rq, you will
|
|
exclude that gender from being picked randomly.
|
|
Cannot be set with the \(oqO\(cq command.
|
|
Persistent.
|
|
.lp "goldX "
|
|
When filtering objects based on bless/curse state (BUCX), whether to
|
|
treat gold pieces as X (unknown bless/curse state, when \(lqon\(rq)
|
|
or U (known to be uncursed, when \(lqoff\(rq, the default).
|
|
Gold is never blessed or cursed, but it is not described as \(lquncursed\(rq
|
|
even when the
|
|
.op implicit_uncursed
|
|
option is \(lqoff\(rq.
|
|
.lp "help "
|
|
If more information is available for an object looked at
|
|
with the \(oq/\(cq command, ask if you want to see it (default on).
|
|
Turning help off makes just looking at things faster, since you aren't
|
|
interrupted with the \(lqMore info?\(rq prompt, but it also means that
|
|
you might miss some interesting and/or important information.
|
|
Persistent.
|
|
.lp herecmd_menu
|
|
When using a windowport that supports mouse and clicking on yourself or
|
|
next to you, show a menu of possible actions for the location.
|
|
Same as \(lq#herecmdmenu\(rq and \(lq#therecmdmenu\(rq commands.
|
|
.lp hilite_pet
|
|
Visually distinguish pets from similar animals (default off).
|
|
The behavior of this option depends on the type of windowing you use.
|
|
In text windowing, text highlighting or inverse video is often used;
|
|
with tiles, generally displays a heart symbol near pets.
|
|
.lp ""
|
|
With the curses interface, the
|
|
.op petattr
|
|
option controls how to highlight pets and setting it will turn the
|
|
.op hilite_pet
|
|
option on or off as warranted.
|
|
.lp hilite_pile
|
|
Visually distinguish piles of objects from individual objects (default off).
|
|
The behavior of this option depends on the type of windowing you use.
|
|
In text windowing, text highlighting or inverse video is often used;
|
|
with tiles, generally displays a small plus-symbol beside the object
|
|
on the top of the pile.
|
|
.lp hitpointbar
|
|
Show a hit point bar graph behind your name and title.
|
|
Only available for TTY and Windows GUI, and only when statushilites is on.
|
|
.lp horsename
|
|
Name your starting horse (for example \(lqhorsename:Trigger\(rq).
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp ignintr
|
|
Ignore interrupt signals, including breaks (default off). Persistent.
|
|
.lp implicit_uncursed
|
|
Omit \(lquncursed\(rq from object descriptions when it can be deduced from
|
|
other aspects of the description (default on).
|
|
Persistent.
|
|
.lp ""
|
|
If you use menu coloring, you may want to turn this off.
|
|
.lp legacy
|
|
Display an introductory message when starting the game (default on).
|
|
Persistent.
|
|
.lp lit_corridor
|
|
Show corridor squares seen by night vision or a light source held by your
|
|
character as lit (default off). Persistent.
|
|
.lp lootabc
|
|
When using a menu to interact with a container,
|
|
use the old \(oqa\(cq, \(oqb\(cq, and \(oqc\(cq keyboard shortcuts
|
|
rather than the mnemonics \(oqo\(cq, \(oqi\(cq, and \(oqb\(cq
|
|
(default off).
|
|
Persistent.
|
|
.lp "mail "
|
|
Enable mail delivery during the game (default on). Persistent.
|
|
.lp "male "
|
|
An obsolete synonym for \(lqgender:male\(rq.
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp mention_decor
|
|
Give feedback when walking onto various dungeon features such as stairs,
|
|
fountains, or altars which are ordinarily only described when covered
|
|
by one or more objects (default off).
|
|
Persistent.
|
|
.lp mention_walls
|
|
Give feedback when walking against a wall (default off).
|
|
Persistent.
|
|
.lp menucolors
|
|
Enable coloring menu lines (default off).
|
|
See \(lqConfiguring Menu Colors\(rq on how to configure the colors.
|
|
.lp menustyle
|
|
Controls the interface used when you need to choose various objects (in
|
|
response to the Drop command, for instance). The value specified should
|
|
be the first letter of one of the following: traditional, combination,
|
|
full, or partial.
|
|
Traditional was the only interface available for
|
|
early versions; it consists of a prompt for object class characters,
|
|
followed by an object-by-object prompt for all items matching the selected
|
|
object class(es).
|
|
Combination starts with a prompt for object class(es)
|
|
of interest, but then displays a menu of matching objects rather than
|
|
prompting one-by-one.
|
|
Full displays a menu of
|
|
object classes rather than a character prompt, and then a menu of matching
|
|
objects for selection.
|
|
Partial skips the object class filtering and
|
|
immediately displays a menu of all objects.
|
|
Persistent.
|
|
.lp menu_deselect_all
|
|
Menu character accelerator to deselect all items in a menu.
|
|
Implemented by the Amiga, Gem, X11 and tty ports.
|
|
Default \(oq\-\(cq.
|
|
.lp menu_deselect_page
|
|
Menu character accelerator to deselect all items on this page of a menu.
|
|
Implemented by the Amiga, Gem and tty ports.
|
|
Default \(oq\\\(cq.
|
|
.lp menu_first_page
|
|
Menu character accelerator to jump to the first page in a menu.
|
|
Implemented by the Amiga, Gem and tty ports.
|
|
Default \(oq\(ha\(cq.
|
|
.lp menu_headings
|
|
Controls how the headings in a menu are highlighted.
|
|
Values are \(lqnone\(rq, \(lqbold\(rq, \(lqdim\(rq, \(lqunderline\(rq,
|
|
\(lqblink\(rq, or \(lqinverse\(rq.
|
|
Not all ports can actually display all types.
|
|
.lp menu_invert_all
|
|
Menu character accelerator to invert all items in a menu.
|
|
Implemented by the Amiga, Gem, X11 and tty ports.
|
|
Default \(oq@\(cq.
|
|
.lp menu_invert_page
|
|
Menu character accelerator to invert all items on this page of a menu.
|
|
Implemented by the Amiga, Gem and tty ports.
|
|
Default \(oq\(ti\(cq. \" ~
|
|
.lp menu_last_page
|
|
Menu character accelerator to jump to the last page in a menu.
|
|
Implemented by the Amiga, Gem and tty ports.
|
|
Default \(oq|\(cq.
|
|
.lp menu_next_page
|
|
Menu character accelerator to goto the next menu page.
|
|
Implemented by the Amiga, Gem and tty ports.
|
|
Default \(oq>\(cq.
|
|
.lp menu_objsyms
|
|
Show object symbols in menu headings in menus where
|
|
the object symbols act as menu accelerators (default off).
|
|
.lp menu_overlay
|
|
Do not clear the screen before drawing menus, and align
|
|
menus to the right edge of the screen. Only for the tty port.
|
|
(default on)
|
|
.lp menu_previous_page
|
|
Menu character accelerator to goto the previous menu page.
|
|
Implemented by the Amiga, Gem and tty ports.
|
|
Default \(oq<\(cq.
|
|
.lp menu_search
|
|
Menu character accelerator to search for a menu item.
|
|
Implemented by the Amiga, Gem, X11 and tty ports.
|
|
Default \(oq:\(cq.
|
|
.lp menu_select_all
|
|
Menu character accelerator to select all items in a menu.
|
|
Implemented by the Amiga, Gem, X11 and tty ports.
|
|
Default \(oq.\(cq.
|
|
.lp menu_select_page
|
|
Menu character accelerator to select all items on this page of a menu.
|
|
Implemented by the Amiga, Gem and tty ports.
|
|
Default \(oq,\(cq.
|
|
." .lp menu_tab_sep
|
|
." Format menu entries using TAB to separate columns (default off).
|
|
." Only applicable to some menus, and only useful to some interfaces.
|
|
." Debug mode only.
|
|
.lp monpolycontrol
|
|
Prompt for new form whenever any monster changes shape (default off).
|
|
Debug mode only.
|
|
.lp mouse_support
|
|
Allow use of the mouse for input and travel.
|
|
Valid settings are:
|
|
.sd
|
|
.si
|
|
.CC 0 "disabled"
|
|
.CC 1 "enabled and make OS adjustments to support mouse use"
|
|
.CC 2 "like 1 but does not make any OS adjustments"
|
|
.ei
|
|
.ed
|
|
Omitting a value is the same as specifying 1
|
|
and negating
|
|
.op mouse_support
|
|
is the same as specifying 0.
|
|
.lp msghistory
|
|
The number of top line messages to keep (and be able to recall
|
|
with \(oq\(haP\(cq) (default 20).
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp msg_window
|
|
Allows you to change the way recalled messages are displayed.
|
|
Currently it is only supported for tty (all four choices) and for curses
|
|
(\(oq\f(CRf\fP\(cq and \(oq\f(CRr\fP\(cq choices, default \(oq\f(CRr\fP\(cq).
|
|
The possible values are:
|
|
.sd
|
|
.si
|
|
.CC s "single message (default; only choice prior to 3.4.0);"
|
|
.CC c "combination, two messages as \(lqsingle\(rq, then as \(lqfull\(rq;"
|
|
.CC f "full window, oldest message first;"
|
|
.CC r "full window reversed, newest message first."
|
|
.ei
|
|
.ed
|
|
For backward compatibility, no value needs to be specified (which defaults
|
|
to \(lqfull\(rq), or it can be negated (which defaults to \(lqsingle\(rq).
|
|
.lp "name "
|
|
Set your character's name (defaults to your user name). You can also
|
|
set your character's role by appending a dash and one or more letters of
|
|
the role (that is, by suffixing one of
|
|
.op "\-A \-B \-C \-H \-K \-M \-P \-Ra \-Ro \-S \-T \-V \-W" ).
|
|
If
|
|
.op "\-@"
|
|
is used for the role, then a random one will be automatically chosen.
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp "news "
|
|
Read the NetHack news file, if present (default on).
|
|
Since the news is shown at the beginning of the game, there's no point
|
|
in setting this with the \(oqO\(cq command.
|
|
.lp nudist
|
|
Start the character with no armor (default false). Persistent.
|
|
.lp "null "
|
|
Send padding nulls to the terminal (default on). Persistent.
|
|
.lp number_pad
|
|
Use digit keys instead of letters to move (default 0 or off).
|
|
Valid settings are:
|
|
.PS -1
|
|
.PL "\ 0"
|
|
move by letters; \(lq\f(CRyuhjklbn\fP\(rq \" \f(CR = constant-width Roman font
|
|
.PL "\ 1"
|
|
move by numbers; digit \(oq5\(cq acts as \(oqG\(cq movement prefix
|
|
.PL "\ 2"
|
|
like 1 but \(oq5\(cq works as \(oqg\(cq prefix instead of as \(oqG\(cq
|
|
.PL "\ 3"
|
|
by numbers using phone key layout; 123 above, 789 below
|
|
.PL "\ 4"
|
|
combines 3 with 2; phone layout plus MS-DOS compatibility
|
|
.PL "-1"
|
|
by letters but use \(oqz\(cq to go northwest, \(oqy\(cq to zap wands
|
|
.PE
|
|
For backward compatibility, omitting a value is the same as specifying 1
|
|
and negating
|
|
.op number_pad
|
|
is the same as specifying 0.
|
|
(Settings 2 and 4 are for compatibility with MS-DOS or old PC Hack;
|
|
in addition to the different behavior for \(oq5\(cq, \(oqAlt-5\(cq acts
|
|
as \(oqG\(cq and \(oqAlt-0\(cq acts as \(oqI\(cq.
|
|
Setting -1 is to accommodate some QWERTZ keyboards which have the
|
|
location of the \(oqy\(cq and \(oqz\(cq keys swapped.)
|
|
When moving by numbers, to enter a count prefix for those commands
|
|
which accept one (such as \(lq12s\(rq to search twelve times), precede it
|
|
with the letter \(oqn\(cq (\(lqn12s\(rq).
|
|
.lp packorder
|
|
.\" \(dq == double quote; literal '"' formats ok but confuses Emacs' nroff-mode
|
|
Specify the order to list object types in (default \(lq\(dq)[%?+!=/(*\`0_\(rq).
|
|
The value of this option should be a string containing the
|
|
symbols for the various object types.
|
|
Any omitted types are filled in at the end from the previous order.
|
|
.lp paranoid_confirmation
|
|
A space separated list of specific situations where alternate
|
|
prompting is desired. The default is paranoid_confirmation:pray.
|
|
.PS Were-change
|
|
.PL Confirm
|
|
for any prompts which are set to require \(lqyes\(rq rather than \(oqy\(cq,
|
|
also require \(lqno\(rq to reject instead of accepting any non-yes response
|
|
as no
|
|
.PL quit
|
|
require \(lqyes\(rq rather than \(oqy\(cq to confirm quitting
|
|
the game or switching into non-scoring explore mode;
|
|
.PL die
|
|
require \(lqyes\(rq rather than \(oqy\(cq to confirm dying (not
|
|
useful in normal play; applies to explore mode);
|
|
.PL bones
|
|
require \(lqyes\(rq rather than \(oqy\(cq to confirm saving
|
|
bones data when dying in debug mode;
|
|
.PL attack
|
|
require \(lqyes\(rq rather than \(oqy\(cq to confirm attacking a peaceful monster;
|
|
.PL wand-break
|
|
require \(lqyes\(rq rather than \(oqy\(cq to confirm breaking a wand;
|
|
.PL eating
|
|
require \(lqyes\(rq rather than \(oqy\(cq to confirm whether to continue eating;
|
|
.PL Were-change
|
|
require \(lqyes\(rq rather than \(oqy\(cq to confirm changing form due to lycanthropy
|
|
when hero has polymorph control;
|
|
.PL pray
|
|
require \(oqy\(cq to confirm an attempt to pray rather
|
|
than immediately praying; on by default;
|
|
.PL Remove
|
|
require selection from inventory for \(oqR\(cq and \(oqT\(cq
|
|
commands even when wearing just one applicable item.
|
|
.PL all
|
|
turn on all of the above.
|
|
.PE
|
|
By default, the pray choice is enabled, the others disabled.
|
|
To disable it without setting
|
|
any of the other choices, use \(lqparanoid_confirmation:none\(rq.
|
|
To keep
|
|
it enabled while setting any of the others, include it in the list,
|
|
such as \(lqparanoid_confirmation:attack pray Remove\(rq.
|
|
.lp perm_invent
|
|
If true, always display your current inventory in a window. This only
|
|
makes sense for windowing system interfaces that implement this feature.
|
|
.\" petattr is a wincap option but we'll document it here...
|
|
.lp petattr
|
|
Specifies one or more text highlighting attributes to use when showing
|
|
pets on the map.
|
|
Effectively a superset of the
|
|
.op hilite_pet
|
|
boolean option.
|
|
Curses interface only; value is one or more of the following letters.
|
|
.sd
|
|
.si
|
|
.CC n "Normal text (no highlighting)"
|
|
.CC i "Inverse video (default)"
|
|
.CC b "Bold text"
|
|
.CC u "Underlined text"
|
|
.CC k "blinKing text"
|
|
.CC d "Dim text"
|
|
.CC t "iTalic text"
|
|
.CC l "Left line indicator"
|
|
.CC r "Right line indicator"
|
|
.ei
|
|
.ed
|
|
Some of those choices might not work, particularly the final three,
|
|
depending upon terminal hardware or terminal emulation software.
|
|
.lp ""
|
|
Currently multiple highlight-style letters can be combined by simply
|
|
stringing them together (for example, \(lqbk\(rq), but in the future
|
|
they might require being separated by plus signs (such as \(lqb+k\(rq,
|
|
which works already).
|
|
When using the \(oqn\(cq choice, it should be specified on its own,
|
|
not in combination with any of the other letters.
|
|
.lp pettype
|
|
Specify the type of your initial pet, if you are playing a character class
|
|
that uses multiple types of pets; or choose to have no initial pet at all.
|
|
Possible values are \(lqcat\(rq, \(lqdog\(rq, \(lqhorse\(rq, and \(lqnone\(rq.
|
|
If the choice is not allowed for the role you are currently playing,
|
|
it will be silently ignored.
|
|
For example, \(lqhorse\(rq will only be honored when playing a knight.
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp pickup_burden
|
|
When you pick up an item that would exceed this encumbrance
|
|
level (Unencumbered, Burdened, streSsed, straiNed, overTaxed,
|
|
or overLoaded), you will be asked if you want to continue.
|
|
(Default \(oqS\(cq).
|
|
Persistent.
|
|
.lp pickup_thrown
|
|
If this option is on and
|
|
.op autopickup
|
|
is also on, try to pick up things that you threw, even if they aren't in
|
|
.op pickup_types
|
|
or match an autopickup exception. Default is on. Persistent.
|
|
.lp pickup_types
|
|
Specify the object types to be picked up when
|
|
.op autopickup
|
|
is on. Default is all types. You can use
|
|
.op autopickup_exception
|
|
configuration file lines to further refine
|
|
.op autopickup
|
|
behavior. Persistent.
|
|
.lp pile_limit
|
|
When walking across a pile of objects on the floor, threshold at which
|
|
the message \(lqthere are few/several/many objects here\(rq is given instead
|
|
of showing a popup list of those objects.
|
|
A value of 0 means \(lqno limit\(rq
|
|
(always list the objects); a value of 1 effectively means \(lqnever show
|
|
the objects\(rq since the pile size will always be at least that big;
|
|
default value is 5.
|
|
Persistent.
|
|
.lp playmode
|
|
Values are \(lqnormal\(rq, \(lqexplore\(rq, or \(lqdebug\(rq.
|
|
Allows selection of explore mode (also known as discovery mode) or debug
|
|
mode (also known as wizard mode) instead of normal play.
|
|
Debug mode might only be allowed for someone logged in under a particular
|
|
user name (on multi-user systems) or specifying a particular character
|
|
name (on single-user systems) or it might be disabled entirely. Requesting
|
|
it when not allowed or not possible results in explore mode instead.
|
|
Default is normal play.
|
|
.lp pushweapon
|
|
Using the \(oqw\(cq (wield) command when already wielding
|
|
something pushes the old item into your alternate weapon slot (default off).
|
|
Likewise for the \(oqa\(cq (apply) command if it causes the applied item to
|
|
become wielded.
|
|
Persistent.
|
|
.lp quick_farsight
|
|
When set, usually prevents the \(lqyou sense your surroundings\(rq message
|
|
where play pauses to allow you to browse the map whenever clairvoyance
|
|
randomly activates.
|
|
Some situations, such as being underwater or engulfed, ignore this option.
|
|
It does not affect the clairvoyance spell where pausing to examine revealed
|
|
objects or monsters is less intrusive.
|
|
Default is off. Persistent.
|
|
.lp "race "
|
|
Selects your race (for example, \(lqrace:human\(rq).
|
|
Default is random.
|
|
If you prefix the value with \(oq!\(cq or \(lqno\(rq, you will
|
|
exclude that race from being picked randomly.
|
|
Cannot be set with the \(oqO\(cq command.
|
|
Persistent.
|
|
.lp rest_on_space
|
|
Make the space bar a synonym for the \(oq.\(cq (#wait) command (default off).
|
|
Persistent.
|
|
.lp "role "
|
|
Pick your type of character (for example \(lqrole:Samurai\(rq);
|
|
synonym for \(lqcharacter\(rq.
|
|
See \(lqname\(rq for an alternate method of specifying your role.
|
|
Normally only the first letter of the value is examined; \(oqr\(cq is an
|
|
exception with \(lqRogue\(rq, \(lqRanger\(rq, and \(lqrandom\(rq values.
|
|
If you prefix the value with \(oq!\(cq or \(lqno\(rq, you will
|
|
exclude that role from being picked randomly.
|
|
Cannot be set with the \(oqO\(cq command.
|
|
Persistent.
|
|
.lp roguesymset
|
|
This option may be used to select one of the named symbol sets found
|
|
within \(lqsymbols\(rq to alter the symbols displayed on the screen
|
|
on the rogue level.
|
|
.lp rlecomp
|
|
When writing out a save file, perform run length compression of the map.
|
|
Not all ports support run length compression. It has no
|
|
effect on reading an existing save file.
|
|
.lp runmode
|
|
Controls the amount of screen updating for the map window when engaged
|
|
in multi-turn movement (running via shift+direction or control+direction
|
|
and so forth, or via the travel command or mouse click).
|
|
The possible values are:
|
|
.PS teleport
|
|
.PL teleport
|
|
update the map after movement has finished;
|
|
.PL run
|
|
update the map after every seven or so steps;
|
|
.PL walk
|
|
update the map after each step;
|
|
.PL crawl
|
|
like walk, but pause briefly after each step.
|
|
.PE
|
|
This option only affects the game's screen display, not the actual
|
|
results of moving.
|
|
The default is \(lqrun\(rq; versions prior to 3.4.1 used \(lqteleport\(rq only.
|
|
Whether or not the effect is noticeable will
|
|
depend upon the window port used or on the type of terminal.
|
|
Persistent.
|
|
.lp safe_pet
|
|
Prevent you from (knowingly) attacking your pets (default on).
|
|
Persistent.
|
|
.lp safe_wait
|
|
Prevents you from waiting or searching when next to a hostile monster
|
|
(default on). Persistent.
|
|
.lp sanity_check
|
|
Evaluate monsters, objects, and map prior to each turn (default off).
|
|
Debug mode only.
|
|
.lp scores
|
|
Control what parts of the score list you are shown at the end (for example
|
|
\(lqscores:5 top scores/4 around my score/own scores\(rq).
|
|
Only the first letter of each category (\(oqt\(cq, \(oqa\(cq, or \(oqo\(cq)
|
|
is necessary.
|
|
Persistent.
|
|
.lp showexp
|
|
Show your accumulated experience points on bottom line (default off).
|
|
Persistent.
|
|
.lp showrace
|
|
Display yourself as the glyph for your race, rather than the glyph
|
|
for your role (default off). Note that this setting affects only
|
|
the appearance of the display, not the way the game treats you.
|
|
Persistent.
|
|
.lp showscore
|
|
Show your approximate accumulated score on bottom line (default off).
|
|
Persistent.
|
|
.lp "silent "
|
|
Suppress terminal beeps (default on). Persistent.
|
|
.lp sortloot
|
|
Controls the sorting behavior of the pickup lists for inventory
|
|
and #loot commands and some others. Persistent.
|
|
The possible values are:
|
|
.PS full
|
|
.PL full
|
|
always sort the lists;
|
|
.PL loot
|
|
only sort the lists that don't use inventory letters, like with
|
|
the #loot and pickup commands;
|
|
.PL none
|
|
show lists the traditional way without sorting.
|
|
.PE
|
|
.lp sortpack
|
|
Sort the pack contents by type when displaying inventory (default on).
|
|
Persistent.
|
|
.lp sparkle
|
|
Display a sparkly effect when a monster (including yourself) is hit by an
|
|
attack to which it is resistant (default on).
|
|
Persistent.
|
|
.lp standout
|
|
Boldface monsters and \(lq\fB\-\-More\-\-\fP\(rq (default off).
|
|
Persistent.
|
|
.lp statushilites
|
|
Controls how many turns status hilite behaviors highlight the field.
|
|
If negated or set to zero, disables status hiliting.
|
|
See \(lqConfiguring Status Hilites\(rq for further information.
|
|
.lp status_updates
|
|
Allow updates to the status lines at the bottom of the screen (default true).
|
|
.lp suppress_alert
|
|
This option may be set to a NetHack version level to suppress
|
|
alert notification messages about feature changes for that
|
|
and prior versions (for example \(lqsuppress_alert:3.3.1\(rq).
|
|
.lp symset
|
|
This option may be used to select one of the named symbol sets found within
|
|
\(lqsymbols\(rq to alter the symbols displayed on the screen.
|
|
Use \(lqsymset:default\(rq to explicitly select the default symbols.
|
|
.lp "time "
|
|
Show the elapsed game time in turns on bottom line (default off).
|
|
Persistent.
|
|
.lp timed_delay
|
|
When pausing momentarily for display effect, such as with explosions and
|
|
moving objects, use a timer rather than sending extra characters to the
|
|
screen.
|
|
(Applies to \(lqtty\(rq interface only; \(lqX11\(rq interface always
|
|
uses a timer based delay.
|
|
The default is on if configured into the program.)
|
|
Persistent.
|
|
.lp tombstone
|
|
Draw a tombstone graphic upon your death (default on).
|
|
Persistent.
|
|
.lp toptenwin
|
|
Put the ending display in a NetHack window instead of on stdout (default off).
|
|
Setting this option makes the score list visible when a windowing version
|
|
of NetHack is started without a parent window, but it no longer leaves
|
|
the score list around after game end on a terminal or emulating window.
|
|
.lp travel
|
|
Allow the travel command via mouse click (default on).
|
|
Turning this option off will prevent the game from attempting unintended
|
|
moves if you make inadvertent mouse clicks on the map window.
|
|
Does not affect traveling via the \(oq\f(CR_\fP\(cq (\(lq#travel\(rq) command.
|
|
Persistent.
|
|
." .lp travel_debug
|
|
." Display intended path during each step of travel (default off).
|
|
." Debug mode only.
|
|
.lp verbose
|
|
Provide more commentary during the game (default on). Persistent.
|
|
.lp whatis_coord
|
|
When using the \(oq/\(cq or \(oq;\(cq commands to look around on the map with
|
|
.op autodescribe
|
|
on, display coordinates after the description.
|
|
Also works in other situations where you are asked to pick a location.
|
|
.lp ""
|
|
The possible settings are:
|
|
.sd
|
|
.si
|
|
.CC c "compass (\(lqeast\(rq or \(lq3s\(rq or \(lq2n,4w\(rq);"
|
|
.CC f "full compass (\(lqeast\(rq or \(lq3south\(rq or \(lq2north,4west\(rq);"
|
|
.CC m "map <x,y> (map column x=0 is not used);"
|
|
.CC s "screen [row,column] (row is offset to match tty usage);"
|
|
.CC n "none (no coordinates shown) [default]."
|
|
.ei
|
|
.ed
|
|
The
|
|
.op whatis_coord
|
|
option is also used with the \(lq/m\(rq, \(lq/M\(rq, \(lq/o\(rq,
|
|
and \(lq/O\(rq sub-commands of \(oq/\(cq,
|
|
where the \(lqnone\(rq setting is overridden with \(lqmap\(rq.
|
|
.lp whatis_filter
|
|
When getting a location on the map, and using the keys to cycle through
|
|
next and previous targets, allows filtering the possible targets.
|
|
.sd
|
|
.si
|
|
.CC n "no filtering [default]"
|
|
.CC v "in view only"
|
|
.CC a "in same area only"
|
|
.ei
|
|
.ed
|
|
The area-filter tries to be slightly
|
|
predictive\(emif
|
|
you're standing on a doorway, it will consider the area on the side of
|
|
the door you were last moving towards.
|
|
.lp ""
|
|
Filtering can also be changed when getting a location with the
|
|
\(lqgetpos.filter\(rq key.
|
|
.lp whatis_menu
|
|
When getting a location on the map, and using a key to cycle through
|
|
next and previous targets, use a menu instead to pick a target.
|
|
(default off)
|
|
.lp whatis_moveskip
|
|
When getting a location on the map, and using shifted movement keys or
|
|
meta-digit keys to fast-move, instead of moving 8 units at a time,
|
|
move by skipping the same glyphs.
|
|
(default off)
|
|
.lp windowtype
|
|
When the program has been built to support multiple interfaces,
|
|
select which one to use, such as \(lqtty\(rq or \(lqX11\(rq
|
|
(default depends on build-time settings; use \(lq#version\(rq to check).
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp ""
|
|
When used, it should be the first option set since its value might
|
|
enable or disable the availability of various other options.
|
|
For multiple lines in a configuration file, that would be the first
|
|
non-comment line.
|
|
For a comma-separated list in NETHACKOPTIONS or an OPTIONS line in a
|
|
configuration file,
|
|
that would
|
|
be the \fIrightmost\fP option in the list.
|
|
.lp wizweight
|
|
Augment object descriptions with their objects' weight (default off).
|
|
Debug mode only.
|
|
.lp zerocomp
|
|
When writing out a save file, perform zero-comp compression of the
|
|
contents. Not all ports support zero-comp compression. It has no effect
|
|
on reading an existing save file.
|
|
.hn 2
|
|
Window Port Customization options
|
|
.pg
|
|
Here are explanations of the various options that are
|
|
used to customize and change the characteristics of the
|
|
windowtype that you have chosen.
|
|
Character strings that are too long may be truncated.
|
|
Not all window ports will adjust for all settings listed
|
|
here. You can safely add any of these options to your configuration
|
|
file, and if the window port is capable of adjusting to
|
|
suit your preferences, it will attempt to do so. If it
|
|
can't it will silently ignore it. You can find out if an
|
|
option is supported by the window port that you are currently
|
|
using by checking to see if it shows up in the Options list.
|
|
Some options are dynamic and can be specified during the game
|
|
with the \(oqO\(cq command.
|
|
.lp align_message
|
|
Where to align or place the message window (top, bottom, left, or right)
|
|
.lp align_status
|
|
Where to align or place the status window (top, bottom, left, or right).
|
|
.lp ascii_map
|
|
.hw DECgraphics IBMgraphics \" don't hyphenate these
|
|
If NetHack can, it should display the map using simple
|
|
characters (letters and punctuation) rather than \fItiles\fP graphics.
|
|
In some cases, characters can be augmented with line-drawing symbols;
|
|
use the
|
|
.op symset
|
|
option to select a symbol set such as \fIDECgraphics\fP
|
|
or \fIIBMgraphics\fP if your display supports them.
|
|
Setting
|
|
.op ascii_map
|
|
to \fITrue\fP forces
|
|
.op tiled_map
|
|
to be \fIFalse\fP.
|
|
.lp color
|
|
If NetHack can, it should display color if it can for different monsters,
|
|
objects, and dungeon features.
|
|
.lp eight_bit_tty
|
|
If NetHack can, it should pass eight-bit character values (for example,
|
|
specified with the
|
|
.op traps
|
|
option) straight through to your terminal (default off).
|
|
.lp font_map
|
|
if NetHack can, it should use a font by the chosen name for the map window.
|
|
.lp font_menu
|
|
If NetHack can, it should use a font by the chosen name for menu windows.
|
|
.lp font_message
|
|
If NetHack can, it should use a font by the chosen name for the message window.
|
|
.lp font_status
|
|
If NetHack can, it should use a font by the chosen name for the status window.
|
|
.lp font_text
|
|
If NetHack can, it should use a font by the chosen name for text windows.
|
|
.lp font_size_map
|
|
If NetHack can, it should use this size font for the map window.
|
|
.lp font_size_menu
|
|
If NetHack can, it should use this size font for menu windows.
|
|
.lp font_size_message
|
|
If NetHack can, it should use this size font for the message window.
|
|
.lp font_size_status
|
|
If NetHack can, it should use this size font for the status window.
|
|
.lp font_size_text
|
|
If NetHack can, it should use this size font for text windows.
|
|
.lp fullscreen
|
|
If NetHack can, it should try and display on the entire screen rather than
|
|
in a window.
|
|
.lp guicolor
|
|
Use color text and/or highlighting attributes when displaying some
|
|
non-map data (such as menu selector letters).
|
|
Curses interface only; default is on.
|
|
.lp large_font
|
|
If NetHack can, it should use a large font.
|
|
.lp map_mode
|
|
If NetHack can, it should display the map in the manner specified.
|
|
.lp player_selection
|
|
If NetHack can, it should pop up dialog boxes, or use prompts for character
|
|
selection.
|
|
.lp popup_dialog
|
|
If NetHack can, it should pop up dialog boxes for input.
|
|
.lp preload_tiles
|
|
If NetHack can, it should preload tiles into memory.
|
|
For example, in the protected mode MS-DOS version, control whether tiles
|
|
get pre-loaded into RAM at the start of the game. Doing so
|
|
enhances performance of the tile graphics, but uses more memory. (default on).
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp scroll_amount
|
|
If NetHack can, it should scroll the display by this number of cells
|
|
when the hero reaches the scroll_margin.
|
|
.lp scroll_margin
|
|
If NetHack can, it should scroll the display when the hero or cursor
|
|
is this number of cells away from the edge of the window.
|
|
.lp selectsaved
|
|
If NetHack can, it should display a menu of existing saved games for the
|
|
player to choose from at game startup, if it can.
|
|
Not all ports support this option.
|
|
.lp softkeyboard
|
|
Display an onscreen keyboard.
|
|
Handhelds are most likely to support this option.
|
|
.lp splash_screen
|
|
If NetHack can, it should display an opening splash screen when it starts
|
|
up (default yes).
|
|
.lp statuslines
|
|
Number of lines for traditional below-the-map status display.
|
|
Acceptable values are \f(CR2\fP and \f(CR3\fP (default is \f(CR2\fP).
|
|
.lp ""
|
|
For \f(CR3\fP, the \f(CRtty\fP interface moves some fields around and
|
|
mainly shows status conditions on their own line.
|
|
A display capable of showing at least 25 lines is recommended.
|
|
The value can be toggled back and forth during the game with the \(oqO\(cq
|
|
command.
|
|
.lp ""
|
|
The \f(CRcurses\fP interface does likewise if the
|
|
.op align_status
|
|
option is set to \fItop\fP or \fIbottom\fP but ignores
|
|
.op statuslines
|
|
when set to \fIleft\fP or \fIright\fP.
|
|
.lp ""
|
|
The \f(CRQt\fP interface already displays more than 3 lines for status
|
|
so uses the
|
|
.op statuslines
|
|
value differently.
|
|
A value of \f(CR3\fP renders status in the \f(CRQt\fP interface's
|
|
original format, with the status window spread out vertically.
|
|
A value of \f(CR2\fP makes status be slightly condensed, moving some
|
|
fields to different lines to eliminate one whole line, reducing the
|
|
height needed.
|
|
For \f(CRQt\fP,
|
|
.op statuslines
|
|
can only be set in the configuration file or via NETHACKOPTIONS, not
|
|
with the \(oqO\(cq command.
|
|
.lp "term_cols\ \ \fIand\fP"
|
|
.lp term_rows
|
|
Curses interface only.
|
|
Number of columns and rows to use for the display.
|
|
Curses will attempt to resize to the values specified but will settle
|
|
for smaller sizes if they are too big.
|
|
Default is the current window size.
|
|
.lp tile_file
|
|
Specify the name of an alternative tile file to override the default.
|
|
.lp tile_height
|
|
Specify the preferred height of each tile in a tile capable port.
|
|
.lp tile_width
|
|
Specify the preferred width of each tile in a tile capable port
|
|
.lp tiled_map
|
|
If NetHack can, it should display the map using \fItiles\fP graphics
|
|
rather than simple characters (letters and punctuation, possibly
|
|
augmented by line-drawing symbols).
|
|
Setting
|
|
.op tiled_map
|
|
to \fITrue\fP forces
|
|
.op ascii_map
|
|
to be \fIFalse\fP.
|
|
.lp use_darkgray
|
|
Use bold black instead of blue for black glyphs (TTY only).
|
|
.lp use_inverse
|
|
If NetHack can, it should display inverse when the game specifies it.
|
|
.lp vary_msgcount
|
|
If NetHack can, it should display this number of messages at a time in
|
|
the message window.
|
|
.lp windowborders
|
|
Whether to draw boxes around the map, status area, message area, and
|
|
persistent inventory window if enabled.
|
|
Curses interface only.
|
|
Acceptable values are
|
|
.sd
|
|
.si
|
|
.CC 0 "off, never show borders"
|
|
.CC 1 "on, always show borders"
|
|
.CC 2 "auto, on if display is at least (24+2)x(80+2)\ \ (default)"
|
|
.ei
|
|
.ed
|
|
.lp ""
|
|
(The 26x82 size threshold for \(oq2\(cq refers to number of rows and
|
|
columns of the display.
|
|
A width of at least 110 columns (80+2+26+2) is needed for
|
|
.op align_status
|
|
set to \f(CRleft\fP or \f(CRright\fP.)
|
|
.lp windowcolors
|
|
If NetHack can, it should display windows with the specified
|
|
foreground/background colors. Windows GUI only. The format is
|
|
.si
|
|
.lp "OPTION=windowcolors:wintype foreground/background"
|
|
.ei
|
|
.pg
|
|
where wintype is one of \(lqmenu\(rq, \(lqmessage\(rq, \(lqstatus\(rq,
|
|
or \(lqtext\(rq, and
|
|
foreground and background are colors, either a hexadecimal \\'#rrggbb',
|
|
one of the named colors (black, red, green, brown,
|
|
blue, magenta, cyan, orange, brightgreen, yellow, brightblue,
|
|
brightmagenta, brightcyan, white, trueblack, gray, purple,
|
|
silver, maroon, fuchsia, lime, olive, navy, teal, aqua),
|
|
or one of Windows UI colors (activeborder, activecaption,
|
|
appworkspace, background, btnface, btnshadow, btntext,
|
|
captiontext, graytext, greytext, highlight, highlighttext,
|
|
inactiveborder, inactivecaption, menu, menutext, scrollbar,
|
|
window, windowframe, windowtext).
|
|
.lp wraptext
|
|
If NetHack can, it should wrap long lines of text if they don't fit in
|
|
the visible area of the window.
|
|
.hn 2
|
|
Platform-specific Customization options
|
|
.pg
|
|
Here are explanations of options that are used by specific platforms or ports
|
|
to customize and change the port behavior.
|
|
.lp altkeyhandler
|
|
Select an alternate keystroke handler dll to load (Win32 tty NetHack only).
|
|
The name of the handler is specified without the .dll extension and without
|
|
any path information.
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp altmeta
|
|
On Amiga, this option controls whether typing \(lqAlt\(rq plus another key
|
|
functions as a meta-shift for that key (default on).
|
|
.lp altmeta
|
|
On other (non-Amiga) systems where this option is available, it can be
|
|
set to tell NetHack to convert a two character sequence beginning with
|
|
ESC into a meta-shifted version of the second character (default off).
|
|
.lp ""
|
|
This conversion is only done for commands, not for other input prompts.
|
|
Note that typing one or more digits as a count prefix prior to a
|
|
command\(empreceded by \fBn\fP if the
|
|
.op number_pad
|
|
option is set\(emis
|
|
also subject to this conversion, so attempting to
|
|
abort the count by typing ESC will leave NetHack waiting for another
|
|
character to complete the two character sequence.
|
|
Type a second ESC to finish cancelling such a count.
|
|
At other prompts a single ESC suffices.
|
|
.lp "BIOS "
|
|
Use BIOS calls to update the screen
|
|
display quickly and to read the keyboard (allowing the use of arrow
|
|
keys to move) on machines with an IBM PC compatible BIOS ROM (default off,
|
|
OS/2, PC, and ST NetHack only).
|
|
.lp flush
|
|
(default off, Amiga NetHack only).
|
|
.lp "MACgraphics"
|
|
(default on, Mac NetHack only).
|
|
.lp page_wait
|
|
(default on, Mac NetHack only).
|
|
.lp "rawio "
|
|
Force raw (non-cbreak) mode for faster output and more
|
|
bulletproof input (MS-DOS sometimes treats \(oq\(haP\(cq as a printer toggle
|
|
without it) (default off, OS/2, PC, and ST NetHack only).
|
|
Note: DEC Rainbows hang if this is turned on.
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp subkeyvalue
|
|
(Win32 tty NetHack only).
|
|
May be used to alter the value of keystrokes that the operating system
|
|
returns to NetHack to help compensate for international keyboard issues.
|
|
OPTIONS=subkeyvalue:171/92
|
|
will return 92 to NetHack, if 171 was originally going to be returned.
|
|
You can use multiple subkeyvalue assignments in the configuration file
|
|
if needed.
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp video
|
|
Set the video mode used (PC NetHack only).
|
|
Values are \(lqautodetect\(rq, \(lqdefault\(rq, \(lqvga\(rq, or \(lqvesa\(rq.
|
|
Setting \(lqvesa\(rq will cause the game to display tiles, using the full
|
|
capability of the VGA hardware.
|
|
Setting \(lqvga\(rq will cause the game to display tiles, fixed at 640x480
|
|
in 16 colors, a mode that is compatible with all VGA hardware. Third party
|
|
tilesets will probably not work.
|
|
Setting \(lqautodetect\(rq attempts \(lqvesa\(rq, then \(lqvga\(rq, and
|
|
finally sets \(lqdefault\(rq if neither of those modes works.
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp video_height
|
|
Set the VGA mode resolution height (MS-DOS only, with video:vesa)
|
|
.lp video_width
|
|
Set the VGA mode resolution width (MS-DOS only, with video:vesa)
|
|
.lp videocolors
|
|
Set the color palette for PC systems using NO_TERMS
|
|
(default 4-2-6-1-5-3-15-12-10-14-9-13-11, (PC NetHack only).
|
|
The order of colors is red, green, brown, blue, magenta, cyan,
|
|
bright.white, bright.red, bright.green, yellow, bright.blue,
|
|
bright.magenta, and bright.cyan.
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp videoshades
|
|
Set the intensity level of the three gray scales available
|
|
(default dark normal light, PC NetHack only).
|
|
If the game display is difficult to read, try adjusting these scales;
|
|
if this does not correct the problem, try !color.
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.hn 2
|
|
Regular Expressions
|
|
.pg
|
|
Regular expressions are normally POSIX extended regular expressions. It is
|
|
possible to compile NetHack without regular expression support on a platform
|
|
where there is no regular expression library. While this is not true of any
|
|
modern platform, if your NetHack was built this way, patterns are instead glob
|
|
patterns. This applies to Autopickup exceptions, Message types, Menu colors,
|
|
and User sounds.
|
|
.hn 2
|
|
Configuring Autopickup Exceptions
|
|
.pg
|
|
You can further refine the behavior of the
|
|
.op autopickup
|
|
option beyond what is available through the
|
|
.op pickup_types
|
|
option.
|
|
.pg
|
|
By placing
|
|
.op autopickup_exception
|
|
lines in your configuration
|
|
file, you can define patterns to be checked when the game is about to
|
|
autopickup something.
|
|
.lp autopickup_exception
|
|
Sets an exception to the
|
|
.op pickup_types
|
|
option.
|
|
The
|
|
.op autopickup_exception
|
|
option should be followed by a regular expression to be used as a pattern to
|
|
match against the singular form of the description of an object at your
|
|
location.
|
|
.lp ""
|
|
In addition, some characters are treated specially if they occur as the first
|
|
character in the pattern, specifically:
|
|
.sd
|
|
.si
|
|
.CC < "always pickup an object that matches rest of pattern;"
|
|
.CC > "never pickup an object that matches rest of pattern."
|
|
.ei
|
|
.ed
|
|
The
|
|
.op autopickup_exception
|
|
rules are processed in the order in which they appear in your configuration
|
|
file, thus allowing a later rule to override an earlier rule.
|
|
.lp ""
|
|
Exceptions can be set with the \(oqO\(cq command, but because they are not
|
|
included in your configuration file, they won't be in effect if you save
|
|
and then restore your game.
|
|
.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:"
|
|
.sd
|
|
.si
|
|
autopickup_exception="<*arrow"
|
|
autopickup_exception=">*corpse"
|
|
autopickup_exception=">* cursed*"
|
|
.ei
|
|
.ed
|
|
.\" (this paragraph would look better unindented but can't use .lp hack...)
|
|
.pg
|
|
The first example above will result in autopickup of any type of arrow.
|
|
The second example results in the exclusion of any corpse from autopickup.
|
|
The last example results in the exclusion of items known to be cursed from
|
|
autopickup.
|
|
.hn 2
|
|
Changing Key Bindings
|
|
.pg
|
|
It is possible to change the default key bindings of some special commands,
|
|
menu accelerator keys, and extended commands, by using BIND stanzas in the
|
|
configuration file.
|
|
Format is key, followed by the command to bind to, separated by a colon.
|
|
The key can be a single character (\(lqx\(rq), a control key (\(lq\(haX\(rq,
|
|
\(lqC-x\(rq), a meta key (\(lqM-x\(rq), or a three-digit decimal ASCII code.
|
|
.pg
|
|
For example:
|
|
.sd
|
|
.si
|
|
BIND=\(haX:getpos.autodescribe
|
|
BIND={:menu_first_page
|
|
BIND=v:loot
|
|
.ei
|
|
.ed
|
|
.pg
|
|
.lp "Extended command keys"
|
|
You can bind multiple keys to the same extended command.
|
|
Unbind a key by using \(lqnothing\(rq as the extended command to bind to.
|
|
You can also bind the \(lq<esc>\(rq, \(lq<enter>\(rq, and \(lq<space>\(rq keys.
|
|
.lp "Menu accelerator keys"
|
|
The menu control or accelerator keys can also be rebound via OPTIONS lines
|
|
in the configuration file.
|
|
You cannot bind object symbols into menu accelerators.
|
|
.lp "Special command keys"
|
|
Below are the special commands you can rebind.
|
|
Some of them can be bound to
|
|
same keys with no problems, others are in the same \(lqcontext\(rq,
|
|
and if bound to same keys, only one of those commands will be available.
|
|
Special command can only be bound to a single key.
|
|
.pg
|
|
.lp count
|
|
Prefix key to start a count, to repeat a command this many times.
|
|
With
|
|
.op number_pad
|
|
only.
|
|
Default is \(oqn\(cq.
|
|
.lp doinv
|
|
Show inventory.
|
|
With
|
|
.op number_pad
|
|
only.
|
|
Default is \(oq0\(cq.
|
|
.lp fight
|
|
Prefix key to force fight a direction.
|
|
Default is \(oqF\(cq.
|
|
.lp fight.numpad
|
|
Prefix key to force fight a direction.
|
|
With
|
|
.op number_pad
|
|
only.
|
|
Default is \(oq\-\(cq.
|
|
.lp getdir.help
|
|
When asked for a direction, the key to show the help.
|
|
Default is \(oq?\(cq.
|
|
.lp getdir.self
|
|
When asked for a direction, the key to target yourself.
|
|
Default is \(oq.\(cq.
|
|
.lp getdir.self2
|
|
When asked for a direction, the key to target yourself.
|
|
Default is \(oqs\(cq.
|
|
.lp getpos.autodescribe
|
|
When asked for a location, the key to toggle autodescribe.
|
|
Default is \(oq#\(cq.
|
|
.lp getpos.all.next
|
|
When asked for a location, the key to go to next closest interesting thing.
|
|
Default is \(oqa\(cq.
|
|
.lp getpos.all.prev
|
|
When asked for a location, the key to go to previous closest interesting
|
|
thing.
|
|
Default is \(oqA\(cq.
|
|
.lp getpos.door.next
|
|
When asked for a location, the key to go to next closest door or doorway.
|
|
Default is \(oqd\(cq.
|
|
.lp getpos.door.prev
|
|
When asked for a location, the key to go to previous closest door or doorway.
|
|
Default is \(oqD\(cq.
|
|
.lp getpos.help
|
|
When asked for a location, the key to show help.
|
|
Default is \(oq?\(cq.
|
|
.lp getpos.mon.next
|
|
When asked for a location, the key to go to next closest monster.
|
|
Default is \(oqm\(cq.
|
|
.lp getpos.mon.prev
|
|
When asked for a location, the key to go to previous closest monster.
|
|
Default is \(oqM\(cq.
|
|
.lp getpos.obj.next
|
|
When asked for a location, the key to go to next closest object.
|
|
Default is \(oqo\(cq.
|
|
.lp getpos.obj.prev
|
|
When asked for a location, the key to go to previous closest object.
|
|
Default is \(oqO\(cq.
|
|
.lp 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 \(oq!\(cq.
|
|
.lp 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 \(oq*\(cq.
|
|
.lp 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 \(oq\(dq\(cq. \" double quote
|
|
.lp getpos.pick
|
|
When asked for a location, the key to choose the location, and possibly
|
|
ask for more info.
|
|
Default is \(oq.\(cq.
|
|
.lp getpos.pick.once
|
|
When asked for a location, the key to choose the location, and skip asking
|
|
for more info.
|
|
Default is \(oq,\(cq.
|
|
.lp 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 \(oq;\(cq.
|
|
.lp getpos.pick.verbose
|
|
When asked for a location, the key to choose the location, and show more
|
|
info without asking.
|
|
Default is \(oq:\(cq.
|
|
.lp getpos.self
|
|
When asked for a location, the key to go to your location.
|
|
Default is \(oq@\(cq.
|
|
.lp getpos.unexplored.next
|
|
When asked for a location, the key to go to next closest unexplored location.
|
|
Default is \(oqx\(cq.
|
|
.lp getpos.unexplored.prev
|
|
When asked for a location, the key to go to previous closest unexplored
|
|
location.
|
|
Default is \(oqX\(cq.
|
|
.lp getpos.valid
|
|
When asked for a location, the key to go to show valid target locations.
|
|
Default is \(oq$\(cq.
|
|
.lp getpos.valid.next
|
|
When asked for a location, the key to go to next closest valid location.
|
|
Default is \(oqz\(cq.
|
|
.lp getpos.valid.prev
|
|
When asked for a location, the key to go to previous closest valid location.
|
|
Default is \(oqZ\(cq.
|
|
.lp nopickup
|
|
Prefix key to move without picking up items.
|
|
Default is \(oqm\(cq.
|
|
.lp redraw
|
|
Key to redraw the screen.
|
|
Default is \(oq\(haR\(cq.
|
|
.lp redraw.numpad
|
|
Key to redraw the screen.
|
|
With
|
|
.op number_pad
|
|
only.
|
|
Default is \(oq\(haL\(cq.
|
|
.lp repeat
|
|
Key to repeat previous command.
|
|
Default is \(oq\(haA\(cq.
|
|
.lp reqmenu
|
|
Prefix key to request menu from some commands.
|
|
Default is \(oqm\(cq.
|
|
.lp run
|
|
Prefix key to run towards a direction.
|
|
Default is \(oqG\(cq.
|
|
.lp run.nopickup
|
|
Prefix key to run towards a direction without picking up items on the way.
|
|
Default is \(oqM\(cq.
|
|
.lp run.numpad
|
|
Prefix key to run towards a direction.
|
|
With
|
|
.op number_pad
|
|
only.
|
|
.lp ""
|
|
Default is \(oq5\(cq when number_pad is set to 1 or 3,
|
|
otherwise \(oqM-5\(cq when it is set to 2 or 4.
|
|
.lp rush
|
|
Prefix key to rush towards a direction.
|
|
Default is \(oqg\(cq.
|
|
.lp rush.numpad
|
|
Prefix key to rush towards a direction.
|
|
With
|
|
.op number_pad
|
|
only.
|
|
.lp ""
|
|
Default is \(oqM-5\(cq when number_pad is set to 1 or 3,
|
|
otherwise \(oq5\(cq when it is set to 2 or 4.
|
|
.hn 2
|
|
Configuring Message Types
|
|
.pg
|
|
You can change the way the messages are shown in the message area, when
|
|
the message matches a user-defined pattern.
|
|
.pg
|
|
In general, the configuration file entries to describe the message types
|
|
look like this:
|
|
.si
|
|
MSGTYPE=type "pattern"
|
|
.ei
|
|
.PS "pattern"
|
|
.PL type
|
|
how the message should be shown;
|
|
.PL pattern
|
|
the pattern to match.
|
|
.PE
|
|
.lp ""
|
|
The pattern should be a regular expression.
|
|
.lp ""
|
|
Allowed types are:
|
|
.PS "norep"
|
|
.PL show
|
|
show message normally;
|
|
.PL hide
|
|
never show the message;
|
|
.PL stop
|
|
wait for user with more-prompt;
|
|
.PL norep
|
|
show the message once, but not again if no other message is shown in between.
|
|
.PE
|
|
.lp ""
|
|
Here's an example of message types using NetHack's internal
|
|
pattern matching facility:
|
|
.sd
|
|
.si
|
|
MSGTYPE=stop "You feel hungry."
|
|
MSGTYPE=hide "You displaced *."
|
|
.ei
|
|
.ed
|
|
specifies that whenever a message \(lqYou feel hungry\(rq is shown,
|
|
the user is prompted with more-prompt, and a message matching
|
|
\(lqYou displaced <something>.\(rq is not shown at all.
|
|
.\" historical trivia: "You displaced Fido." was the sort of message you
|
|
.\" got when swapping places with your pet, but that was changed long ago...
|
|
.lp ""
|
|
The order of the defined MSGTYPE lines is important; the last matching
|
|
rule is used. Put the general case first, exceptions below them.
|
|
.hn 2
|
|
Configuring Menu Colors
|
|
.pg
|
|
Some platforms allow you to define colors used in menu lines when the
|
|
line matches a user-defined pattern.
|
|
At this time the tty, curses, win32tty and
|
|
win32gui interfaces support this.
|
|
.pg
|
|
In general, the configuration file entries to describe the menu color mappings
|
|
look like this:
|
|
.si
|
|
.lp MENUCOLOR="pattern"=color&attribute
|
|
.ei
|
|
.PS "menu color"
|
|
.PL pattern
|
|
the pattern to match;
|
|
.PL color
|
|
the color to use for lines matching the pattern;
|
|
.PL attribute
|
|
the attribute to use for lines matching the pattern. The attribute is
|
|
optional, and if left out, you must also leave out the preceding ampersand.
|
|
If no attribute is defined, no attribute is used.
|
|
.PE
|
|
.lp ""
|
|
The pattern should be a regular expression.
|
|
.lp ""
|
|
Allowed colors are black, red, green, brown, blue, magenta, cyan, gray,
|
|
orange, light-green, yellow, light-blue, light-magenta, light-cyan, and white.
|
|
And \f(CRno-color\fP, the default foreground color, which isn't necessarily
|
|
the same as any of the other colors.
|
|
.lp ""
|
|
Allowed attributes are none, bold, dim, underline, blink, and inverse.
|
|
\(lqNormal\(rq is a synonym for \(lqnone\(rq.
|
|
Note that the platform used may interpret the attributes any way it
|
|
wants.
|
|
.lp ""
|
|
Here's an example of menu colors using NetHack's internal
|
|
pattern matching facility:
|
|
.sd
|
|
.si
|
|
MENUCOLOR="* blessed *"=green
|
|
MENUCOLOR="* cursed *"=red
|
|
MENUCOLOR="* cursed *(being worn)"=red&underline
|
|
.ei
|
|
.ed
|
|
.\" note backslash-quoted spaces to prevent line breaks within " word "
|
|
specifies that any menu line with \(lq\ blessed\ \(rq contained
|
|
in it will be shown in green color, lines with \(lq\ cursed\ \(rq will be
|
|
shown in red, and lines with \(lq\ cursed\ \(rq followed
|
|
by \(lq(being worn)\(rq
|
|
on the same line will be shown in red color and underlined.
|
|
You can have multiple MENUCOLOR entries in your configuration file,
|
|
and the last MENUCOLOR line that matches
|
|
a menu line will be used for the line.
|
|
.pg
|
|
Note that if you intend to have one or more color specifications match
|
|
\(lq\ uncursed\ \(rq, you will probably want to turn the
|
|
.op implicit_uncursed
|
|
option off so that all items known to be uncursed are actually
|
|
displayed with the \(lquncursed\(rq description.
|
|
.hn 2
|
|
Configuring User Sounds
|
|
.pg
|
|
Some platforms allow you to define sound files to be played when a message
|
|
that matches a user-defined pattern is delivered to the message window.
|
|
At this time the Qt port and the win32tty and win32gui ports support the
|
|
use of user sounds.
|
|
.pg
|
|
The following configuration file entries are relevant to mapping user sounds
|
|
to messages:
|
|
.lp SOUNDDIR
|
|
The directory that houses the sound files to be played.
|
|
.lp SOUND
|
|
An entry that maps a sound file to a user-specified message pattern.
|
|
Each SOUND entry is broken down into the following parts:
|
|
.PS "sound index"
|
|
.PL MESG
|
|
message window mapping (the only one supported in 3.6);
|
|
.PL pattern
|
|
the pattern to match;
|
|
.PL "sound file"
|
|
the sound file to play;
|
|
.PL volume
|
|
the volume to be set while playing the sound file;
|
|
.PL "sound index"
|
|
optional; the index corresponding to a sound file.
|
|
.PE
|
|
.lp ""
|
|
The pattern should be a POSIX extended regular expression.
|
|
.pg
|
|
.hn 2
|
|
Configuring Status Hilites
|
|
.pg
|
|
Your copy of NetHack may have been compiled with support for
|
|
\(lqStatus Hilites\(rq.
|
|
If so, you can customize your game display by setting thresholds to
|
|
change the color or appearance of fields in the status display.
|
|
.pg
|
|
The format for defining status colors is:
|
|
.SD n
|
|
\f(CROPTION=hilite_status:\fIfield-name\fP/\fIbehavior\fP/\fIcolor\fP&\fIattributes\fP\fP
|
|
.ED
|
|
.pg
|
|
For example, the following line in your configuration file will cause
|
|
the hitpoints field to display in the color red if your hitpoints
|
|
drop to or below a threshold of 30%:
|
|
.SD n
|
|
\f(CROPTION=hilite_status:hitpoints/<=30%/red/normal\fP
|
|
.ED
|
|
(That example is actually specifying \f(CRred&normal\fP for <=30%
|
|
and \f(CRno-color&normal\fP for >30%.)
|
|
.pg
|
|
For another example, the following line in your configuration file will cause
|
|
wisdom to be displayed red if it drops and green if it rises:
|
|
.SD n
|
|
\f(CROPTION=hilite_status:wisdom/down/red/up/green\fP
|
|
.ED
|
|
.pg
|
|
Allowed colors are black, red, green, brown, blue, magenta, cyan, gray,
|
|
orange, light-green, yellow, light-blue, light-magenta, light-cyan, and white.
|
|
And \(lqno-color\(rq, the default foreground color on the display, which
|
|
is not necessarily the same as black or white or any of the other colors.
|
|
.pg
|
|
Allowed attributes are none, bold, dim, underline, blink, and inverse.
|
|
\(lqNormal\(rq is a synonym for \(lqnone\(rq; they should not be used in
|
|
combination with any of the other attributes.
|
|
.pg
|
|
To specify both a color and an attribute, use \(oq&\(cq to combine them.
|
|
To specify multiple attributes, use \(oq+\(cq to combine those.
|
|
For example: \(lqmagenta&inverse+dim\(rq.
|
|
.pg
|
|
Note that the display may substitute or ignore particular attributes
|
|
depending upon its capabilities, and in general may interpret the
|
|
attributes any way it wants.
|
|
For example, on some display systems a request for bold might yield
|
|
blink or vice versa.
|
|
On others, issuing an attribute request while another is already
|
|
set up will replace the earlier attribute rather than combine with it.
|
|
Since NetHack issues attribute requests sequentially (at least with
|
|
the \f(CRtty\fP interface) rather than all at once, the only way a
|
|
situation like that can be controlled is to specify just one attribute.
|
|
.pg
|
|
You can adjust the appearance of the following status fields:
|
|
.TS S
|
|
center;
|
|
c c c.
|
|
.\"TABLE_START
|
|
title dungeon-level experience-level
|
|
strength gold experience
|
|
dexterity hitpoints HD
|
|
constitution hitpoints-max time
|
|
intelligence power hunger
|
|
wisdom power-max carrying-capacity
|
|
charisma armor-class condition
|
|
alignment score
|
|
.\"TABLE_END Do not delete this line.
|
|
.TE
|
|
.lp ""
|
|
The pseudo-field \(lqcharacteristics\(rq can be used to set all six
|
|
of Str, Dex, Con, Int, Wis, and Cha at once. \(lqHD\(rq is \(lqhit dice\(rq,
|
|
an approximation of experience level displayed when polymorphed.
|
|
\(lqexperience\(rq, \(lqtime\(rq, and \(lqscore\(rq are conditionally
|
|
displayed depending upon your other option settings.
|
|
.lp ""
|
|
Instead of a behavior, \(lqcondition\(rq takes the following condition flags:
|
|
stone, slime, strngl, foodpois, termill, blind, deaf, stun, conf, hallu,
|
|
lev, fly, and ride.
|
|
You can use \(lqmajor_troubles\(rq as an alias
|
|
for stone through termill, \(lqminor_troubles\(rq for blind through hallu,
|
|
\(lqmovement\(rq for lev, fly, and ride, and \(lqall\(rq for every condition.
|
|
.lp ""
|
|
Allowed behaviors are \(lqalways\(rq, \(lqup\(rq, \(lqdown\(rq,
|
|
\(lqchanged\(rq, a percentage or absolute number threshold, or
|
|
text to match against.
|
|
.si
|
|
.lp "*"
|
|
\(lqalways\(rq will set the default attributes for that field.
|
|
.lp "*"
|
|
\(lqup\(rq, \(lqdown\(rq set the field attributes for when the field
|
|
value changes upwards or downwards.
|
|
This attribute times out after
|
|
.op statushilites
|
|
turns.
|
|
.lp "*"
|
|
\(lqchanged\(rq sets the field attribute for when the field value changes.
|
|
This attribute times out after
|
|
.op statushilites
|
|
turns.
|
|
(If a field has both a \(lqchanged\(rq rule and an \(lqup\(rq or \(lqdown\(rq
|
|
rule which matches a change in the field's value,
|
|
the \(lqup\(rq or \(lqdown\(rq one takes precedence.)
|
|
.lp "*"
|
|
percentage sets the field attribute when the field value
|
|
matches the percentage.
|
|
It is specified as a number between 0 and 100, followed by \(oq%\(cq
|
|
(percent sign).
|
|
If the percentage is prefixed with \(oq<=\(cq or \(oq>=\(cq,
|
|
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 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.
|
|
The number must be 0 or higher, except for \(lqarmor-class\(cq which
|
|
allows negative values, and may optionally be preceded by \(oq=\(cq.
|
|
If the number is preceded by \(oq<=\(cq or \(oq>=\(cq instead,
|
|
it also matches when value is below or above.
|
|
If the prefix is \(oq<\(cq or \(oq>\(cq, only match when strictly
|
|
above or below.
|
|
.lp "*"
|
|
text match sets the attribute when the field value
|
|
matches the text.
|
|
Text matches can only be used for \(lqalignment\(rq,
|
|
\(lqcarrying-capacity\(rq, \(lqhunger\(rq, \(lqdungeon-level\(rq,
|
|
and \(lqtitle\(rq.
|
|
For title, only the role's rank title
|
|
is tested; the character's name is ignored.
|
|
.ei
|
|
.pg
|
|
The in-game options menu can help you determine the correct syntax for a
|
|
configuration file.
|
|
.pg
|
|
The whole feature can be disabled by setting option
|
|
.op statushilites
|
|
to 0.
|
|
.pg
|
|
Example hilites:
|
|
.sd
|
|
.si
|
|
OPTION=hilite_status: gold/up/yellow/down/brown
|
|
OPTION=hilite_status: characteristics/up/green/down/red
|
|
OPTION=hilite_status: hitpoints/100%/gray&normal
|
|
OPTION=hilite_status: hitpoints/<100%/green&normal
|
|
OPTION=hilite_status: hitpoints/<66%/yellow&normal
|
|
OPTION=hilite_status: hitpoints/<50%/orange&normal
|
|
OPTION=hilite_status: hitpoints/<33%/red&bold
|
|
OPTION=hilite_status: hitpoints/<15%/red&inverse
|
|
OPTION=hilite_status: condition/major/orange&inverse
|
|
OPTION=hilite_status: condition/lev+fly/red&inverse
|
|
.ei
|
|
.ed
|
|
.pg
|
|
.hn 2
|
|
Modifying NetHack Symbols
|
|
.pg
|
|
NetHack can load entire symbol sets from the symbol file.
|
|
.pg
|
|
The options that are used to select a particular symbol set from the
|
|
symbol file are:
|
|
.lp symset
|
|
Set the name of the symbol set that you want to load.
|
|
.lp roguesymset
|
|
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 and
|
|
ROGUESYMBOLS configuration 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.
|
|
Thus \\ needs to be represented as \\\\.
|
|
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;
|
|
l s s
|
|
l1fCR l1 l.
|
|
.\"TABLE_START
|
|
NetHack Symbols
|
|
\ \ Symbol Name Description
|
|
\_ \_ \_
|
|
\ S_air (air)
|
|
\&_ S_altar (altar)
|
|
\(dq S_amulet (amulet)
|
|
A S_angel (angelic being)
|
|
a S_ant (ant or other insect)
|
|
\(ha S_anti_magic_trap (anti-magic field)
|
|
[ S_armor (suit or piece of armor)
|
|
[ S_armour (suit or piece of armor)
|
|
\(ha S_arrow_trap (arrow trap)
|
|
0 S_ball (iron ball)
|
|
# S_bars (iron bars)
|
|
B S_bat (bat or bird)
|
|
\(ha S_bear_trap (bear trap)
|
|
\- S_blcorn (bottom left corner)
|
|
b S_blob (blob)
|
|
+ S_book (spellbook)
|
|
) S_boomleft (boomerang open left)
|
|
( S_boomright (boomerang open right)
|
|
\` S_boulder (boulder)
|
|
\- S_brcorn (bottom right corner)
|
|
C S_centaur (centaur)
|
|
\&_ S_chain (iron chain)
|
|
# S_cloud (cloud)
|
|
c S_cockatrice (cockatrice)
|
|
$ S_coin (pile of coins)
|
|
# S_corr (corridor)
|
|
\- S_crwall (wall)
|
|
# S_darkroom (dark room)
|
|
\(ha S_dart_trap (dart trap)
|
|
& S_demon (major demon)
|
|
* S_digbeam (dig beam)
|
|
> S_dnladder (ladder down)
|
|
> S_dnstair (staircase down)
|
|
d S_dog (dog or other canine)
|
|
D S_dragon (dragon)
|
|
; S_eel (sea monster)
|
|
E S_elemental (elemental)
|
|
/ S_explode1 (explosion top left)
|
|
\- S_explode2 (explosion top center)
|
|
\\ S_explode3 (explosion top right)
|
|
| S_explode4 (explosion middle left)
|
|
\ S_explode5 (explosion middle center)
|
|
| S_explode6 (explosion middle right)
|
|
\\ S_explode7 (explosion bottom left)
|
|
\- S_explode8 (explosion bottom center)
|
|
/ S_explode9 (explosion bottom right)
|
|
e S_eye (eye or sphere)
|
|
\(ha S_falling_rock_trap (falling rock trap)
|
|
f S_feline (cat or other feline)
|
|
\(ha S_fire_trap (fire trap)
|
|
! S_flashbeam (flash beam)
|
|
% S_food (piece of food)
|
|
{ S_fountain (fountain)
|
|
F S_fungus (fungus or mold)
|
|
* S_gem (gem or rock)
|
|
\ S_ghost (ghost)
|
|
H S_giant (giant humanoid)
|
|
G S_gnome (gnome)
|
|
\' S_golem (golem)
|
|
| S_grave (grave)
|
|
g S_gremlin (gremlin)
|
|
\- S_hbeam (horizontal beam [zap animation])
|
|
# S_hcdbridge (horizontal raised drawbridge)
|
|
+ S_hcdoor (closed door in horizontal wall)
|
|
\. S_hodbridge (horizontal lowered drawbridge)
|
|
| S_hodoor (open door in horizontal wall)
|
|
\(ha S_hole (hole)
|
|
@ S_human (human or elf)
|
|
h S_humanoid (humanoid)
|
|
\- S_hwall (horizontal wall)
|
|
\. S_ice (ice)
|
|
i S_imp (imp or minor demon)
|
|
I S_invisible (invisible monster)
|
|
J S_jabberwock (jabberwock)
|
|
j S_jelly (jelly)
|
|
k S_kobold (kobold)
|
|
K S_kop (Keystone Kop)
|
|
\(ha S_land_mine (land mine)
|
|
} S_lava (molten lava)
|
|
l S_leprechaun (leprechaun)
|
|
\(ha S_level_teleporter (level teleporter)
|
|
L S_lich (lich)
|
|
y S_light (light)
|
|
# S_litcorr (lit corridor)
|
|
: S_lizard (lizard)
|
|
\\ S_lslant (diagonal beam [zap animation])
|
|
\(ha S_magic_portal (magic portal)
|
|
\(ha S_magic_trap (magic trap)
|
|
m S_mimic (mimic)
|
|
] S_mimic_def (mimic)
|
|
M S_mummy (mummy)
|
|
N S_naga (naga)
|
|
\. S_ndoor (doorway without door)
|
|
n S_nymph (nymph)
|
|
O S_ogre (ogre)
|
|
o S_orc (orc)
|
|
p S_piercer (piercer)
|
|
\(ha S_pit (pit)
|
|
# S_poisoncloud (poison cloud)
|
|
\(ha S_polymorph_trap (polymorph trap)
|
|
} S_pool (water)
|
|
! S_potion (potion)
|
|
P S_pudding (pudding or ooze)
|
|
q S_quadruped (quadruped)
|
|
Q S_quantmech (quantum mechanic)
|
|
\&= S_ring (ring)
|
|
\` S_rock (boulder or statue)
|
|
r S_rodent (rodent)
|
|
\(ha S_rolling_boulder_trap (rolling boulder trap)
|
|
\. S_room (floor of a room)
|
|
/ S_rslant (diagonal beam [zap animation])
|
|
\(ha S_rust_trap (rust trap)
|
|
R S_rustmonst (rust monster or disenchanter)
|
|
? S_scroll (scroll)
|
|
# S_sink (sink)
|
|
\(ha S_sleeping_gas_trap (sleeping gas trap)
|
|
S S_snake (snake)
|
|
s S_spider (arachnid or centipede)
|
|
\(ha S_spiked_pit (spiked pit)
|
|
\(ha S_squeaky_board (squeaky board)
|
|
0 S_ss1 (magic shield 1 of 4)
|
|
# S_ss2 (magic shield 2 of 4)
|
|
@ S_ss3 (magic shield 3 of 4)
|
|
* S_ss4 (magic shield 4 of 4)
|
|
\(ha S_statue_trap (statue trap)
|
|
\ S_stone (solid rock)
|
|
] S_strange_obj (strange object)
|
|
\- S_sw_bc (swallow bottom center)
|
|
\\ S_sw_bl (swallow bottom left)
|
|
/ S_sw_br (swallow bottom right)
|
|
| S_sw_ml (swallow middle left)
|
|
| S_sw_mr (swallow middle right)
|
|
\- S_sw_tc (swallow top center)
|
|
/ S_sw_tl (swallow top left)
|
|
\\ S_sw_tr (swallow top right)
|
|
\- S_tdwall (wall)
|
|
\(ha S_teleportation_trap (teleportation trap)
|
|
\\ S_throne (opulent throne)
|
|
\- S_tlcorn (top left corner)
|
|
| S_tlwall (wall)
|
|
( S_tool (useful item (pick-axe, key, lamp...))
|
|
\(ha S_trap_door (trap door)
|
|
t S_trapper (trapper or lurker above)
|
|
\- S_trcorn (top right corner)
|
|
# S_tree (tree)
|
|
T S_troll (troll)
|
|
| S_trwall (wall)
|
|
\- S_tuwall (wall)
|
|
U S_umber (umber hulk)
|
|
\ S_unexplored (unexplored terrain)
|
|
u S_unicorn (unicorn or horse)
|
|
< S_upladder (ladder up)
|
|
< S_upstair (staircase up)
|
|
V S_vampire (vampire)
|
|
| S_vbeam (vertical beam [zap animation])
|
|
# S_vcdbridge (vertical raised drawbridge)
|
|
+ S_vcdoor (closed door in vertical wall)
|
|
\. S_venom (splash of venom)
|
|
\(ha S_vibrating_square (vibrating square)
|
|
\. S_vodbridge (vertical lowered drawbridge)
|
|
\- S_vodoor (open door in vertical wall)
|
|
v S_vortex (vortex)
|
|
| S_vwall (vertical wall)
|
|
/ S_wand (wand)
|
|
} S_water (water)
|
|
) S_weapon (weapon)
|
|
\(dq S_web (web)
|
|
w S_worm (worm)
|
|
\(ti S_worm_tail (long worm tail)
|
|
W S_wraith (wraith)
|
|
x S_xan (xan or other extraordinary insect)
|
|
X S_xorn (xorn)
|
|
Y S_yeti (apelike creature)
|
|
Z S_zombie (zombie)
|
|
z S_zruty (zruty)
|
|
\ S_pet_override (any pet if ACCESSIBILITY=1 is set)
|
|
\ S_hero_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
|
|
.lp "Notes:"
|
|
.lp "*"
|
|
Several symbols in this table appear to be blank.
|
|
They are the space character, except for S_pet_override
|
|
and S_hero_override which don't have any default value
|
|
and can only be used if enabled in the \(lqsysconf\(rq file.
|
|
.lp "*"
|
|
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
|
|
.pg
|
|
NetHack can be set up to use only standard ASCII characters for making
|
|
maps of the dungeons. This makes the MS-DOS versions of NetHack completely
|
|
accessible to the blind who use speech and/or Braille access technologies.
|
|
Players will require a good working knowledge of their screen-reader's
|
|
review features, and will have to know how to navigate horizontally and
|
|
vertically character by character. They will also find the search
|
|
capabilities of their screen-readers to be quite valuable. Be certain to
|
|
examine this Guidebook before playing so you have an idea what the screen
|
|
layout is like. You'll also need to be able to locate the PC cursor. It is
|
|
always where your character is located. Merely searching for an @-sign will
|
|
not always find your character since there are other humanoids represented
|
|
by the same sign. Your screen-reader should also have a function which
|
|
gives you the row and column of your review cursor and the PC cursor.
|
|
These co-ordinates are often useful in giving players a better sense of the
|
|
overall location of items on the screen.
|
|
.pg
|
|
NetHack can also be compiled with support for sending the game messages
|
|
to an external program, such as a text-to-speech synthesizer.
|
|
If the \(lq#version\(rq extended command shows \(lqexternal program as a
|
|
message handler\(rq, your NetHack has been compiled with the capability.
|
|
When compiling NetHack from source on Linux and other POSIX systems,
|
|
define MSGHANDLER to enable it.
|
|
To use
|
|
the capability, set the environment variable NETHACK_MSGHANDLER to an
|
|
executable, which will be executed with the game message as the program's
|
|
only parameter.
|
|
.pg
|
|
While it is not difficult for experienced users to edit the \fBdefaults.nh\fP
|
|
file to accomplish this, novices may find this task somewhat daunting.
|
|
Included within the \(lqsymbols\(rq file of all official distributions
|
|
of NetHack is a symset called \fBNHAccess\fP.
|
|
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 \fBSYMBOLS=\fP
|
|
and \fBROGUESYMBOLS=\fP
|
|
in your configuration file to better suit your preferences.
|
|
See the previous section for the special symbols S_pet_override
|
|
to force a consistent symbol for all pets and
|
|
S_hero_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.
|
|
.lp roguesymset:NHAccess
|
|
Load a symbol set for the rogue level that is appropriate for
|
|
use by blind players.
|
|
.lp menustyle:traditional
|
|
This will assist in the interface to speech synthesizers.
|
|
.lp nomenu_overlay
|
|
Show menus on a cleared screen and aligned to the left edge.
|
|
.lp number_pad
|
|
A lot of speech access programs use the number-pad to review the screen.
|
|
If this is the case, disable the
|
|
.op number_pad
|
|
option and use the traditional
|
|
Rogue-like commands.
|
|
.lp autodescribe
|
|
Automatically describe the terrain under the cursor when targeting.
|
|
.lp mention_walls
|
|
Give feedback messages when walking towards a wall or when travel command
|
|
was interrupted.
|
|
.lp whatis_coord:compass
|
|
When targeting with cursor, describe the cursor position with coordinates
|
|
relative to your character.
|
|
.lp whatis_filter:area
|
|
When targeting with cursor, filter possible locations so only those in
|
|
the same area (eg. same room, or same corridor) are considered.
|
|
.lp whatis_moveskip
|
|
When targeting with cursor and using fast-move, skip the same glyphs instead
|
|
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 \(lq#attributes\(rq command.
|
|
.hn 2
|
|
Global Configuration for System Administrators
|
|
.pg
|
|
If NetHack is compiled with the SYSCF option, a system administrator
|
|
should set up a global configuration; this is a file in the
|
|
same format as the traditional per-user configuration file (see above).
|
|
This file should be named sysconf and placed in the same directory as
|
|
the other NetHack support files.
|
|
The options recognized in this file are listed below. Any option not
|
|
set uses a compiled-in default (which may not be appropriate for your
|
|
system).
|
|
.pg
|
|
.\" '\ =\ Word' follow each option name with space+equals+space+first
|
|
.\" word of sentence in a way that won't have spaces inserted
|
|
.\" there if that line is padded from left to right;
|
|
.\" essentially, "OPTION = Word" becomes one token as far
|
|
.\" as filling and justifying are concerned
|
|
.lp
|
|
WIZARDS\ =\ A space-separated list of user names who are allowed to
|
|
play in debug mode (commonly referred to as wizard mode).
|
|
A value of a single
|
|
asterisk (*) allows anyone to start a game in debug mode.
|
|
.lp
|
|
SHELLERS\ =\ A list of users who are allowed to use the shell
|
|
escape command (!). The syntax is the same as WIZARDS.
|
|
.lp
|
|
EXPLORERS\ =\ A list of users who are allowed to use the explore mode.
|
|
The syntax is the same as WIZARDS.
|
|
.lp
|
|
MAXPLAYERS\ =\ Limit the maximum number of games that can be running
|
|
at the same time.
|
|
.lp
|
|
SAVEFORMAT\ =\ A list of up to two save file formats separated by space.
|
|
The first format in the list will written as well as read. The second format
|
|
will be read only if no save file in the first format exists.
|
|
Valid choices are \(lqhistorical\(rq for binary writing of entire structs,
|
|
\(lqlendian\(rq for binary writing of each field in little-endian order,
|
|
\(lqascii\(rq for writing the save file content in ascii text.
|
|
.lp
|
|
BONESFORMAT\ =\ A list of up to two bones file formats separated by space.
|
|
The first format in the list will written as well as read. The second format
|
|
will be read only if no bones files in the first format exist.
|
|
Valid choices are \(lqhistorical\(rq for binary writing of entire structs,
|
|
\(lqlendian\(rq for binary writing of each field in little-endian order,
|
|
\(lqascii\(rq for writing the bones file content in ascii text.
|
|
.lp
|
|
SUPPORT\ =\ A string explaining how to get local support (no default value).
|
|
.lp
|
|
RECOVER\ =\ A string explaining how to recover a game on this system
|
|
(no default value).
|
|
.lp
|
|
SEDUCE\ =\ 0 or 1 to disable or enable, respectively, the SEDUCE option.
|
|
When disabled, incubi and succubi behave like nymphs.
|
|
.lp
|
|
CHECK_PLNAME\ =\ Setting this to 1 will make the EXPLORERS, WIZARDS, and
|
|
SHELLERS check for the player name instead of the user's login name.
|
|
.lp
|
|
CHECK_SAVE_UID\ =\ 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).
|
|
.pg
|
|
The following options affect the score file:
|
|
.pg
|
|
.lp
|
|
PERSMAX\ =\ Maximum number of entries for one person.
|
|
.lp
|
|
ENTRYMAX\ =\ Maximum number of entries in the score file.
|
|
.lp
|
|
POINTSMIN\ =\ Minimum number of points to get an entry in the score file.
|
|
.lp
|
|
PERS_IS_UID\ =\ 0 or 1 to use user names or numeric userids, respectively,
|
|
to identify unique people for the score file.
|
|
.lp
|
|
MAX_STATUENAME_RANK\ =\ Maximum number of score file entries to use for
|
|
random statue names (default is 10).
|
|
.lp
|
|
ACCESSIBILITY\ =\ 0 or 1 to disable or enable, respectively, the ability for players
|
|
to set S_pet_override and S_hero_override symbols in their configuration file.
|
|
.lp
|
|
PORTABLE_DEVICE_PATHS\ =\ 0 or 1 Windows OS only, the game will look
|
|
for all of its external files, and write to all of its output files in one place
|
|
rather than at the standard locations.
|
|
.lp
|
|
DUMPLOGFILE\ =\ A filename where the end-of-game dumplog is saved.
|
|
Not defining this will prevent dumplog from being created. Only available
|
|
if your game is compiled with DUMPLOG. Allows the following placeholders:
|
|
.\" note: %M is not an entry in the table, but 'M' is the widest letter
|
|
.PS %M
|
|
.\" \f(CR = set font to constant-width Roman; approximation of {\tt ...} in TeX
|
|
.PL %%
|
|
literal \(oq\f(CR%\fP\(cq
|
|
.PL %v
|
|
version (eg. \(lq\f(CR3.6.3\-0\fP\(rq)
|
|
.PL %u
|
|
game UID
|
|
.PL %t
|
|
game start time, UNIX timestamp format
|
|
.PL %T
|
|
current time, UNIX timestamp format
|
|
.PL %d
|
|
game start time, YYYYMMDDhhmmss format
|
|
.PL %D
|
|
current time, YYYYMMDDhhmmss format
|
|
.PL %n
|
|
player name
|
|
.PL %N
|
|
first character of player name
|
|
.PE
|
|
.
|
|
.hn 1
|
|
Scoring
|
|
.pg
|
|
NetHack maintains a list of the top scores or scorers on your machine,
|
|
depending on how it is set up. In the latter case, each account on
|
|
the machine can post only one non-winning score on this list. If
|
|
you score higher than someone else on this list, or better your
|
|
previous score, you will be inserted in the proper place under your
|
|
current name. How many scores are kept can also be set up when
|
|
NetHack is compiled.
|
|
.pg
|
|
Your score is chiefly based upon how much experience you gained, how
|
|
much loot you accumulated, how deep you explored, and how the game
|
|
ended. If you quit the game, you escape with all of your gold intact.
|
|
If, however, you get killed in the Mazes of Menace, the guild will
|
|
only hear about 90% of your gold when your corpse is discovered
|
|
(adventurers have been known to collect finder's fees). So, consider
|
|
whether you want to take one last hit at that monster and possibly
|
|
live, or quit and stop with whatever you have. If you quit, you keep
|
|
all your gold, but if you swing and live, you might find more.
|
|
.pg
|
|
If you just want to see what the current top players/games list is, you
|
|
can type \fBnethack \-s all\fP on most versions.
|
|
.
|
|
.hn 1
|
|
Explore mode
|
|
.pg
|
|
NetHack is an intricate and difficult game.
|
|
Novices might falter
|
|
in fear, aware of their ignorance of the means to survive.
|
|
Well, fear not.
|
|
Your dungeon comes equipped with an \(lqexplore\(rq or \(lqdiscovery\(rq
|
|
mode that enables you to keep old save files and cheat death, at the
|
|
paltry cost of not getting on the high score list.
|
|
.pg
|
|
There are two ways of enabling explore mode.
|
|
One is to start the game with the
|
|
.op \-X
|
|
command-line switch or with the
|
|
.op playmode:explore
|
|
option.
|
|
The other is to issue the \(lq#exploremode\(rq extended command while
|
|
already playing the game.
|
|
Starting a new game in explore mode provides your
|
|
character with a wand of wishing in initial inventory; switching
|
|
during play does not.
|
|
The other benefits of explore mode are left for
|
|
the trepid reader to discover.
|
|
.pg
|
|
.hn 2
|
|
Debug mode
|
|
.pg
|
|
Debug mode, also known as wizard mode, is undocumented aside from this
|
|
brief description and the various \(lqdebug mode only\(rq commands listed
|
|
among the command descriptions.
|
|
It is intended for tracking down problems within the
|
|
program rather than to provide god-like powers to your character, and
|
|
players who attempt debugging are expected to figure out how to use it
|
|
themselves.
|
|
It is initiated by starting the game with the
|
|
.op \-D
|
|
command-line switch or with the
|
|
.op playmode:debug
|
|
option.
|
|
.pg
|
|
For some systems, the player must be logged in
|
|
under a particular user name to be allowed to use debug mode; for others,
|
|
the hero must be given a particular character name (but may be any role;
|
|
there's no connection between \(lqwizard mode\(rq and the Wizard role).
|
|
Attempting to start a game in debug mode when not allowed
|
|
or not available will result in falling back to explore mode instead.
|
|
.
|
|
.hn
|
|
Credits
|
|
.pg
|
|
The original \fIhack\fP game was modeled on the Berkeley
|
|
.UX
|
|
\fIrogue\fP game. Large portions of this document were shamelessly
|
|
cribbed from \fIA Guide to the Dungeons of Doom\fP, by Michael C. Toy
|
|
and Kenneth C. R. C. Arnold. Small portions were adapted from
|
|
\fIFurther Exploration of the Dungeons of Doom\fP, by Ken Arromdee.
|
|
.pg
|
|
NetHack is the product of literally scores of people's work.
|
|
Main events in the course of the game development are described below:
|
|
.
|
|
.pg
|
|
\fBJay Fenlason\fP wrote the original Hack, with help from
|
|
\fBKenny Woodland\fP, \fBMike Thome\fP, and \fBJon Payne\fP.
|
|
.pg
|
|
\fBAndries Brouwer\fP did a major re-write while at
|
|
Stichting Mathematisch Centrum (now Centrum Wiskunde & Informatica),
|
|
transforming Hack into a very different game.
|
|
He published the Hack source code for use on
|
|
.UX
|
|
systems by posting that to Usenet
|
|
newsgroup \fInet.sources\fP (later renamed \fIcomp.sources\fP)
|
|
releasing version 1.0 in December of 1984, then versions 1.0.1, 1.0.2,
|
|
and finally 1.0.3 in July of 1985.
|
|
Usenet newsgroup \fInet.games.hack\fP (later
|
|
renamed \fIrec.games.hack\fP, eventually replaced
|
|
by \fIrec.games.roguelike.nethack\fP)
|
|
was created for discussing it.
|
|
.pg
|
|
\fBDon G. Kneller\fP ported Hack 1.0.3 to Microsoft C and MS-DOS, producing PC
|
|
HACK 1.01e, added support for DEC Rainbow graphics in version 1.03g, and went
|
|
on to produce at least four more versions (3.0, 3.2, 3.51, and 3.6;
|
|
note that these are old Hack version numbers, not contemporary NetHack ones).
|
|
.pg
|
|
\fBR. Black\fP ported PC HACK 3.51 to Lattice C and the Atari 520/1040ST,
|
|
producing ST Hack 1.03.
|
|
.pg
|
|
\fBMike Stephenson\fP merged these various versions back together,
|
|
incorporating many of the added features, and produced NetHack version 1.4
|
|
in 1987.
|
|
He then coordinated a cast of thousands in enhancing and debugging
|
|
NetHack 1.4 and released NetHack versions 2.2 and 2.3.
|
|
Like Hack, they were released by posting their source code to Usenet where
|
|
they remained available in various archives accessible
|
|
via \fIftp\fP and \fIuucp\fP after expiring from the newsgroup.
|
|
.pg
|
|
Later, Mike coordinated a major re-write of the game, heading a
|
|
team which included \fBKen Arromdee\fP, \fBJean-Christophe Collet\fP,
|
|
\fBSteve Creps\fP, \fBEric Hendrickson\fP, \fBIzchak Miller\fP,
|
|
\fBEric S. Raymond\fP, \fBJohn Rupley\fP,
|
|
\fBMike Threepoint\fP, and \fBJanet Walz\fP, to produce NetHack 3.0c.
|
|
.pg
|
|
NetHack 3.0 was ported to the Atari by \fBEric R. Smith\fP, to OS/2 by
|
|
\fBTimo Hakulinen\fP, and to VMS by \fBDavid Gentzel\fP. The three of them
|
|
and \fBKevin Darcy\fP later joined the main NetHack Development Team to produce
|
|
subsequent revisions of 3.0.
|
|
.pg
|
|
\fBOlaf Seibert\fP ported NetHack 2.3 and 3.0 to the Amiga.
|
|
\fBNorm Meluch\fP, \fBStephen Spackman\fP and \fBPierre Martineau\fP designed
|
|
overlay code for PC NetHack 3.0. \fBJohnny Lee\fP ported
|
|
NetHack 3.0 to the Macintosh. Along with various other Dungeoneers, they
|
|
continued to enhance the PC, Macintosh, and Amiga ports through the later
|
|
revisions of 3.0.
|
|
.pg
|
|
Version 3.0 went through ten relatively rapidly released \(lqpatch-level\(rq
|
|
revisions.
|
|
Versions at the time were known as 3.0 for the base release and variously
|
|
as \(lq3.0a\(rq through \(lq3.0j\(rq,
|
|
\(lq3.0\ patchlevel\ 1\(rq through \(lq3.0\ patchlevel\ 10\(rq,
|
|
or \(lq3.0pl1\(rq through \(lq3.0pl10\(rq
|
|
rather than 3.0.0 and 3.0.1 through 3.0.10;
|
|
the three component numbering scheme began to be used with 3.1.0.
|
|
.pg
|
|
Headed by \fBMike Stephenson\fP and coordinated by \fBIzchak Miller\fP and
|
|
\fBJanet Walz\fP, the NetHack Development Team which now included
|
|
\fBKen Arromdee\fP,
|
|
\fBDavid Cohrs\fP, \fBJean-Christophe Collet\fP, \fBKevin Darcy\fP,
|
|
\fBMatt Day\fP, \fBTimo Hakulinen\fP, \fBSteve Linhart\fP, \fBDean Luick\fP,
|
|
\fBPat Rankin\fP, \fBEric Raymond\fP, and \fBEric Smith\fP undertook a
|
|
radical revision of 3.0.
|
|
They re-structured the game's design, and re-wrote major
|
|
parts of the code.
|
|
They added multiple dungeons, a new display, special
|
|
individual character quests, a new endgame and many other new features, and
|
|
produced NetHack 3.1.
|
|
Version 3.1.0 was released in January of 1993.
|
|
.pg
|
|
\fBKen Lorber\fP, \fBGregg Wonderly\fP and \fBGreg Olson\fP, with help
|
|
from \fBRichard Addison\fP, \fBMike Passaretti\fP, and \fBOlaf Seibert\fP,
|
|
developed NetHack 3.1 for the Amiga.
|
|
.pg
|
|
\fBNorm Meluch\fP and \fBKevin Smolkowski\fP, with help from
|
|
\fBCarl Schelin\fP, \fBStephen Spackman\fP, \fBSteve VanDevender\fP,
|
|
and \fBPaul Winner\fP, ported NetHack 3.1 to the PC.
|
|
.pg
|
|
\fBJon W{tte\fP and \fBHao-yang Wang\fP, with help from \fBRoss Brown\fP,
|
|
\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, \fBBart House\fP
|
|
added a Think C port.
|
|
.pg
|
|
\fBTimo Hakulinen\fP ported NetHack 3.1 to OS/2. \fBEric Smith\fP
|
|
ported NetHack 3.1 to the Atari. \fBPat Rankin\fP, with help from
|
|
\fBJoshua Delahunty\fP, was responsible for the VMS version of NetHack 3.1.
|
|
\fBMichael Allison\fP ported NetHack 3.1 to Windows NT.
|
|
.pg
|
|
\fBDean Luick\fP, with help from \fBDavid Cohrs\fP, developed
|
|
NetHack 3.1 for X11.
|
|
It drew the map as text rather than graphically but
|
|
included \f(CRnh10.bdf\fP, an optionally used custom X11 font which has
|
|
tiny images in place of letters and punctuation, a precursor of tiles.
|
|
Those images don't extend to individual monster and object types, just
|
|
replacements for monster and object classes (so one custom image for all
|
|
\(lq\f(CRa\fP\(rq insects and another for all \(lq\f(CR[\fP\(rq armor and so
|
|
forth, not separate images for beetles and ants or for cloaks and boots).
|
|
.pg
|
|
\fBWarwick Allison\fP wrote a graphically displayed version of NetHack
|
|
for the Atari where the tiny pictures were described as \(lqicons\(rq and
|
|
were distinct for specific types of monsters and objects rather than just
|
|
their classes.
|
|
He contributed them to the \fBNetHack Development Team\fP which rechristened
|
|
them \(lqtiles\(rq, original usage which has subsequently been picked up
|
|
by various other games.
|
|
NetHack's tiles support was then implemented on other platforms
|
|
(initially MS-DOS but eventually Windows, Qt, and X11 too).
|
|
.pg
|
|
The 3.2 NetHack Development Team, comprised of \fBMichael Allison\fP, \fBKen
|
|
Arromdee\fP, \fBDavid Cohrs\fP, \fBJessie Collet\fP, \fBSteve Creps\fP,
|
|
\fBKevin Darcy\fP, \fBTimo Hakulinen\fP, \fBSteve Linhart\fP, \fBDean
|
|
Luick\fP, \fBPat Rankin\fP, \fBEric Smith\fP, \fBMike Stephenson\fP,
|
|
\fBJanet Walz\fP, and \fBPaul Winner\fP, released version 3.2.0 in April of
|
|
1996.
|
|
.pg
|
|
Version 3.2 marked the tenth anniversary of the formation of the
|
|
development team.
|
|
In a testament to their dedication to the game, all thirteen members
|
|
of the original NetHack Development Team remained on the team at the
|
|
start of work on that release.
|
|
During the interval between the release of 3.1.3
|
|
and 3.2.0, one of the founding members of the NetHack Development Team,
|
|
\fBDr. Izchak Miller\fP, was diagnosed with cancer and passed away.
|
|
That release of the
|
|
game was dedicated to him by the development and porting teams.
|
|
.pg
|
|
Version 3.2 proved to be more stable than previous versions.
|
|
Many bugs were fixed, abuses eliminated, and game features tuned for
|
|
better game play.
|
|
.pg
|
|
During the lifespan of NetHack 3.1 and 3.2, several enthusiasts
|
|
of the game added
|
|
their own modifications to the game and made these \(lqvariants\(rq publicly
|
|
available:
|
|
.pg
|
|
\fBTom Proudfoot\fP and \fBYuval Oren\fP created NetHack++,
|
|
which was quickly renamed NetHack--
|
|
when some people incorrectly assumed that it was a conversion of the
|
|
\fIC\fP source code to \fIC++\fP.
|
|
Working independently, \fBStephen White\fP wrote NetHack Plus.
|
|
\fBTom Proudfoot\fP later merged NetHack Plus
|
|
and his own NetHack-- to produce SLASH.
|
|
\fBLarry Stewart-Zerba\fP and \fBWarwick Allison\fP improved the spell
|
|
casting system with the Wizard Patch.
|
|
\fBWarwick Allison\fP also ported NetHack to use the Qt interface.
|
|
.pg
|
|
\fBWarren Cheung\fP combined SLASH with the Wizard Patch to produce Slash'EM,
|
|
and with the help of \fBKevin Hugo\fP, added more features.
|
|
Kevin later joined the NetHack Development Team and incorporated the best
|
|
of these ideas into NetHack 3.3.
|
|
.pg
|
|
The final update to 3.2 was the bug fix release 3.2.3, which was released
|
|
simultaneously with 3.3.0 in December 1999 just in time for the Year 2000.
|
|
Because of the newer version, 3.2.3 was released as a source code patch only,
|
|
without any ready-to-play distribution for systems that usually had such.
|
|
.pg
|
|
(To anyone considering resurrecting an old version: all versions before
|
|
3.2.3 had a \fIY2K\fP bug.
|
|
The high scores file and the log file contained
|
|
dates which were formatted using a two-digit year, and 1999's year 99 was
|
|
followed by 2000's year 100.
|
|
That got written out successfully but it
|
|
unintentionally introduced an extra column in the file layout which prevented
|
|
score entries from being read back in correctly, interfering with insertion
|
|
of new high scores and with retrieval of old character names to use for
|
|
random ghost and statue names in the current game.)
|
|
.pg
|
|
The 3.3 NetHack Development Team, consisting of
|
|
\fBMichael Allison\fP, \fBKen Arromdee\fP,
|
|
\fBDavid Cohrs\fP, \fBJessie Collet\fP, \fBSteve Creps\fP, \fBKevin Darcy\fP,
|
|
\fBTimo Hakulinen\fP, \fBKevin Hugo\fP, \fBSteve Linhart\fP, \fBKen Lorber\fP,
|
|
\fBDean Luick\fP, \fBPat Rankin\fP, \fBEric Smith\fP, \fBMike Stephenson\fP,
|
|
\fBJanet Walz\fP, and \fBPaul Winner\fP, released 3.3.0 in
|
|
December 1999 and 3.3.1 in August of 2000.
|
|
.pg
|
|
Version 3.3 offered many firsts. It was the first version to separate race
|
|
and profession. The Elf class was removed in preference to an elf race,
|
|
and the races of dwarves, gnomes, and orcs made their first appearance in
|
|
the game alongside the familiar human race. Monk and Ranger roles joined
|
|
Archeologists, Barbarians, Cavemen, Healers, Knights, Priests, Rogues,
|
|
Samurai,
|
|
Tourists, Valkyries and of course, Wizards. It was also the first version
|
|
to allow you to ride a steed, and was the first version to have a publicly
|
|
available web-site listing all the bugs that had been discovered. Despite
|
|
that constantly growing bug list, 3.3 proved stable enough to last for
|
|
more than a year and a half.
|
|
.pg
|
|
The 3.4 NetHack Development Team initially consisted of
|
|
\fBMichael Allison\fP, \fBKen Arromdee\fP,
|
|
\fBDavid Cohrs\fP, \fBJessie Collet\fP, \fBKevin Hugo\fP, \fBKen Lorber\fP,
|
|
\fBDean Luick\fP, \fBPat Rankin\fP, \fBMike Stephenson\fP,
|
|
\fBJanet Walz\fP, and \fBPaul Winner\fP, with \fB Warwick Allison\fP joining
|
|
just before the release of NetHack 3.4.0 in March 2002.
|
|
.pg
|
|
As with version 3.3, various people contributed to the game as a whole as
|
|
well as supporting ports on the different platforms that NetHack runs on:
|
|
.pg
|
|
\fBPat Rankin\fP maintained 3.4 for VMS.
|
|
.pg
|
|
\fBMichael Allison\fP maintained NetHack 3.4 for the MS-DOS platform.
|
|
\fBPaul Winner\fP and \fBYitzhak Sapir\fP provided encouragement.
|
|
.pg
|
|
\fBDean Luick\fP, \fBMark Modrall\fP, and \fBKevin Hugo\fP maintained
|
|
and enhanced the Macintosh port of 3.4.
|
|
.pg
|
|
\fBMichael Allison\fP, \fBDavid Cohrs\fP, \fBAlex Kompel\fP,
|
|
\fBDion Nicolaas\fP, and
|
|
\fBYitzhak Sapir\fP maintained and enhanced 3.4 for the Microsoft Windows
|
|
platform.
|
|
\fBAlex Kompel\fP contributed a new graphical interface for the Windows port.
|
|
\fBAlex Kompel\fP also contributed a Windows CE port for 3.4.1.
|
|
.pg
|
|
\fBRon Van Iwaarden\fP was the sole maintainer of NetHack for OS/2 the past
|
|
several releases. Unfortunately Ron's last OS/2 machine stopped working in
|
|
early 2006. A great many thanks to Ron for keeping NetHack alive on OS/2
|
|
all these years.
|
|
.pg
|
|
\fBJanne Salmijarvi\fP and \fBTeemu Suikki\fP maintained and
|
|
enhanced the Amiga port of 3.4 after \fBJanne Salmijarvi\fP resurrected
|
|
it for 3.3.1.
|
|
.pg
|
|
\fBChristian \(lqMarvin\(rq Bressler\fP maintained 3.4 for the Atari after he
|
|
resurrected it for 3.3.1.
|
|
.pg
|
|
The release of NetHack 3.4.3 in December 2003 marked the beginning of a
|
|
long release hiatus. 3.4.3 proved to be a remarkably stable version that
|
|
provided continued enjoyment by the community for more than a decade. The
|
|
NetHack Development Team slowly and quietly continued to work on the game behind the scenes
|
|
during the tenure of 3.4.3. It was during that same period that several new
|
|
variants emerged within the NetHack community. Notably sporkhack by
|
|
\fBDerek S. Ray\fP, unnethack by \fBPatric Mueller\fP, nitrohack and its
|
|
successors originally by \fBDaniel Thaler\fP and then by \fBAlex Smith\fP,
|
|
and Dynahack by \fBTung Nguyen\fP.
|
|
Some of those variants continue to be
|
|
developed, maintained, and enjoyed by the community to this day.
|
|
.pg
|
|
In September 2014, an interim snapshot of the code under development was
|
|
released publicly by other parties.
|
|
Since that code was a work-in-progress
|
|
and had not gone through the process of debugging it as a suitable release,
|
|
it was decided that the version numbers present on that code snapshot would
|
|
be retired and never used in an official NetHack release.
|
|
An announcement was posted on the NetHack Development Team's official
|
|
.UR nethack.org
|
|
website to that effect,
|
|
stating that there would never be a 3.4.4, 3.5, or 3.5.0 official release
|
|
version.
|
|
.pg
|
|
In January 2015, preparation began for the release of NetHack 3.6.
|
|
.pg
|
|
At the beginning of development for what would eventually get released
|
|
as 3.6.0, the NetHack Development Team consisted of \fBWarwick Allison\fP,
|
|
\fBMichael Allison\fP, \fBKen Arromdee\fP,
|
|
\fBDavid Cohrs\fP, \fBJessie Collet\fP,
|
|
\fBKen Lorber\fP, \fBDean Luick\fP, \fBPat Rankin\fP,
|
|
\fBMike Stephenson\fP, \fBJanet Walz\fP, and \fBPaul Winner\fP.
|
|
In early 2015, ahead of the release of 3.6.0, new members
|
|
\fBSean Hunt\fP, \fBPasi Kallinen\fP, and \fBDerek S. Ray\fP
|
|
joined the NetHack Development Team.
|
|
.pg
|
|
Near the end of the development of 3.6.0, one of the significant
|
|
inspirations for many of the humorous and fun features found in the
|
|
game, author Terry Pratchett, passed away.
|
|
NetHack 3.6.0 introduced a tribute to him.
|
|
.pg
|
|
3.6.0 was released in December 2015, and merged work done by the development
|
|
team since the release of 3.4.3 with some of the beloved community
|
|
patches. Many bugs were fixed and some code was restructured.
|
|
.pg
|
|
The NetHack Development Team, as well as \fBSteve VanDevender\fP and
|
|
\fBKevin Smolkowski\fP, ensured that NetHack 3.6 continued to operate on
|
|
various
|
|
.UX
|
|
flavors and maintained the X11 interface.
|
|
.pg
|
|
\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, \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.
|
|
.pg
|
|
\fBPat Rankin\fP attempted to keep the VMS port running for NetHack 3.6,
|
|
hindered by limited access. \fBKevin Smolkowski\fP has updated and tested it
|
|
for the most recent version of OpenVMS (V8.4 as of this writing) on Alpha
|
|
and Integrity (aka Itanium aka IA64) but not VAX.
|
|
.pg
|
|
\fBRay Chason\fP resurrected the MS-DOS port for 3.6 and contributed the
|
|
necessary updates to the community at large.
|
|
.pg
|
|
In late April 2018, several hundred bug fixes for 3.6.0 and
|
|
some new features were assembled and released as NetHack 3.6.1.
|
|
The NetHack Development Team at the time of release of 3.6.1 consisted of
|
|
\fBWarwick Allison\fP, \fBMichael Allison\fP, \fBKen Arromdee\fP,
|
|
\fBDavid Cohrs\fP, \fBJessie Collet\fP, \fBPasi Kallinen\fP,
|
|
\fBKen Lorber\fP, \fBDean Luick\fP, \fBPatric Mueller\fP,
|
|
\fBPat Rankin\fP, \fBDerek S. Ray\fP, \fBAlex Smith\fP,
|
|
\fBMike Stephenson\fP, \fBJanet Walz\fP, and \fBPaul Winner\fP.
|
|
.pg
|
|
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
|
|
NetHack 3.6.3 was released on December 5, 2019 containing over 190 bug
|
|
fixes to NetHack 3.6.2.
|
|
.pg
|
|
NetHack 3.6.4 was released on December 18, 2019 containing a security fix
|
|
and a few bug fixes.
|
|
.pg
|
|
NetHack 3.6.5 was released on January 27, 2020 containing some security fixes
|
|
and a small number of bug fixes.
|
|
.pg
|
|
NetHack 3.6.6 was released on March 8, 2020 containing a security fix and
|
|
some bug fixes.
|
|
.pg
|
|
The official NetHack web site is maintained by \fBKen Lorber\fP
|
|
at
|
|
.UR https://www.nethack.org/ .
|
|
.pg
|
|
.hn 2
|
|
SPECIAL THANKS
|
|
.pg
|
|
On behalf of the NetHack community, thank you very much once
|
|
again to \fBM. Drew Streib\fP and \fBPasi Kallinen\fP for providing a
|
|
public NetHack server at nethack.alt.org. Thanks to \fBKeith Simpson\fP
|
|
and \fBAndy Thomson\fP for hardfought.org. Thanks to all those
|
|
unnamed dungeoneers who invest their time and effort into annual
|
|
NetHack tournaments such as Junethack, The November NetHack Tournament,
|
|
and in days past, devnull.net (gone for now, but not forgotten).
|
|
.pg
|
|
.ce
|
|
- - - - - - - - - -\ \ \ \ \" when centered, the dashes look a little too far
|
|
. \" to the right, so pad them with a few spaces
|
|
.pg
|
|
From time to time, some depraved individual out there in netland sends a
|
|
particularly intriguing modification to help out with the game. The NetHack
|
|
Development Team sometimes makes note of the names of the worst of these
|
|
miscreants in this, the list of Dungeoneers:
|
|
.
|
|
.TS S
|
|
center;
|
|
c2 c2 c.
|
|
.\"TABLE_START
|
|
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
|
|
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 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.
|
|
.TE
|
|
.pg
|
|
.\"Microsoft and MS-DOS are registered trademarks of Microsoft Corporation.
|
|
.\"Lattice is a trademark of Lattice, Inc.
|
|
.\"Atari and 1040ST are trademarks of Atari, Inc.
|
|
.\"Amiga is a trademark of Commodore-Amiga, Inc
|
|
.sm "Brand and product names are trademarks or registered trademarks \
|
|
of their respective holders."
|
|
.\"EOF
|