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