games-request@tekred.TEK.COM (12/02/87)
Submitted by: mike@genat.UUCP (Mike Stephenson)
Comp.sources.games: Volume 3, Issue 1
Archive-name: nethack2.2/Part01
[This is the latest version of NetHack. It is a full source
distribution (~1Mb). Be sure to save this away, as subsequent
postings will be context diffs from this source. -br]
#! /bin/sh
# This is a shell archive. Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file". To overwrite existing
# files, type "sh file -c". You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g.. If this archive is complete, you
# will see the following message at the end:
# "End of archive 1 (of 20)."
# Contents: README MANIFEST Guidebook decl.c
# Wrapped by billr@tekred on Tue Dec 1 16:24:45 1987
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f README -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"README\"
else
echo shar: Extracting \"README\" \(7320 characters\)
sed "s/^X//" >README <<'END_OF_README'
X NetHack V2.2 README
X
X This file contains information on the 2.2 release of NetHack. For
Xinformation on previous releases, see the README.OLD file. For a detailed
Xhistory of the game, see the README.ORIG file, which contains three separate
Xreadme files, dating back to the original release of the game (then named
Xhack) by Jay Fenlason.
X
X This release of the game contains a large number of bug fixes, as
Xwell as several new features. There has been a large amount of play-testing
Xdone on this release, as it is to be a complete release (approximately 1Mb)
Xof source and uuencoded auxilary files. For a detailed list of bug fixes,
Xand additions look at the file "Fixes.2.2". I cannot guarantee that every
Xmodification done has been included, but I have done my best to chronicle the
Xchanges and fixes made there. Here are the high points:
X
X 1) New flags in "config.h" (some of these were included in 1.4f):
X
X COM_COMPL Command line completion by John S. Bien
X GRAPHICS Funky screen character support (Eric S. Raymond)
X HACKOPTIONS Support DGK-style HACKOPTIONS processing (ESR)
X RPH Various hacks by Richard P. Hughey
X KJSMODS Various changes made by Kevin Sweet
X BVH Additions by Bruce Holloway
X
X In addition, in an MSDOS enviornment, when GRAPHICS is defined:
X
X MSDOSCOLOR Colour highlighting of monsters, etc.
X
X Of the above, I haven't tested HACKOPTIONS and MSDOSCOLOR. If you
X find bugs in these, send me the reports.
X
X 2) New objects:
X
X blindfold - allows you to avoid the gaze of a Floating Eye and to
X use your telepathy on command if you have it.
X
X mirror - scares monsters if you use it on them (and other uses).
X
X ring of polymorph - (usually cursed) forces random polymorphs.
X
X ring of polymorph control - prevents system shock and allows choice of
X creature to polymorph into.
X
X 3) New Files:
X
X - A new set of documentation, the "Guidebook to the Mazes of Menace"
X has been supplied by Eric S. Raymond. The guidebook is written for
X nroff using the "mn" macro set supplied with Bnews 2.11 or greater.
X Since not everyone has these macros, I have run the guidebook through
X nroff, and supplied it in flat ascii format as well. [Moderator's
X note: because of past problems, I ran the formatted version
X through "col -b" before passing it on to remove ^H's, etc. -br]
X
X - A copy of "HACK.CNF" which has been renamed "NetHack.cnf" was
X supplied by Steve Creps. The file decl.c has been updated to reflect
X this change.
X
X - A new "Makefile" for the AT&T Unix machines has been added.
X
X - I was hoping to get documentation on "NANSI.SYS" as well, but got
X no responses to the mail I sent the author, direct and via Bill
X Randle at tekred. As per usual, I will gladly publish any relevant
X documentation I get.
X
X 4) Major game changes:
X
X - Shop generation has been significantly changed. A new structure
X has been introduced which allows shops (except the "general" type)
X to have up to three different types of object inside. There is also
X a new "distribution pattern" parameter which tells the generation
X code how to lay out the shop (this is preliminary to the addition of
X two new types of shop, the temple and barracks - more on this later).
X
X - Shopkeepers will now tell you how much they expect for each object
X you pick up. This gives you the ability to haggle with the merchant
X in question by dropping and picking up objects until you are more or
X less satisfied with the price. I have re-written "getprice()" in
X shk.c in an attempt to make sure that you cannot actually sell any
X particular object for more than the shopkeeper will charge for it.
X
X - Another change to shopkeepers has them potentially getting angry if
X you stay beside them after not paying your bill. Each they time they
X ask you to pay up, there is a chance they will decide they don't like
X people who don't pay...
X
X - A new monster, the hydra, has been added (as you have probably seen
X on the net). I haven't had much chance to test out this feature of
X the game. Mirrors have also been added, and seem to work quite well.
X
X - Changes have been made to the object ocurrence chances in objects.h,
X so that the relatively rare tools, etc. have at least a 1% chance of
X showing up.
X
X - Throwing and zapping code has been modified so that there is a
X chance that said can be done through a doorway. Bolts can still
X bounce however...
X
X - The infamous and dreaded makemon() bug has been eliminated. In
X addition to this, "r"ats and "K"obolds have been added back into the
X game. "K"ops no longer leave treasure (just what they were carrying,
X plus maybe a club or whistle).
X
X - Two new "super"swords have been added. They are the katana named
X "Snickersnee" which is +5 on damage (due to sharpness), and the long
X sword "Excalibur" which is +rnd(10) to hit, +5 on damage, and has a
X couple of other features I won't go into right now. The only way
X for a character to get "Excalibur" is as a gift from someone. You
X cannot write the word "Excalibur" on things for some reason...
X
X - There have been two additions to disallow infinite wand charges.
X First of all, wands with less than zero charges will automatically
X turn to dust (thanks to Kevin Sweet). Next, a wand of cancellation
X will set the number of charges in the wand to -1, which will make it
X forever useless, (thanks to Ron Wessels).
X
X 5) Minor game changes:
X
X - The fountain code has been tightened slightly so you can no longer
X dip objects into a fountain or drink from one while you are floating
X in mid-air due to levitation.
X
X - Teleporting to hell via a teleportation trap will no longer occur
X if the character does not have fire resistance. I found this just
X too arbitrary a way to die (and so did several other people who com-
X plained about it).
X
X - A new trap, the "polymorph" trap has been added by Richard Hughey.
X It's inclusion is dependant on having "KAA" defined.
X
X - In wizard mode, the wizard player has infinite wishes, and the
X ability to instantly identify everything (s)he is carrying. The wizard
X player is also no longer limited by the standard multiple / bonus res-
X trictions on objects wished for.
X
X - Random number generation has been changed around to make it (I hope)
X more unpredictable.
X
X - A large number of typos have been fixed, and all of the British
X spellings converted to American. I would like to see a shell script
X to allow conversion back (or something like that) in the future.
X
X - I have done a "make depend" for the makefiles to reflect a slight
X restructuring in the order of inclusion of header files.
X
X 6) Future additions:
X
X - Steve Creps is working on "barracks" and "soldier" code which is
X now ready for addition. I have added the "soldier" side into the
X game, but haven't really tested it. Steve will be adding the
X "barracks" section in and sending me the resulting patches. There
X will be a minor (read patch) release as soon as he can get the code
X integrated into this release and sent up here to me.
X
X - There are also several other new room projects in the works which
X should be able to be included in that minor release, along with any
X bug reports that are made in the interim.
X
X Mike Stephenson
X
XMail: Genamation Inc. Phone: (416) 475-9434
X 351 Steelcase Rd. W
X Markham, Ontario. UUCP: uunet!{mnetor, utzoo}!genat!mike
X Canada L3R 3W1
END_OF_README
if test 7320 -ne `wc -c <README`; then
echo shar: \"README\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f MANIFEST -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"MANIFEST\"
else
echo shar: Extracting \"MANIFEST\" \(3864 characters\)
sed "s/^X//" >MANIFEST <<'END_OF_MANIFEST'
X File Name Archive # Description
X-----------------------------------------------------------
X Fixes.2.2 13
X Guidebook 1
X Guidebook.mn 3
X MANIFEST 1 This shipping list
X Make.ini 20
X Makefile.att 9
X Makefile.pc 18
X Makefile.tcc 18
X Makefile.unix 17
X Makefile.xenix 17
X Maketcc.ini 20
X NetHack.cnf 6
X README 1
X README.OLD 16
X README.ORIG 14
X alloc.c 19
X apply.c 8
X bones.c 19
X cmd.c 13
X config.h 16
X data.base 14
X date.h 13
X decl.c 1
X do.c 15
X do_name.c 15
X do_wear.c 14
X dog.c 18
X dogmove.c 16
X dothrow.c 17
X eat.c 9
X edog.h 8
X end.c 15
X engrave.c 11
X eshk.h 20
X extern.h 20
X fight.c 8
X flag.h 19
X fountain.c 16
X func_tab.h 20
X gen.h 11
X gold.h 3
X hack.c 6
X hack.h 20
X help 18
X hh 20
X invent.c 4
X ioctl.c 20
X lev.c 10
X make.exe.uu 2
X makedefs.c 2
X makemon.c 15
X mfndpos.h 20
X mhitu.c 10
X mklev.c 7
X mkmaze.c 18
X mkobj.c 18
X mkroom.h 20
X mkshop.c 17
X mon.c 7
X monmove.c 11
X monst.c 19
X monst.h 18
X msdos.c 9
X msdos.h 20
X nansi.sys.uu 19
X nethack.6 18
X nethack.cnf 20
X nethack.sh 20
X netquest.sh 20
X o_init.c 17
X obj.h 20
X objclass.h 14
X objects.h 9
X objnam.c 11
X onames.h 15
X options.c 10
X pager.c 14
X pcmain.c 12
X pctty.c 18
X pcunix.c 19
X permonst.h 5
X polyself.c 17
X potion.c 10
X pray.c 17
X pri.c 12
X prisym.c 16
X read.c 8
X rip.c 20
X rm.h 19
X rnd.c 20
X rumors.base 6
X rumors.c 19
X rumors.kaa 19
X rumors.mrx 20
X save.c 13
X search.c 19
X shk.c 4
X shknam.c 14
X sit.c 19
X spell.c 13
X spell.h 20
X steal.c 18
X termcap.c 16
X termcap.cnf 20
X termcap.uu 5
X timeout.c 19
X topl.c 19
X topten.c 7
X track.c 20
X trap.c 3
X trap.h 4
X u_init.c 11
X unixmain.c 12
X unixtty.c 15
X unixunix.c 13
X vault.c 17
X version.c 12
X wield.c 19
X wizard.c 12
X worm.c 18
X worn.c 20
X write.c 16
X wseg.h 20
X you.h 19
X zap.c 5
END_OF_MANIFEST
if test 3864 -ne `wc -c <MANIFEST`; then
echo shar: \"MANIFEST\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f Guidebook -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"Guidebook\"
else
echo shar: Extracting \"Guidebook\" \(42898 characters\)
sed "s/^X//" >Guidebook <<'END_OF_Guidebook'
X
X
X
X
X
X
X
X
X
X
X A Guide to the Mazes of Menace
X
X
X Eric S. Raymond
X Thyrsus Enterprises
X Malvern, PA 19355
X
X
X
X 1. Introduction
X
X You have just finished your years as a student at the local
X adventurer's guild. After much practice and sweat you have fi-
X nally completed your training and are ready to embark upon a
X perilous adventure. As a test of your skills, the local guild-
X masters have sent you into the Dungeons of Doom. Your task is to
X return with the Amulet of Yendor. Your reward for the completion
X of this task will be a full membership in the local guild. In
X addition, you are allowed to keep all the loot you bring back
X from the dungeons.
X
X You have abilities and strengths for dealing with the ha-
X zards of adventure that will vary depending on your background
X and training. Here is a summary of the character classes:
X
X Cavemen and Cavewomen start with exceptional strength and
X neolithic weapons.
X
X Tourists start out with lots of gold (suitable for shopping
X with) and an expensive camera. Most monsters don't like being
X photographed.
X
X Wizards start out with a fair selection of magical goodies
X and a particular affinity for things thaumaturgical.
X
X Archeologists understand dungeons pretty well. This makes
X them able to move quickly and sneak up on dungeon nasties. They
X start equipped with proper tools for a scientific expedition.
X
X Elves are agile and quick and have keen senses; very little
X of what goes on around an Elf will escape him or her. The quality
X of Elven craftsmanship often gives them an advantage in weapons
X and armor.
X
X Valkyries are hardy warrior women. Their upbringing in the
X harsh Northlands makes them strong and inures them to extremes of
X cold, and instills stealth and cunning in them.
X
X Healers are wise in the apothecary and medical arts. They
X know the herbs and simples that can restore vitality and ease
X
X
X A Guide to the Mazes of Menace 1
X
X
X
X
X
X
X A Guide to the Mazes of Menace 2
X
X
X pain and neutralize poisons, and they can divine a being's state
X of health or sickness.
X
X Knights are distinguished from the common run of fighter by
X their devotion to the ideal of chivalry and the surpassing excel-
X lence of their armor.
X
X Barbarians are warriors out of the hinterland, hardened to
X battle. They begin their quests with naught but uncommon
X strength, a trusty hauberk, and a great two-handed sword.
X
X Samurai are the elite warriors of feudal Nippon. They are
X lightly armored and quick, and wear the dai-sho, two swords of
X the deadliest sharpness.
X
X Ninja are the spy-assassins of Japan. They are quick and
X stealthy, though not as strong as fighters. Their characteristic
X weapon is the deadly shuriken or throwing-star.
X
X Priests and Priestesses are clerics militant, armed and ar-
X mored to advance the cause of righteousness but also equipped
X with some skills in arts thaumaturgic. Their ability to commune
X with deities via prayer occasionally extricates them from peril
X -- but can also put them in it.
X
X You set out on your way to the dungeons and after several
X days of uneventful travel, you see the ancient ruins that mark
X the entrance to the Mazes of Menace. It is late at night, so
X you make camp at the entrance and spend the night sleeping under
X the open skies. In the morning you gather your weapons and dev-
X ices, eat what is almost your last food, and enter the dungeons.
X
X 2. What is going on here?
X
X You have just begun a game of nethack. Your goal is to grab
X as much treasure as you can, find the Amulet of Yendor, and get
X out of the Mazes of Menace alive. On the screen, a map of where
X you have been and what you have seen on the current dungeon level
X is kept. As you explore more of the level, it appears on the
X screen in front of you.
X
X Nethack differs from most computer fantasy games (other than
X its ancestors hack and rogue and its cousin larn) in that it is
X screen oriented. Commands are all one or two keystrokes (as op-
X posed to sentences in some losing parser's notion of English) and
X the results of your commands are displayed graphically on the
X screen rather than being explained in words (a minimum screen
X size of 24 lines by 80 columns is required; if the screen is
X larger, only a 24x80 section will be used for the map).
X
X Another major difference between nethack and other computer
X fantasy games is that once you have solved all the puzzles in a
X standard fantasy game, it has lost most of its excitement and it
X ceases to be fun. Nethack, on the other hand, generates a new
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 3
X
X
X dungeon every time you play it and even the authors still find it
X an entertaining and exciting game.
X
X 3. What do all those things on the screen mean?
X
X In order to understand what is going on in nethack you have
X to first get some grasp of what nethack is doing with the screen.
X The nethack screen is intended to replace the "You can see ..."
X descriptions of text fantasy games. Figure 1 is a sample of what
X a nethack screen might look like.
X
X 3.1. The bottom line
X
X At the bottom line of the screen are a few pieces of cryp-
X tic information describing your current status. Here is an ex-
X planation of what these things mean:
X
X Level
X This number indicates how deep you have gone in the dungeon.
X It starts at one and goes up as you go deeper into the
X dungeon.
X
X Gold The number of gold pieces you have managed to find and keep
X with you so far.
X
X Hp Your current and maximum health points. Health points in-
X dicate how much damage you can take before you die. The
X more you get hit in a fight, the lower they get. You can
X regain health points by resting. The number in parentheses
X is the maximum number your health points can reach.
X
X ____________________________________________________________
X
X ------------
X |..........+
X |..@....]..|
X |....B.....|
X |..........|
X -----+------
X
X
X
X Lev 1 Gp 0 Hp 12(12) Ep 3(3) Ac 8 Str 16(16) Exp: 1/0
X ____________________________________________________________
X
X Figure 1
X
X
X Ep Energy points. This tells you the level of mystic energy you
X have available for spell casting. When you type `x' to list
X your spells, each will have a spell point cost beside it in
X parentheses. You will not see this if your site's version of
X the game has been configured to omit spells.
X
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 4
X
X
X Ac Your current armor protection. This number indicates how
X effective your armor is in stopping blows from unfriendly
X creatures. The lower this number is, the more effective the
X armor.
X
X Str Your current strength and maximum ever strength. This can
X be any integer less than or equal to 18, or greater than or
X equal to three (occasionally you may get super-strengths of
X the form 18/xx). The higher the number, the stronger you
X are. The number in the parentheses is the maximum strength
X you have attained so far this game.
X
X Exp These two numbers give your current experience level and ex-
X perience points. As you do things, you gain experience
X points. At certain experience point totals, you gain an
X experience level. The more experienced you are, the better
X you are able to fight and to withstand magical attacks.
X
X 3.2. The top line
X
X The top line of the screen is reserved for printing messages
X that describe things that are impossible to represent visually.
X If you see a "--More--" on the top line, this means that
X nethack wants to print another message on the screen, but it
X wants to make certain that you have read the one that is there
X first. To read the next message, just type a space.
X
X 3.3. The rest of the screen
X
X The rest of the screen is the map of the level as you have
X explored it so far. Each symbol on the screen represents some-
X thing. Here is a list of what the various symbols mean:
X
X - and |
X These form the walls of a room (or maze).
X
X . this is the floor of a room.
X
X # this is a corridor.
X
X > this is the staircase to the next level.
X
X < the staircase to the previous level.
X
X ` A large boulder.
X
X @ You (usually) or another human.
X
X ^ A trap.
X
X ) A weapon of some sort.
X
X ( Some other useful object (key, rope, dynamite, camera...)
X
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 5
X
X
X [ A suit of armor.
X
X % A piece of food (not necessarily healthy...).
X
X / A wand.
X
X = A ring.
X
X ? A scroll.
X
X ! A magic potion.
X
X + A spellbook containing a spell you can learn; (but usually a
X doorway).
X
X } A pool of water
X
X { A fountain (your dungeon may not have these).
X
X \ An opulent throne (You may not have this either).
X
X $ A pile or pot of gold.
X
X a-zA-Z
X The uppercase letters represent the various inhabitants of
X the Mazes of Menace. Watch out, they can be nasty and vi-
X cious. Sometimes, however, they can be helpful.
X
X 4. Commands
X
X Commands are given to nethack by typing one or two charac-
X ters. Most commands can be preceded by a count to repeat them
X (e.g. typing "10s" will do ten searches). Commands for which
X counts make no sense have the count ignored. To cancel a count
X or a prefix, type <ESCAPE>. The list of commands is rather long,
X but it can be read at any time during the game with the "?" com-
X mand. Here it is for reference, with a short explanation of each
X command.
X
X ? help: print a help list.
X
X Q Quit the game.
X
X S Save the game.
X
X ! Escape to a shell.
X
X ^Z Suspend the game (UNIX versions with job control only).
X
X < up: go up the staircase (if you are standing on it).
X
X > down: go down (just like up).
X
X
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 6
X
X
X [kjhlyubn]
X go one step in the direction indicated.
X
X k: north (i.e., to the top of the screen),
X j: south, h: west, l: east, y: ne, u: nw, b: se, n: sw.
X
X KJHLYUBN
X Go in that direction until you hit a wall or run into some-
X thing.
X
X m[kjhlyubn]
X prefix: move without picking up any objects.
X
X M[kjhlyubn]
X prefix: move far, no pickup.
X
X g[kjhlyubn]
X prefix: move until something interesting is found.
X
X G[kjhlyubn]
X as previous, but forking of corridors is not considered in-
X teresting.
X
X i print your inventory.
X
X I print selected parts of your inventory, like in
X
X I* - all gems in inventory;
X IU - all unpaid items;
X IX - all used up items that are on your shopping bill;
X I$ - count your money.
X
X s search for secret doors and traps around you.
X
X ^ ask for the type of a trap you found earlier.
X
X ) ask for current wielded weapon.
X
X [ ask for current armor.
X
X = ask for current rings.
X
X $ count how many gold pieces you are carrying.
X
X . rest, do nothing.
X
X , pick up some things.
X
X : look at what is here.
X
X ^T teleport.
X
X ^R redraw the screen.
X
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 7
X
X
X ^P repeat last message (subsequent ^P's repeat earlier mes-
X sages).
X
X / (followed by any symbol) tell what this symbol represents.If
X you see fancy graphics on your screen it may ask you to
X specify a location rather than taking a symbol argument.
X
X \ tell what has been discovered.
X
X e eat food.
X
X w wield weapon. w- means: wield nothing, use bare hands.
X
X q drink (quaff) a potion.
X
X r read a scroll.
X
X T Takeoff armor. Remove Ring.
X
X W Wear armor.
X
X P Put on a ring.
X
X X transcribe (learn) a spell.
X
X x print a list of know spells.
X
X z zap a wand.
X
X Z zap a spell; same as the `# cast' extended command
X
X t throw an object or shoot an arrow.
X
X p pay your shopping bill.
X
X d drop something. d7a: drop seven items of object a.
X
X D Drop several things. In answer to the question "What kinds
X of things do you want to drop? [!%= au]" you should give
X zero or more object symbols possibly followed by 'a' and/or
X 'u'.
X
X a apply - Generic command for using a key to lock or unlock a
X door, using a camera, using a rope, etc.
X
X c call: name a certain object or class of objects.
X
X C Call: Name an individual monster.
X
X E Engrave: Write a message in the dust on the floor. E-
X means: use fingers for writing.
X
X O Set options. You will be asked to enter an option line. If
X this is empty, the current options are reported. Otherwise
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 8
X
X
X it should be a list of options separated by commas. Possible
X boolean options are: oneline, time, news, tombstone,
X rest_on_space, fixinvlet, beginner, male, female. They can
X be negated by prefixing them with answer to the question"Who
X are you?"; it may have a suffix. A compound option is
X endgame; it is followed by a description of what parts of
X the list of topscorers should be printed when the game is
X finished. There is also a graphics option that sets the
X characters used for screen displays. Usually one will not
X want to use the 'O' command, but instead put a HACKOP-
X TIONS="...." line in one's environment.
X
X v print version number.
X
X V display the game history (about one page).
X
X You can put a number before most commands to repeat them
X that many times, as in "20s" or "40.".
X
X 5. Rooms
X
X Rooms in the dungeons are either lit or dark. If you walk
X into a lit room, the entire room will be drawn on the screen as
X soon as you enter. If you walk into a dark room, it will only be
X displayed as you explore it. Upon leaving a room, all monsters
X inside the room are erased from the screen. In the darkness you
X can only see one space in all directions around you. A corridor
X is always dark.
X
X 6. Fighting
X
X If you see a monster and you wish to fight it, just attempt
X to run into it. Many times a monster you find will mind its own
X business unless you attack it. It is often the case that discre-
X tion is the better part of valor.
X
X 7. Objects you can find
X
X When you find something in the dungeon, it is common to want
X to pick the object up. This is accomplished in nethack by walk-
X ing over the object (unless you use the "m" prefix, see above).
X If you are carrying too many things, the program will tell you
X and it won't pick up the object, otherwise it will add it to
X your pack and tell you what you just picked up.
X
X Many of the commands that operate on objects must prompt you
X to find out which object you want to use. If you change your
X mind and don't want to do that command after all, just type an
X <ESCAPE> and the command will be aborted.
X
X Some objects, like armor and weapons, are easily differen-
X tiated. Others, like scrolls and potions, are given labels
X which vary according to type. During a game, any two of the same
X kind of object with the same label are the same type. However,
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 9
X
X
X the labels will vary from game to game.
X
X When you use one of these labeled objects, if its effect is
X obvious, nethack will remember what it is for you. If its effect
X isn't extremely obvious you will be asked what you want to scrib-
X ble on it so you will recognize it later, or you can use the
X "call" command (see above).
X
X 7.1. Weapons
X
X Some weapons, like arrows, come in bunches, but most come
X one at a time. In order to use a weapon, you must wield it.
X To fire an arrow out of a bow, you must first wield the bow,
X then throw the arrow. You can only wield one weapon at a time,
X but you can't change weapons if the one you are currently wield-
X ing is cursed. The commands to use weapons are "w" (wield) and
X "t" (throw).
X
X 7.2. Armor
X
X There are various sorts of armor lying around in the
X dungeon. Some of it is enchanted, some is cursed, and some is
X just normal. Different armor types have different armor protec-
X tion. The higher the armor protection, the more protection the
X armor affords against the blows of monsters. Here is a partial
X list of the various armor types and the level of armor protection
X each will give.
X
X plate mail 3
X splint mail 4
X banded mail 4
X chain mail 5
X scale mail 6
X ring mail 7
X studded leather armor 7
X leather armor 8
X elven cloak 9
X
X If a piece of armor is enchanted, its armor protection will
X be higher than normal. If a suit of armor is cursed, its armor
X protection will be lower, and you will not be able to remove it.
X However, not all armor with a protection that is lower than nor-
X mal is cursed and some enchanted armor is also "cursed" prevent-
X ing removal.
X
X The commands to use weapons are "W" (wear) and "T" (take
X off).
X
X 7.3. Scrolls
X
X Scrolls come with titles in an unknown tongue. After you
X read a scroll, it disappears from your pack. The command to use
X a scroll is "r" (read).
X
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 10
X
X
X 7.4. Potions
X
X Potions are labeled by the color of the liquid inside the
X flask. They disappear after being quaffed. The command to use a
X scroll is "q" (quaff).
X
X 7.5. Staves and Wands
X
X Staves and wands do the same kinds of things. Staves are
X identified by a type of wood; wands by a type of metal or bone.
X They are generally things you want to do to something over a long
X distance, so you must point them at what you wish to affect to
X use them. Some staves are not affected by the direction they
X are pointed, though. Staves come with multiple magic charges,
X the number being random, and when they are used up, the staff is
X just a piece of wood or metal.
X
X The command to use a wand or staff is "z" (zap)
X
X 7.6. Rings
X
X Rings are very useful items, since they are relatively per-
X manent magic, unlike the usually fleeting effects of potions,
X scrolls, and staves. Of course, both good and bad rings are more
X powerful. Most rings also cause you to use up food more rapid-
X ly, the rate varying with the type of ring. Rings are differen-
X tiated by their stone settings. Some rings are cursed, prevent-
X ing removal. This can happen to helpful and harmful rings alike.
X
X The commands to use rings are "P" (put on) and "R" (remove).
X
X 7.7. Spellbooks
X
X Spellbooks are tomes of mighty magic. When read with the
X `transcribe' command X, they plant the knowledge of a spell in
X your head and disappear - unless the attempt backfires. Reading a
X spellbook can be harmful to your health if it is cursed or the
X mystic runes are at too high a level for your thaumaturgic
X skills!
X
X Casting spells can also backfire. If you attempt to cast a
X spell well above your level, or cast it at a time when your luck
X is particularly bad, you can end up wasting both the energy and
X the time required in casting.
X
X The `x' command lists your current spells, each preceded by
X the spell points they require. to cast a spell, type `Z' and
X answer the questions.
X
X 7.8. Food
X
X Food is necessary to keep you going. If you go too long
X without eating you will faint, and eventually die of starvation.
X The command to use food is "e" (eat).
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 11
X
X
X 7.9. Options
X
X Due to variations in personal tastes and conceptions of the
X way nethack should do things, there are a set of options you can
X set that cause nethack to behave in various different ways.
X
X 7.10. Setting the options
X
X There are two ways to set the options. The first is with
X the "O" command of nethack; the second is with the "HACKOP-
X TIONS" environment variable.
X
X 7.11. Using the `O' command
X
X When you type "O" in nethack, it queries you for an option
X string which is parsed as though it were a HACKOPTIONS value.
X
X 7.12. Using the HACKOPTIONS variable
X
X The HACKOPTIONS variable is a string containing a comma-
X separated list of initial values for the various options. Boolean
X variables can be turned on by listing their name or turned off by
X putting a `!' or "no" in front of the name. You can set string
X variables by following the variable name with a colon (this char-
X acter was chosen over = to avoid conflict with the ring symbol)
X and the value of the string. The value is terminated by the next
X comma or the end of string.
X
X Thus to set up an environment variable so that `female' is
X on, `pickup' is off, and the name is set to "Blue Meanie", you
X would enter the command
X
X % setenv HACKOPTIONS "female,!pickup,name:Blue Meanie"
X
X in csh, or
X
X $ HACKOPTIONS="female,!pickup,name:Blue Meanie"
X $ export HACKOPTIONS
X
X in sh or ksh.
X
X 7.13. Customization options
X
X Here is a list of the options and an explanation of what
X each one is for. The default value for each is enclosed in
X square brackets. For character string options, input over fifty
X characters will be ignored.
X
X Note: some of the options listed may be inactive if the game
X has been subsetted.
X
X standout
X (default on) use standout where appropriate in display
X lists.
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 12
X
X
X null
X (default off) don't send padding nulls to the tty.
X
X tombstone
X (default on) display tombstone graphic on death.
X
X news
X (default on) read hack news if present.
X
X conf
X (default on) have user confirm attacks on dogs and shop-
X keepers.
X
X silent
X (default on) suppress terminal beeps.
X
X pick
X (default on) pick up things you move onto by default.
X
X IBMB
X (default off, PC-HACK only) for machines with an IBM-PC com-
X patible BIOS ROM.
X
X DECR
X (default off, PC-HACK only) for machines with DEC Rainbow
X compatible BIOS ROMs.
X
X rawi
X (default off) force raw (not cbreak mode) input.
X
X sort
X (default on) sort the pack contents by type when displaying
X inventory.
X
X packorder
X (default `)[%?+/=!(*0 )') specify order to list object
X types in. The value of this option should be a string con-
X taining the symbols for the various object types.
X
X dogname
X give your (first) dog a name (eg. dogname:Fang).
X
X time
X (default off) show game time in turns on bottom line.
X
X restonspace
X (default off) make spacebar a synonym for `.'.
X
X fixinv
X (default on) an object's inventory letter sticks to it until
X it's dropped. If this is off, everything after a dropped
X object shifts letters.
X
X
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 13
X
X
X male
X (default on, most hackers are male) sets the player-
X character's sex.
X
X female
X (default off) sets the player-character's sex (equal-
X opportunity feature :-)).
X
X name
X (defaults to player's username) Set the player-character's
X name.
X
X graphics
X (default ` |-++++.:<>^{}\"') set the graphics symbols for
X screen displays. The graphics option (if used) should be
X last, followed by a string of up to ", 17 chars to be used
X instead of the default map-drawing chars. Replacing for any
X of these chars causes it to be replaced in the dungeon level
X displays, except that the five instances of + are used for
X top left, top right, bottom left, bottom right and door
X squares respectively. The last four characters are required
X only if the corresponding options are configured in.
X
X endgame
X Endgame is followed by a description of what parts of the
X scorelist you want to see. You might for example say:
X
X `endgame:own scores/5 top scores/4 around my score'.
X
X In the PC-HACK version, options may be set in a configura-
X tion file on disk as well as from the hack options.
X
X 7.14. Scoring
X
X Nethack usually maintains a list of the top scoring people
X or scores on your machine. Depending on how it is set up, it can
X post either the top scores or the top players. In the latter
X case, each account on the machine can post only one non-winning
X score on this list. If you score higher than someone else on
X this list, or better your previous score on the list, you will be
X inserted in the proper place under your current name. How many
X scores are kept can also be set up by whoever installs it on your
X machine.
X
X If you quit the game, you get out with all of your gold in-
X tact. If, however, you get killed in the Dungeons of Doom,
X your body is forwarded to your next-of-kin, along with 90% of
X your gold; ten percent of your gold is kept by the Dungeons'
X wizard as a fee. This should make you consider whether you want
X to take one last hit at that monster and possibly live, or quit
X and thus stop with whatever you have. If you quit, you do get
X all your gold, but if you swing and live, you might find more.
X
X
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 14
X
X
X If you just want to see what the current top players/ games
X list is, you can type
X
X % nethack -s
X
X 8. Credits
X
X The original hack game was modeled on the Berkeley UNIX `ro-
X gue' game. Large portions of this paper were shamelessly cribbed
X from A Guide to the Dungeons of Doom, by Michael C. Toy and Ken-
X neth C. R. C. Arnold.
X
X NetHack is the product of literally dozens of people's work.
X A list of some of those who made major additions to the game ap-
X pears below:
X
X Jay Fenlason
X wrote the original release of "Hack", with helpfrom Kenny
X Woodland, Mike Thome and Jon Payne.
X
X Andries Brouwer
X did a major re-write on the program andpublshed (at least)
X two versions to the Usenet.
X
X Don G. Kneller
X ported the 1.0.3 version of Hack to the PC, creating PC-
X Hack.
X
X The following folks didn't actually re-write the game, or
X port it to a new machine, but have made significant contributions
X to the playability of the game:
X
X ins_akaa@jhunix.UUCP (Ken Arromdee)
X New character classes. New weapons code. Armor weights im-
X plemented. New tools code. Polymorph Self code. Bug fixes.
X
X srt@ucla-cs (Scott R. Turner)
X Rockmole & Keystone Kops code. Squeaky Board & Magic traps.
X Fountain code. More bug fixes.
X
X gil@cornell.UUCP (Gil Neiger)
X Magic Marker code. Fountain code enhancements. Enhancements
X to dozens of routines. More bug fixes (esp. in hack.zap.c).
X
X ericb@hplsla.UUCP (Eric Backus)
X The #dip mods to fountain code. Yet more bug fixes.
X
X mike@genat.UUCP (Mike Stephenson)
X New character classes and traps. Throne Rooms. Spellbooks
X and spellcasting. Praying. Endgame enhancements. Nethack
X release and coordination.
X
X eric@snark (Eric S. Raymond)
X The GRAPHICS option. Changes to make character classes more
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 15
X
X
X individual and mythohistorically authentic. Better random-
X number generation. The blindfold tool. The 'Z' spellcasting
X command synonym. General cleanup of much grotty code, remo-
X val of magic numbers. More bug fixes. This Guide you're
X reading.
X
X You too can enhance this game and join the hallowed ranks of
X the net.benefactors. Happy hacking!
X
X Appendix A: Weapon Types in Hack
X
X This material is adapted from a digest of email replies to
X Carole Chang (carole@uhcc.uhccux.ha). Major sources were:
X
X Paul Anderson pha@net1.ucsd.edu
X Vernon Lee scorpion@rice.edu
X Bryan Ewbank ihlph!bdewbank
X
X Some terminological corrections (notably the correct set of dis-
X tinctions for the great mace/morningstar/flail controversy) were
X made by your editor (eric@snark), and a good bit of historical
X context added.
X
X
X 8.1. Polearms
X
X The following weapons are all "pole arms", meaning that they
X are wooden shafts (5-9' long) capped with a particular weapon-
X head. We list these first as they are most likely to mystify a
X novice hacker.
X
X glaive
X a short polearm with a straight blade at the end of the
X shaft. Rare in Europe; more popular in non-Western cultures
X under other names, as in the Zulu war assegai and Japanese
X ashigaru's pike.
X
X halberd
X a long (typically 6' or more) polearm ending with a single
X axe-head, backed by a spike and tipped by a spear-head. An
X extremely popular weapon in Europe from the Dark Ages to as
X late as 1650. You can see them in pictures of royal or elite
X Spanish, English, and French troops or the Vatican's Swiss
X Guards.
X
X bill-guisarme
X a polearm, ends in a spear-head with a spike on one side and
X a hook on the other.
X
X fauchard
X a polearm topped by a curved sickle-blade.
X
X bec-de-corbin
X (literally "crow's-beak") a polearm ending in a stout
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 16
X
X
X spear-point, with a small axe-head on one side and a beak-
X shaped spike on the other. This weapon was designed to act
X like a can-opener for infantry fighting plate-armored
X knights.
X
X guisarme
X a polearm, ends with a sharpened pruning hook.
X
X spetum
X a polearm, ends with a spear-blade that has a smaller blade
X jutting at an angle from either side; the idea was to catch
X an opponent's weapon between two blades and disarm him with
X a twist of the shaft. Compare the japanese sai.
X
X partisan
X a polearm, has a spear-head with a small axe-head to either
X side. Peasant levies often carried these; hence our modern
X usage of `partisans' to describe guerilla or irregular
X troops.
X
X lucern
X a polearm, ends in a forward-pointing and one or more
X curved, downward-pointing (i.e.perpendicular) spikes. Named
X after the Swiss city and canton of Lucerne.
X
X voulge
X a polearm, with a straight single-edged blade depending from
X one side of the shaft's end.
X
X ranseur
X a polearm, ends with a broad spear-head with a flat base,
X and a broader "hilt" (often a straight piece with sharpened
X ends) behind it. As with the spetum, the idea was to catch
X weapons between the blade and "hilt".
X
X
X
X 8.2. Blade weapons
X
X Blades were, in most pre-gunpowder martial cultures, the
X preferred weapon for one-on-one combat. Nethack includes several
X kinds:
X
X dagger
X broadly speaking, could describe any blade less than about
X two feet long. But `dagger' tends to suggest a hilted,
X double-edged weapon.
X
X short
X are 2-3' long and used for stabbing. The Roman legionary's
X gladius and the American frontiersman's Bowie knife were
X both short swords.
X
X
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 17
X
X
X broad
X are 3-4' long; they have sharpened edged for chopping and
X cleaving.
X
X long are also 3-4' long; they are narrower with sharpened tips
X for stabbing and slashing.
X
X two-handed
X are 5-6' long, with long handles because they require both
X hands to use.
X
X bastard
X a cleaving weapon 4-5' long, which can be wielded with one
X or (more effectively) two hands.
X
X scimitar
X a type of curved, single-edged blade popular since ancient
X times in the Near East, designed for slashing and drawing
X strokes. Recent European weapons modeled on it include the
X sabre and cutlass.
X
X katana
X the long, slender, sabre-like swords of the Japanese samu-
X rai, often considered the finest blade weapons ever made.
X Japanese forging techniques produced what was in effect a
X micro-layered composite of high and low carbon steels, giv-
X ing the blade its unique razor-sharpness and flexibility.
X
X
X 8.3. Missile weapons
X
X These are all weapons meant to transfer kinetic energy to a
X target via a rigid thrown projectile.
X
X bow in nethack, probably represents the 'self bow', a smaller
X single-piece or composite bow firing short feather-quilled
X arrows (rather than the classic Robin Hood longbow with its
X yard-long shafts).
X
X crossbow
X a mechanically-cranked bow firing stubby conical-profile
X bolts, sometimes finned. Had a lower rate of fire than the
X self- or long-bow but fearsome penetrating power.
X
X javelin
X a lightweight, flexible throwing spear.
X
X dart not the three-inch, needle-pointed pub dart associated with
X ale and tweed caps; rather, its progenitor, a shorter
X javelin-like projectile that was mostly soft-iron head. Bar-
X rages of these were thrown as first volleys in infantry
X skirmishes to foul the opponents' shields.
X
X
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
X
X
X
X A Guide to the Mazes of Menace 18
X
X
X shuriken
X a flat, spiked wheel designed to be thrown with a wrist-
X flick so the blades spin like a buzz-saw in flight. Also
X called a `throwing star' or (in India) the `chakram'.
X
X
X 8.4. Miscellaneous strange weapons
X
X bardiche
X (literally, "bearded axe") a short shaft (5') with an enor-
X mous long axe-head, connected at at least two places. Basi-
X cally a huge axe (or a short voulge).
X
X morning-star
X usually a spiked ball attached by a chain to a truncheon-
X like handle. The term is sometimes used to describe maces
X with spiked heads.
X
X flail
X several chains, possibly spiked and possibly with small
X balls on the ends, stapled to a truncheon.
X
X crysknife
X a fantasy weapon adapted from Frank Herbert's "Dune" books.
X On Herbert's Arrakis, the fierce Fremen made their personal
X weapons from the scimitar teeth of the shai hulud, the great
X sandworms of the Dune deserts.
X
X aklys
X a long thong with a weight at the end. Holding the other end
X of the thong, you throw the weight; the thong entangles the
X target, and the weight whaps it.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X Nethack Version 2.0 September 25, 1987
X
X
X
END_OF_Guidebook
if test 42898 -ne `wc -c <Guidebook`; then
echo shar: \"Guidebook\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f decl.c -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"decl.c\"
else
echo shar: Extracting \"decl.c\" \(2361 characters\)
sed "s/^X//" >decl.c <<'END_OF_decl.c'
X/* SCCS Id: @(#)decl.c 2.1 87/10/19
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X
X#include "hack.h"
Xchar nul[40]; /* contains zeros */
Xchar plname[PL_NSIZ]; /* player name */
X
X#ifdef GRAPHICS
Xstruct symbols defsyms = {
X ' ', '|', '-', '-', '-', '-', '-', '+', '.', '#', '<', '>', '^',
X#ifdef FOUNTAINS
X '}', '{',
X#endif
X#ifdef NEWCLASS
X '\\',
X#endif
X#ifdef SPIDERS
X '"',
X#endif
X};
Xstruct symbols showsyms; /* will contain the symbols actually used */
X#endif /* GRAPHICS /**/
X
X#ifdef DGK
Xchar hackdir[PATHLEN]; /* where rumors, help, record are */
Xchar levels[PATHLEN]; /* where levels are */
Xchar lock[FILENAME]; /* pathname of level files */
Xchar permbones[PATHLEN]; /* where permanent copy of bones go */
Xint ramdisk = FALSE; /* whether to copy bones to levels or not */
Xstruct symbols symbol = {'|', '-', '-', '-', '-', '-', '+', '.', '#'};
Xint saveprompt = TRUE;
Xchar *alllevels = "levels.*";
Xchar *allbones = "bones.*";
Xchar *configfile = "NetHack.cnf"; /* read by read_config_file() */
X#else
Xchar lock[PL_NSIZ+4] = "1lock"; /* long enough for login name .99 */
X#endif
X
Xboolean in_mklev, restoring;
Xstruct rm levl[COLNO][ROWNO]; /* level map */
X
X#ifndef QUEST
X#include "mkroom.h"
Xstruct mkroom rooms[MAXNROFROOMS+1];
Xcoord doors[DOORMAX];
X#endif
Xstruct monst *fmon = 0;
Xstruct trap *ftrap = 0;
Xstruct gold *fgold = 0;
Xstruct obj *fobj = 0, *fcobj = 0, *invent = 0, *uwep = 0, *uarm = 0,
X *uarm2 = 0, *uarmh = 0, *uarms = 0, *uarmg = 0, *uright = 0,
X *uleft = 0, *uchain = 0, *uball = 0;
Xstruct flag flags;
Xstruct you u;
X#ifdef SPELLS
Xstruct spell spl_book[MAXSPELL + 1];
X#endif
Xstruct rm levl[COLNO][ROWNO]; /* level map */
Xstruct monst youmonst; /* dummy; used as return value for boomhit */
X
Xxchar dlevel = 1;
Xxchar xupstair, yupstair, xdnstair, ydnstair;
Xchar *save_cm = 0, *killer, *nomovemsg;
X
Xlong moves = 1;
Xlong wailmsg = 0;
Xint multi = 0;
Xchar *occtxt;
X#ifdef DGKMOD
Xint occtime;
X#endif
X#ifdef REDO
Xint in_doagain = FALSE;
X#endif
X
Xchar *HI, *HE; /* set up in termcap.c */
X#ifdef MSDOSCOLOR
Xchar *HI_MON, *HI_OBJ; /* set up in termcap.c */
X#endif
X
Xchar genocided[60];
Xchar fut_geno[60];
X#ifdef KAA
Xboolean stoned; /* done to monsters hit by 'c' */
Xboolean unweapon;
X#endif
X
Xxchar curx,cury;
Xxchar seelx, seehx, seely, seehy; /* corners of lit room */
X
Xcoord bhitpos;
X
Xchar quitchars[] = " \r\n\033";
END_OF_decl.c
if test 2361 -ne `wc -c <decl.c`; then
echo shar: \"decl.c\" unpacked with wrong size!
fi
# end of overwriting check
fi
echo shar: End of archive 1 \(of 20\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 20 archives.
rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
echo You still need to unpack the following archives:
echo " " ${MISSING}
fi
## End of shell archive.
exit 0