Change instances of 'C' and ``C'' to `C'. Change a few double quotes, "..." to ``...''. Remove some trailing spaces (for Guidebook.mn too). One tweak in wording: for #offer, ``use `m' to skip items on altar'' followed by ``you'll need to find an altar'' sounded strange. Move the ``skip items on altar'' sentence after the ``need an altar'' sentence.
5027 lines
188 KiB
Plaintext
5027 lines
188 KiB
Plaintext
.\" $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.284 $ $NHDT-Date: 1539898655 2018/10/18 21:37:35 $
|
|
.\"
|
|
.\" This is an excerpt from the 'roff' man page from the 'groff' package.
|
|
.\" NetHack's Guidebook.mn currently does *not* 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.
|
|
.\"|||
|
|
.\"
|
|
.ds h0 "NetHack Guidebook
|
|
.ds h1
|
|
.ds h2 %
|
|
.ds vr "NetHack 3.6
|
|
.ds f0 "\*(vr
|
|
.ds f1
|
|
.ds f2 "October 16, 2018
|
|
.
|
|
.\" labeled paragraph start (should be part of tmac.n, but I don't want to
|
|
.\" make changes to that file)
|
|
.\" .PS word
|
|
.\" set the width for the label column
|
|
.\" .PL word
|
|
.\" label for the entry
|
|
.\" .PE
|
|
.\" clean up
|
|
.de PS
|
|
.nr PY \\w'\\$1\ -\ 'u \" width of label plus " - "
|
|
.nr PX \\w'\ -\ 'u \" width of " - "
|
|
.sn \\n(pdu \" tmac.n: inter-paragraph space
|
|
.in +\\n(PYu \" additional indent past label (etc)
|
|
.si \" tmac.n: start indented section
|
|
..
|
|
.\" labeled paragraph label (and first line)
|
|
.de PL
|
|
.br
|
|
\\h'|-\\n(PYu'\\$1\\h'|-\\n(PXu'\ -\ \\c \" back up, output the label, then
|
|
. \" skip to width-of(" - ") before the
|
|
. \" normal indentation, output the " - "
|
|
. \" then attach the next line (the
|
|
. \" text) without stopping (\c: nroff
|
|
. \" section 4.2)
|
|
..
|
|
.\"labeled paragraph end
|
|
.de PE
|
|
.ei \" tmac.n: end indented section
|
|
.in -\\n(PYu \" undo indent past label (etc)
|
|
.sn \\n(pdu \" tmac.n: inter-paragraph space
|
|
..
|
|
.\" end of labeled paragraph
|
|
.\"
|
|
.\" aligned single character key with SHORT definition (if it overflows one
|
|
.\" line, all bets are off)
|
|
.\" Usage:
|
|
.\" .CC k "definition here"
|
|
.nr CZ \w'\fBW' \" width of the key character column
|
|
.nr CW \n(CZ/2 \" half the width of the key character column
|
|
.de CC
|
|
.nr CX \\w'\\fB\\$1'u/2 \" half the width of the key character
|
|
.nr CY \\n(CWu-\\n(CXu \" difference between the two half widths
|
|
.\" output: move right CR units, print the key letter, move right to
|
|
.\" the full width of the column, print " - " and the definition
|
|
\\h'|\\n(CYu'\\fB\\$1\\fP\\h'|\\n(CZu'\ -\ \\$2
|
|
..
|
|
.\" '.UX' is verbatim copy of tmac.n's '.ux' with the exception that
|
|
.\" the trademark owner for "UNIX" has been updated. (tmac.n contains
|
|
.\" a comment asking that modified versions not be distributed, so we
|
|
.\" are using this substitute instead of modifying that file.)
|
|
.de UX \" print "UNIX"
|
|
.ie \\n(ux \\&\\$2\\s-1UNIX\\s0\\$1
|
|
.el \{\
|
|
. nr ux +1 \" mark footnote as dropped
|
|
\\&\\$2\\s-1UNIX\\s0\\*(rg\\$1
|
|
. fn \" put out the footnote
|
|
\\&\\*(rgUNIX is a registered trademark of The Open Group.
|
|
. ef \" short and sweet ...
|
|
.\}
|
|
..
|
|
.
|
|
.\" 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.6 by Mike Stephenson and others)
|
|
.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.
|
|
.
|
|
.br \" break - advance to next line
|
|
\ \" space to force non-empty line before table
|
|
.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 $:0 HP:9(12) Pw:3(3) AC:10 Exp:1/19 T:257 Weak
|
|
.TE
|
|
.ft \" revert to previous font
|
|
.ce 1
|
|
Figure 1
|
|
.
|
|
.hn 2
|
|
The status lines (bottom)
|
|
.pg
|
|
The bottom two lines of the screen contain several cryptic pieces of
|
|
information describing your current status. If either status line
|
|
becomes longer than the width of the screen, you might not see all of
|
|
it. Here are explanations of what the various status items mean
|
|
(though your configuration may not have all the status items listed
|
|
below):
|
|
.lp "Rank "
|
|
Your character's name and professional ranking (based on the
|
|
experience level, 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.
|
|
.lp Experience
|
|
Your current experience level 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. Many dungeons
|
|
show only your experience level here.
|
|
.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 2). 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
|
|
.\" note: the two number pad layouts are separated by a tab on each line;
|
|
.\" 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.
|
|
.TS S
|
|
center;
|
|
c c.
|
|
y k u 7 8 9
|
|
\e | / \e | /
|
|
h- . -l 4- . -6
|
|
/ | \e / | \e
|
|
b j n 1 2 3
|
|
\ (if \fBnumber_pad\fP is set)
|
|
.TE
|
|
.ed
|
|
.ce 1
|
|
Figure 2
|
|
.
|
|
.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.
|
|
.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.
|
|
.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 ""
|
|
Ex. \(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.
|
|
.\" 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.
|
|
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.
|
|
.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)." (
|
|
.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 $
|
|
Count your gold pieces.
|
|
.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.
|
|
.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.
|
|
.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 \(em and won't merge \(em the 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.
|
|
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 #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 enough that text fits on same line
|
|
.\" \" as #offer but that looks bad because it is too close to 'r'
|
|
.lp "#offer "
|
|
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 \" there's no ligature here, but text ends up too close to #open
|
|
.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 "#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.
|
|
By default a response of \(oqy\(cq acknowledges that intent.
|
|
You can set the
|
|
.op paranoid_confirmation
|
|
option to require a response of \(lqyes\(rq 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 #seegold
|
|
Count your gold.
|
|
Default key is \(oq$\(cq.
|
|
.lp #seenv
|
|
Show seen vectors.
|
|
Autocompletes.
|
|
Debug mode only.
|
|
.lp #seerings
|
|
Show the ring(s) currently worn.
|
|
Default key is \(oq=\(cq.
|
|
.lp #seespells
|
|
List and reorder known spells.
|
|
Default key is \(oq+\(cq.
|
|
.lp #seetools
|
|
Show the tools currently in use.
|
|
Default key is \(oq(\(cq.
|
|
.lp #seetrap
|
|
Show the type of an adjacent trap.
|
|
Default key is \(oq\(ha\(cq. \" 'hat' (circumflex character)
|
|
.lp #seeweapon
|
|
Show the weapon currently wielded.
|
|
Default key is \(oq)\(cq.
|
|
.lp #shell
|
|
Do a shell escape.
|
|
Default key is \(oq!\(cq.
|
|
.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.
|
|
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.
|
|
Autocompletes.
|
|
Default key is \(oqM-v\(cq.
|
|
.lp #versionshort
|
|
Show version string.
|
|
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 #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.
|
|
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 \fINT\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. You can find them with the \(oqs\(cq (search)
|
|
command.
|
|
.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.
|
|
.pg
|
|
You can get through a locked door by using a tool to pick the lock
|
|
with the \(oqa\(cq (apply) command, or by kicking it open with
|
|
the \(oq\(haD\(cq (kick) command.
|
|
.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.
|
|
.pg
|
|
Doors can be useful for shutting out monsters. Most monsters cannot
|
|
open doors, although a few don't need to (ex. ghosts can walk through
|
|
doors).
|
|
.pg
|
|
Secret doors are hidden. You can find them with the \(oqs\(cq (search)
|
|
command. Once found they are in all ways equivalent to normal doors.
|
|
.hn 2
|
|
Traps (\(oq\(ha\(cq)
|
|
.pg
|
|
There are traps throughout the dungeon to snare the unwary delver.
|
|
For example, you may suddenly fall into a pit and be stuck for a few
|
|
turns trying to climb out.
|
|
Traps don't appear on your map until you
|
|
see one triggered by moving onto it, see something fall into it, or you
|
|
discover it with the \(oqs\(cq (search) command.
|
|
Monsters can fall prey to
|
|
traps, too, which can be a very useful defensive strategy.
|
|
.pg
|
|
There is a special pre-mapped branch of the dungeon based on the
|
|
classic computer game \(lqSokoban.\(rq
|
|
The goal is to push the boulders into the pits or holes.
|
|
With careful foresight, it is possible to complete all of the levels
|
|
according to the traditional rules of Sokoban.
|
|
Some allowances are permitted in case the player gets stuck;
|
|
however, they will lower your luck.
|
|
.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 sometimes 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 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 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 \(em
|
|
perhaps it is invisible and has just tapped you on the noggin \(em
|
|
a 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
|
|
\(lq\fIBurdened\fP\(rq, \(lq\fIStressed\fP\(rq, \(lq\fIStrained\fP\(rq,
|
|
\(lq\fIOvertaxed\fP\(rq or \(lq\fIOverloaded\fP\(rq 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. Blessed items usually work better or
|
|
more beneficially than normal uncursed items. For example, a blessed
|
|
weapon will do 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.
|
|
.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 \(lqcursed\(rq, \(lquncursed\(rq or
|
|
\(lqblessed\(rq in the description of the item.
|
|
In some cases \(lquncursed\(rq 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 \(lquncursed\(rq
|
|
be displayed even when that can be deduced from other attributes.
|
|
.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 \(em a general defense rating, not necessarily due to
|
|
wearing of armor \(em is 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 \(em or hold several missiles in your hand \(em and 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 \(em or before you begin, for that matter \(em wielding
|
|
two weapons at once. The primary is your wielded weapon and the
|
|
secondary is just an item in your inventory that's been designated
|
|
as alternate weapon.)
|
|
.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. Here is an (incomplete) list of the armor classes provided by
|
|
various suits of armor:
|
|
.
|
|
.TS S
|
|
center;
|
|
a n.
|
|
dragon scale mail 1
|
|
plate mail 3
|
|
crystal plate mail 3
|
|
bronze plate mail 4
|
|
splint mail 4
|
|
banded mail 4
|
|
dwarvish mithril-coat 4
|
|
elven mithril-coat 5
|
|
chain mail 5
|
|
orcish chain mail 6
|
|
scale mail 6
|
|
dragon scales 7
|
|
studded leather armor 7
|
|
ring mail 7
|
|
orcish ring mail 8
|
|
leather armor 8
|
|
leather jacket 9
|
|
no armor 10
|
|
.TE
|
|
.pg
|
|
You can also wear other pieces of armor (ex. helmets, boots, shields, cloaks)
|
|
to lower your armor class even further, but you can only wear one item
|
|
of each category (one suit of armor, one cloak, one helmet, one
|
|
shield, and so on) at a time.
|
|
.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 commands to use armor are \(oqW\(cq (wear) and \(oqT\(cq (take off).
|
|
The \(oqA\(cq command can also be used to take off armor as well as other
|
|
worn items.
|
|
.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 (ex. \(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 only two
|
|
rings, one on each ring finger.
|
|
.pg
|
|
Most rings also cause you to grow hungry more rapidly, the rate
|
|
varying with the type of ring.
|
|
.pg
|
|
The commands to use rings are \(oqP\(cq (put on) and \(oqR\(cq (remove).
|
|
.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) \(em unless 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
|
|
The command to use tools 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.
|
|
.pg
|
|
The commands to use amulets are the same as for rings, \(oqP\(cq (put on)
|
|
and \(oqR\(cq (remove).
|
|
.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
|
|
Very large humanoids (giants and their ilk) have been known to use boulders
|
|
as weapons.
|
|
.pg
|
|
For some configurations of the program, statues are no longer shown as
|
|
\(oq\`\(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).
|
|
.
|
|
.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, if will continue to be displayed on your map.
|
|
That remains the case even if it is not actually there any more \(em
|
|
perhaps a monster has picked it up or it has rotted away \(em
|
|
until 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 forget 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 cannot 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 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 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.
|
|
On MS-DOS and Windows, it is \(lqdefaults.nh\(rq
|
|
in the same folder as nethack.exe or nethackW.exe.
|
|
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
|
|
Any line in the configuration file starting with \(oq#\(cq is treated
|
|
as a comment.
|
|
Empty lines are ignored.
|
|
.pg
|
|
Any line beginning with \(oq[\(cq and ending in \(oq]\(cq is considered
|
|
a section marker.
|
|
The text between the square brackets is the section name.
|
|
Lines after a section marker belong to that section, and are
|
|
ignored unless a CHOOSE statement was used to select that section.
|
|
Section names are case insensitive.
|
|
.pg
|
|
You can use different configuration statements in the file, some
|
|
of which can be used multiple times.
|
|
In general, the statements are
|
|
written in capital letters, followed by an equals sign, followed by
|
|
settings particular to that statement.
|
|
Here is a list of allowed statements:
|
|
.lp OPTIONS
|
|
There are two types of options, boolean and compound options.
|
|
Boolean options toggle a setting on or off, while compound options
|
|
take more diverse values.
|
|
Prefix a boolean option with \(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 statements, and multiple options
|
|
in a single OPTIONS statement.
|
|
.pg
|
|
Example:
|
|
.sd
|
|
.ft CR
|
|
OPTIONS=dogname:Fido
|
|
.\" '\(dq' == double quote; including a literal double quote here works
|
|
.\" for formatting but confuses Emacs' nroff-mode into thinking
|
|
.\" that the \fP is part of a string rather than a font toggle
|
|
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.
|
|
.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.
|
|
.pg
|
|
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.
|
|
.pg
|
|
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.
|
|
.pg
|
|
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
|
|
.ft \" revert to previous font
|
|
.ed
|
|
.lp MSGTYPE
|
|
Change the way messages are shown in the top status line.
|
|
See the \(lqConfiguring Message Types\(rq section.
|
|
.lp MENUCOLOR
|
|
Highlight menu lines with different colors.
|
|
See the \(lqConfiguring Menu Colors\(rq section.
|
|
.lp SYMBOLS
|
|
Override one or more symbols in the symbols files.
|
|
See the \(lqModifying NetHack Symbols\(rq section.
|
|
.pg
|
|
Example:
|
|
.sd
|
|
\f(CRSYMBOLS=S_boulder:0\fP
|
|
.ed
|
|
.lp WIZKIT
|
|
Debug mode only: extra items to add to initial inventory.
|
|
Value is the name of a text file containing a list of item names,
|
|
one per line, up to a maximum of 128 lines.
|
|
Each line is processed by the function that handles wishing.
|
|
.pg
|
|
Example:
|
|
.sd
|
|
\f(CRWIZKIT=\(ti/wizkit.txt\fP \" \(ti == '~'
|
|
.ed
|
|
.lp SOUNDDIR
|
|
Define the directory that contains the sound files.
|
|
See the \(lqConfiguring User Sounds\(rq section.
|
|
.lp SOUND
|
|
Define a sound mapping.
|
|
See the \(lqConfiguring User Sounds\(rq section.
|
|
.pg
|
|
Here is a short example of config file contents:
|
|
.sd
|
|
.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:$"=/!?+
|
|
# Show colored text if possible
|
|
OPTIONS=color
|
|
# Show lit corridors differently
|
|
OPTIONS=lit_corridor
|
|
#
|
|
# No startup splash screen. Windows GUI only.
|
|
OPTIONS=!splash_screen
|
|
.ft \" revert to previous font
|
|
.ed
|
|
.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!\(cq or \(lqno\(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 \(lqcolor\(rq
|
|
is on, \(lqautopickup\(rq is off, the name is set to \(lqBlue Meanie\(rq,
|
|
and the fruit is set to \(lqpapaya\(rq, you would enter the command
|
|
.sd
|
|
% \f(CRsetenv NETHACKOPTIONS "color,\e!autopickup,name:Blue Meanie,fruit:papaya"\fP
|
|
.ed
|
|
in \fIcsh\fP (note the need to escape the \(oq!\(cq since it's special
|
|
to the shell), or
|
|
.sd
|
|
$ \f(CRNETHACKOPTIONS="color,!autopickup,name:Blue Meanie,fruit:papaya"\fP
|
|
$ \f(CRexport NETHACKOPTIONS\fP
|
|
.ed
|
|
in \fIsh\fP, \fIksh\fP, or \fIbash\fP.
|
|
.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@\(cq
|
|
(at-sign) to let NetHack know that the rest is intended as a file name.
|
|
If it does start with \(oq/\(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 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 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 (ex. \(lqcatname:Morris\(rq).
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.lp character
|
|
Synonym for \(lqrole\(rq to pick the type of your character
|
|
(ex. \(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 checkspace
|
|
Check free disk space before writing files to disk (default on).
|
|
You may have to turn this off if you have more than 2 GB free space
|
|
on the partition used for your save and level files
|
|
(because too much space might overflow the calculation and end up
|
|
looking like insufficient space).
|
|
Only applies when MFLOPPY was defined during compilation.
|
|
.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;"
|
|
.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 ""
|
|
(ex. \(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 (ex. \(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 only by the tty port
|
|
(default off), when the game has been compiled to support tty graphics.
|
|
.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 (ex. \(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 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 (ex. \(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 "uncursed" from inventory lists, if possible (default on).
|
|
.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_walls
|
|
Give feedback when walking against a wall (default off).
|
|
.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 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.
|
|
(It is currently implemented for tty only.)
|
|
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 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.
|
|
.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 "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 (ex. \(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 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 (ex.
|
|
\(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 (ex. \(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 (default on). Turning this option off will
|
|
prevent the game from attempting unintended moves if you make inadvertent
|
|
mouse clicks on the map window. 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
|
|
.lp ""
|
|
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.
|
|
.lp ""
|
|
.sd
|
|
.si
|
|
.CC n "no filtering [default]"
|
|
.CC v "in view only"
|
|
.CC a "in same area only"
|
|
.ei
|
|
.ed
|
|
.lp ""
|
|
The area-filter tries to be slightly predictive \(em if 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 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 config
|
|
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
|
|
If NetHack can, it should display an ascii character map if it can.
|
|
.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 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 mouse_support
|
|
Allow use of the mouse for input and travel.
|
|
.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 tiled_map
|
|
If NetHack can, it should display a tiled map if it can.
|
|
.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 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 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 \(em preceded by \fBn\fP if the
|
|
.op number_pad
|
|
option is set \(em is also subject to this conversion, so attempting to
|
|
abort the count by typing ESC will leave NetHack waiting for another
|
|
character to complete the two character sequence.
|
|
Type a 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 soundcard
|
|
(default on, PC NetHack only).
|
|
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 statements in the config 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, or \(lqvga\(rq.
|
|
Setting \(lqvga\(rq (or \(lqautodetect\(rq with vga hardware present)
|
|
will cause the game to display tiles.
|
|
Cannot be set with the \(oqO\(cq command.
|
|
.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
|
|
A \(lqnever pickup\(rq rule takes precedence over an \(lqalways pickup\(rq
|
|
rule if both match.
|
|
.lp ""
|
|
Exceptions can be set with the \(oqO\(cq command, but ones set that way will
|
|
not be preserved across saves and restores.
|
|
.\" 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 config 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.
|
|
Default is \(oq5\(cq.
|
|
.lp rush
|
|
Prefix key to rush towards a direction.
|
|
Default is \(oqg\(cq.
|
|
.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 config file entries to configure 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, win32tty and
|
|
win32gui support this.
|
|
.pg
|
|
In general, the config file entries to configure 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, lightgreen, yellow, lightblue, lightmagenta, lightcyan, and white.
|
|
.lp ""
|
|
Allowed attributes are none, bold, dim, underline, blink, and inverse.
|
|
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 config file,
|
|
and the last MENUCOLOR-line in your config file 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 config 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 file"
|
|
.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.
|
|
.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:
|
|
.si
|
|
.lp "OPTION=hilite_status: field-name/behavior/color&attributes"
|
|
.ei
|
|
.pg
|
|
For example, the following line in your config file will cause
|
|
the hitpoints field to display in the color red if your hitpoints
|
|
drop to or below a threshold of 30%:
|
|
.si
|
|
.lp "OPTION=hilite_status: hitpoints/<30%/red/normal"
|
|
.ei
|
|
.pg
|
|
For another example, the following line in your config file will cause
|
|
wisdom to be displayed red if it drops and green if it rises.
|
|
.si
|
|
.lp "OPTION=hilite_status: wisdom/down/red/up/green"
|
|
.ei
|
|
.pg
|
|
You can adjust the display of the following status fields:
|
|
.TS S
|
|
center;
|
|
c c c.
|
|
.\"TABLE_START
|
|
title strength dexterity
|
|
constitution intelligence wisdom
|
|
charisma alignment score
|
|
carrying-capacity gold power
|
|
power-max experience-level armor-class
|
|
HD time hunger
|
|
hitpoints hitpoints-max dungeon-level
|
|
experience condition
|
|
.\"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 and \(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 valid for \(lqpower\(rq and \(lqhitpoints\(rq fields.
|
|
.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.
|
|
If the number is prefixed with \(oq<=\(cq or \(oq>=\(cq,
|
|
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
|
|
.lp ""
|
|
Allowed colors are black, red, green, brown, blue, magenta, cyan, gray,
|
|
orange, lightgreen, yellow, lightblue, lightmagenta, lightcyan, and white.
|
|
.lp ""
|
|
Allowed attributes are bold, inverse, underline, blink, dim, and normal.
|
|
Note that the platform used may interpret the attributes any way it
|
|
wants.
|
|
.lp ""
|
|
The in-game options menu can help you determine the correct syntax for a
|
|
config file.
|
|
.lp ""
|
|
The whole feature can be disabled by setting option
|
|
statushilites to 0.
|
|
.lp ""
|
|
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 config
|
|
file option. 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
|
|
.TS S
|
|
center;
|
|
c s s
|
|
c1 l1 l.
|
|
.\"TABLE_START
|
|
.\" because description is wide, centered title seems off, so pad it a bit
|
|
.\" note that each backslash precedes one space of padding (including the
|
|
.\" last one; in other words, there's a trailing space here)
|
|
NetHack Symbols\ \ \ \ \ \ \
|
|
Default Symbol Name Description
|
|
\_ \_ \_
|
|
\ 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 (dark part of a room)
|
|
] 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)
|
|
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 mythical/fantastic insect)
|
|
X S_xorn (xorn)
|
|
Y S_yeti (apelike creature)
|
|
Z S_zombie (zombie)
|
|
z S_zruty (zruty)
|
|
.\"TABLE_END Do not delete this line.
|
|
.TE
|
|
.pg
|
|
There is one additional class of object, described as \(lqstrange object\(rq,
|
|
which will occasionally be the shape taken on by mimics and shown
|
|
as \(oq]\(cq for maps displayed as text characters.
|
|
Although the displayed character is the same as the default value for
|
|
\(lqS_mimic_def\(rq, it is a different symbol and there is no corresponding
|
|
\(lqS_strange_object\(rq symbol nor any way to assign an alternate value
|
|
for it.
|
|
.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
|
|
in your configuration file to better suit your preferences.
|
|
The most crucial settings to make the game 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 #attributes 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
|
|
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
|
|
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.2\-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 paper 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 dozens 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, transforming Hack into a
|
|
very different game, and published (at least) three versions (1.0.1,
|
|
1.0.2, and 1.0.3) for
|
|
.UX
|
|
machines to the Usenet.
|
|
.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).
|
|
.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 1.4.
|
|
He then coordinated a cast of thousands in enhancing and debugging
|
|
NetHack 1.4 and released NetHack versions 2.2 and 2.3.
|
|
.pg
|
|
Later, Mike coordinated a major rewrite of the game, heading a
|
|
team which included \fBKen Arromdee\fP, \fBJean-Christophe Collet\fP, \fBSteve
|
|
Creps\fP, \fBEric Hendrickson\fP, \fBIzchak Miller\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 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
|
|
Headed by \fBMike Stephenson\fP and coordinated by \fBIzchak Miller\fP and
|
|
\fBJanet Walz\fP, the 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.
|
|
.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, \fBBarton 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.
|
|
\fBWarwick Allison\fP wrote a tiled version of NetHack for the Atari;
|
|
he later contributed the tiles to the DevTeam and tile support was
|
|
then added to other platforms.
|
|
.pg
|
|
The 3.2 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 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 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, one of the founding members of the 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
|
|
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--.
|
|
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
|
|
DevTeam and incorporated the best of these ideas in 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.
|
|
.pg
|
|
The 3.3 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 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
|
|
devteam 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 devteam's official 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 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
|
|
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 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
|
|
The 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, \fBBarton 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.1,
|
|
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 msdos port for 3.6.1 and contributed the
|
|
necessary updates to the community at large.
|
|
.pg
|
|
The official NetHack web site is maintained by \fBKen Lorber\fP
|
|
at http://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 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 Gods of
|
|
the Dungeon sometimes make note of the names of the worst of these miscreants
|
|
in this, the list of Dungeoneers:
|
|
.
|
|
.TS S
|
|
center;
|
|
c c 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
|
|
Ari Huttunen John Kallen Patric Mueller
|
|
Barton House John Rupley Paul Winner
|
|
Benson I. Margulies John S. Bien Pierre Martineau
|
|
Bill Dyer Johnny Lee Ralf Brown
|
|
Boudewijn Waijers Jon W{tte Ray Chason
|
|
Bruce Cox Jonathan Handler Richard Addison
|
|
Bruce Holloway Joshua Delahunty Richard Beigel
|
|
Bruce Mewborne Keizo Yamamoto Richard P. Hughey
|
|
Carl Schelin Ken Arnold Rob Menke
|
|
Chris Russo Ken Arromdee Robin Bandy
|
|
David Cohrs Ken Lorber Robin Johnson
|
|
David Damerell Ken Washikita Roderick Schertler
|
|
David Gentzel Kevin Darcy Roland McGrath
|
|
David Hairston Kevin Hugo Ron Van Iwaarden
|
|
Dean Luick Kevin Sitze Ronnen Miller
|
|
Del Lamb Kevin Smolkowski Ross Brown
|
|
Derek S. Ray Kevin Sweet Sascha Wostmann
|
|
Deron Meranda Lars Huttar Scott Bigham
|
|
Dion Nicolaas Leon Arnott Scott R. Turner
|
|
Dylan O'Donnell M. Drew Streib Sean Hunt
|
|
Eric Backus Malcolm Ryan Stephen Spackman
|
|
Eric Hendrickson Mark Gooderum Stefan Thielscher
|
|
Eric R. Smith Mark Modrall Stephen White
|
|
Eric S. Raymond Marvin Bressler Steve Creps
|
|
Erik Andersen Matthew Day Steve Linhart
|
|
Frederick Roeber Merlyn LeRoy Steve VanDevender
|
|
Gil Neiger Michael Allison Teemu Suikki
|
|
Greg Laskin Michael Feir Tim Lennan
|
|
Greg Olson Michael Hamel Timo Hakulinen
|
|
Gregg Wonderly Michael Sokolov Tom Almy
|
|
Hao-yang Wang Mike Engber Tom West
|
|
Helge Hafting Mike Gallop Warren Cheung
|
|
Irina Rempt-Drijfhout Mike Passaretti Warwick Allison
|
|
Izchak Miller Mike Stephenson Yitzhak Sapir
|
|
.\"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."
|