diff -Naurd ../nethack-3.4.0/doc/fixes34.1 ./doc/fixes34.1 --- ../nethack-3.4.0/doc/fixes34.1 Thu Jan 1 01:00:00 1970 +++ ./doc/fixes34.1 Mon Feb 24 15:25:05 2003 @@ -0,0 +1,471 @@ +$RCSfile: fixes34.1,v $ $Revision: 1.331 $ $Date: 2003/02/20 00:19:46 $ + +General Fixes and Modified Features +----------------------------------- +prevent panic() obj_not_free when pushing a boulder over a landmine +there was no feedback when successfully hitting shock resistant monsters + with Mjollnir via hand-to-hand attack +unbought single-bite food eaten in shops was not billed properly +charge for shop contents inside "no charge" containers +add wishing for "nothing" and genociding "none" to the conduct section + of the Guidebook +allow both wishing and genocide to accept either "none" or "nothing" when + the player wants to decline +left word in format string in get_wet() causing "The spellbook fadefades" +two bad wizkit items in a row shouldn't make the user hit space many times +kicking thrones no longer loosens rocks +wall symbol not replaced when digging while blind and levitating +increment FQN_NUMBUF from 2 to 3 to prevent premature reuse of a buffer + that caused a level creation error to be reported as a lock file error +print regular death message when leashed, mounted steed dies of starvation +fix more funny messages, new and old +restore the behavior of bumping into closed doors when moving while impaired +fix iron ball cases that could put the chain in solid rock +discovering a mimic on a closed door location should not unblock the location +don't drop corpse when a monster kills another monster on an inaccessible + location (i.e. behave like xkilled behaves) +half-physical-damage from gas spore explosion should only affect you +Sunsword didn't stop glowing when hero killed a monster wielding it +mimics caught in explosions with messages printed about them are discovered +let lev_comp and dgn_comp accept optional carriage return character prior to + the terminating newline in special level and dungeon description files +Wizard of Yendor will start harassing you after the invocation if you've + managed to get that far without ever killing him +characters polymorphed into centaurs can't wear boots +if an unknown rolling boulder trap kills a monster, you shouldn't be a murderer +touchstone entry in data.base +specific message for engraving headstone with wand of digging +wielded/quivered chained ball should be unwielded when thrown +polymorphing into a form that cannot twoweapon should immediately disable + twoweapon mode; likewise when reverting from a monster form which + can use two weapons to a normal form which can't +taking partial count of merged objects from a container while your pack + was full split the object and did not re-merge +animal_parts are not always appropriate for ravens +prevent panic if tombstone window cannot be created +clarify travel command behavior in the Guidebook +touch_artifact checks needed when snagging w/bullwhip and stealing +cannot trip over submerged objects if you're water walking +wand of striking was not identified if it activated a statue trap +cannot sacrifice while you're swallowed +player polymorphed into an eel cannot drown breathless/amphibious monsters +avoid dmonsfree impossible message due to migrating a dead monster via + mhurtle causing the monster to end up in a hole or other trap +avoid temporary disappearing Burdened message due to updating status line + midway thru in_container +don't credit player's wisdom when makelevel creates random Elbereth engravings +reduce insect/monster creation from monster spells and limit chain summons +avoid "couldn't place lregion type 5" warning when arriving at Plane of Fire +avoid crash due to delayed poly or were change no longer being valid +ensure that Priest's ability to recognize B/U/C is considered in B/U/C menus +can't push boulders through iron bars; traps can't roll such through either; + likewise for objects thrown by monsters +thrown objects susceptible to breaking might do so when they hit iron bars +assorted monsters can pass through iron bars; ditto for polymorphed character +attempting to dig iron bars will wake nearby monsters instead of yielding + "you swing your pick-axe through thin air" +autodig won't accept iron bars as candidate location +allow knight to retaliate for all thefts except those "you gladly hand over..." +randomize starting position on goal level for M, P, and S quests +prevent the Wizard of Yendor from displacing the high priest of Moloch out of + the Sanctum's temple +ATR_BOLD on spell menu header +travel command should restrict its shortest paths to areas of the map the + hero knows about or might reasonably guess +non-altar prayer should limit god action, not maximize it +potions of acid explode, not dilute, so make water_damage behave this way +lookat monster notes if you see monster is trapped +don't crash when angry shopkeeper re-enters the shop and you pick up something +monsters with WAITFORU strategy should act if successfully attacked by + non-damaging attacks (e.g. seduction, rust damage) +don't summon kops if credit covers cost of unpaid goods taken out of shop +update swallowed display immediately if an engulfing monster polymorphs + into another engulfing monster +undo xname FAKE_AMULET_OF_YENDOR AD_DRIN check, the_unique_obj checks this case +axes should chop trees; picks shouldn't +chance to aim grappling hook when skilled or better +level limit of monsters like naga hatchlings should be high enough to grow up +scroll of enchant weapon will become discovered when read in some cases +don't crash when using lookat on a boulder an BOULDER sym is unique +attaching a single candle to fill candelabrum's last slot gave message with + poor grammar: "The candelabrum now has seven candle attached." +vault guards won't ask who you are if you're unconscious or paralyzed +monsters should not repeatedly try to teleport on noteleport levels +crocodiles legs are not designed for kicking open doors, chests, et al. +walls of one of the luckstone locations in minend-3 were diggable +minetn-6 could place downstairs in a cut-off location +corpses in bones files don't retain their role characteristic +boulder was not displayed if blind and discovered with a monster known via + ESP behind it +don't claim that statue comes to life if the monster it turns into is invisible +fix goodpos() so worm segments don't get placed on top of each other (causing + a possible display problem if the worm is cut in two) +fix fountain noises on some special levels (castle, valk home, various mines) +disallow mounting a trapped steed to avoid inappropriate trap effects +#chat with meditating monster will rouse it +suppress redundant message when stoning effect transforms a golem +clear worn bits of any object grabbed by shopkeeper to avoid extract_nobj panic +looting any container on a location should suppress looting nearby monsters +give more specific message when forbidden role attempts to use twoweapon mode +avoid double billing if #loot causes a shop's bag of holding to explode +when polymorphed, player killing a paper or straw golem via fire damage + would kill the golem twice, resulting in an impossible error +usually stop mimicing if you polymorph while using #monster mimic capability +under !GOLDOBJ, gold shouldn't disappear if you try to throw it at yourself +under !GOLDOBJ, remove temp gold from inventory during restore +Staff of Aesculapius did not always cure sliming +correct singularization of fungi, liches, vortices +prevent "remove_object: obj not on floor" panic for iron ball placement if + riding while punished leads to a fall off steed when changing levels +specifying -D (or -X) to enter explore mode while restarting from a save + file was lost in the restore process +fix crash when using lookat on an known invisible monster with monster syms set +prevent getting stuck in infinite loop when using wizard mode #levelchange + command to reduce level while having level-drain resistance +naming an already wielded elven dagger "Sting" activates warning against orcs +naming either of the wielded weapons unintentionally ends two-weapon combat +Various nemesis monsters must resist stoning so their death messages make sense +don't call DEBUG impossible in rn2 when a level 0 monster tries to cast a spell +GOLDOBJ: don't call money2mon with 0 zero when killed by shopkeeper +headstone writing was using the adjective "weird" when engraving with a wand + of digging. +don't report "you were riding" if you die as a result of dismounting +allow #untrapping of chests that are co-located with floor traps and hero +unmap "I" symbols when searching while blind and levitating +monsters that are frozen or sleeping cannot be grateful for untrapping +grammar of blessed-detection eating warning messages when eating 1 of N objects +message for charging for items lost in a cursed magic bag wasn't always shown +dropping gold on an altar printed no message and didn't change gnostic conduct +don't allow cursed daggers thrown by monsters to go thru closed doors +hero polymorphed into an exploding monster should explode when attacking + thin air, just like the monster itself +don't mark holes/trapdoors as seen if you levitate over them while blind +player polymorphed as rust monster would lose gold in inventory by + attempting to eat it, even though the eat failed +no messages were printed when dowaterdemon or dowaternymph failed to create + a monster doe to the G_GONE check +knights should be able to avenge attacks from covetous monsters +eating various rotten food items would not break vegan/vegetarian conduct +unaligned special levels should inherit alignment from the dungeon +Samurai quest was missing several doors +Cancelled while polymorphed and Unchanging should provide feedback +stone to flesh on a statue with contents would lose the contents if a + monster was on the same location as the statue +steed movement would use your speed if walking step by step +kicking a known, unseen monster would sometimes leave behind an extra I symbol +applying a lance against a long worm could cause an impossible +a knight applying a lance did not do a caitiff check +blessed gain level when already at level 30 won't reduce experience points +keep counting spell skill exercise even after expert status is reached +when a fountain dries up or a throne vanishes, make sure it really happens +allow player to name polymorph potion if nothing seems to happen +avoid crash when drinking a potion causes the hero to float up over a fire + trap, for example, which might try to destroy the in-use potion +in some situations, if hero stood still, a hostile dwarf would switch back + and forth between weapon and pick-axe and never move +uncontrolled teleports did not handle leashed pets +minetown fountain warnings shouldn't prevent finding gems/coins in fountain +order of container and objects was different for mazelike and roomfilled levels +minetown guards only enforce town rules inside the town proper +electric damage heals hero polymorphed into flesh golem rather than iron golem +fix bug preventing wishing for bear traps (not beartrap objects) in debug mode +be notified about cessation of hallucinations even if blind and the time +when using '/' to examine multiple map items in succession, don't mislabel + some with "or a splash of venom" after having looked at a '.' item +martial arts kick that knocks a monster into a trap would result in warning + "dmonsfree: 1 removed doesn't match 2 pending" if the trap was fatal +if you can't see or sense a monster when it dies, don't set dknown on corpse +effect of wearing or removing the Eyes of the Overworld took effect on the + next move, but should take effect immediately. +dragon scale mail is magic armor +invoking or applying an artifact must pass a touch_artifact check +document 'D'rop BUCX behavior in the Guidebook +remove levitation boots over a portal, the portal teleport is delayed until + your next command is typed. +armor vs cursed two-handed weapon anomalies: with 'T', couldn't remove armor, + but with 'A', could remove it, and with 'W', could put it on +don't print ape data.base description for other words that end in "ape" +prevent crash after animating a statue via stone_to_flesh by avoiding use + of the obj in newsym() after it was deleted +print "magic spreads" message when eating ring of increase damage, etc. +grammar tid: "The looking glass miss the ." +fix wishing for "looking glass" and " glass" +Archeologists suffer same alignment penalty for statue destruction by + stone_to_flesh as they do by other means of statue destruction +being unable to see a vault guard doesn't prevent him from arriving +in town, secret doors should be called "wall", not "fountain" +in town, watch should not allow trees to be cut down +cancel chat direction cancels the chat +prevent "the mimic looks better" on an unrecognized mimic hit with + healing spell +after forcefighting a concealed lurker, the lurker wouldn't fight back +when polymorphed into a hider, cease hiding during level changes +let mind flayer grow up into master mind flayer; also giant/sewer rat and + cave/large spider +engulfing green slime as a purple worm was causing stoning not sliming +zero entries in DUNGEON, MONSTERS, et al, of config file are now treated + as preserving the default rather than being ignored +enlightenment: don't misreport polymorphed lycanthrope as "in beast form" +remove TIMED_DELAY from the features checked for version compatibility +rolling boulder hitting monster stuck in pit should stop even when mon survives +don't see chest trap gas colors while Blind +adjust fruit name in potion juice messages if it has the form "foo of bar" +wielded camera passes harmlessly through shade +reading spellbooks while confused should allow tearing the book +Breaking wand of digging dug through rock which should be undiggable. +Breaking wand of digging near shop walls wouldn't anger the shopkeeper +Shop walls wouldn't be restored if there were pits in the way. +If there were a hole outside a shop, you could kick stuff out of the door + into the hole without the shopkeeper noticing. +curing hallucination while wielding Grayswandir should print a message +removing unowned pick-axe from container in shop gave inappropriate message +don't let monster end up with more current HP than max HP after life drain +make sure that missing file trickery in wizard mode which is discovered during + level change doesn't try to keep going after discarding current level +contribution by Adam Wozniak adds several const & changes some char* to char[] +fix impossible when hitting/jousting a monster causes it to be killed twice +fix a GOLDOBJ crash/hang in take_gold() that could be triggered by reading a + cursed spellbook, or by sitting on a throne +kicking a tree could produce 0 to 4 killer bees but it should have been 1 to 5 +mounting a steed allowed hero to make moves that would otherwise be disallowed + including mounting diagonally in a shop doorway +monsters lose intrinsic speed when pertrified +if you have converted, the quest leader banishes you instead of asking you + to come back later, and tells you that you won't succeed without Bell +don't state that "you narrowly avoid losing all chance" message if you try + to put on a helm of opposite alignment in the quest after converting +fix enlightenment feedback for bonus or penalty on damage and chance to hit +effects of purple worms consuming special monsters is now more consistent + across eating, digesting and dropped corpses while engulfed +avoid "you finish disrobing" when disarming via the 'A' command +make sure corpses and statues which remember monster attributes don't keep + ones that were conferred by no longer worn items (mainly speed boots) +elevate the trouble priority of any cursed item which is preventing removal + of a ring of levitation +starving pets will eat more aggressively +when a pet starves to death, say so instead of just "Fido dies." +starved pet raised from dead shouldn't immediately starve again +skilled spell of detected treasure wasn't acting like blessed potion of + object detection (from Roderick Schertler) +fix end of game attribute disclosure for levitation negated by sink +kicking a box embedded in a wall will knock it free rather than bust it open +stop running or travelling if the vibrating square message is triggered +show correct gender in ^X display when polymorphed into non-humanoid form +for wizard and explore modes, skip second screen of ^X output when first + screen is cancelled by ESC +for wizard mode, override confusion when using ^F to reveal map +polyself into minotaur causes hard headgear to fall off +with multiple leashes in use, 2nd had 50/50 chance of having unbounded length +GOLDOBJ: coins aren't subject to curses/blesses and don't need identification +can no longer activate a figurine while engulfed +can't use figurines to get too many erinyes or Nazgul +include currently wielded weapon among the list of likely choices for 'w' +likewise for currently quivered ammo among choices for 'Q' +only include unknown gems as likely choices when applying known touchstone +prevent mbodypart() from returning animal parts for lights +removing a ring might relearn what it is after amnesia +sleeping shopkeeper shouldn't talk to digging player +give more specific feedback when dipping unicorn horns into potions +can see self via infravision or ESP or monster detection when invisible +class genocide that killed polymorphed self while `Unchanging' reported + incomplete cause of death and possibly left rest of class in bones +class genocide of @ by human or elf character polymorphed into non-@ gave + "you feel dead inside" message twice +unskilled rider who can't reach items on floor also can't dip into moat or + pool from flying steed +when summoning nasty monsters, use new monster's type to decide if they can + be placed on boulders, et al, not the summoning monster's type +don't display the "intones:" prefix when !soundok since the message suffix + won't be displayed in this case +document "sound" option in Guidebook +destroy traps that are buried by boulders dropped in water +renamed debug commands: light sources -> lightsources, + monpoly_control -> monpolycontrol, poly -> polyself +detect attempt to swap places with big pet through narrow opening +stinking clouds in bones files do not get their ttl set reasonably +stinking clouds in bones files may incorrectly set player_inside +breaking wand of digging on a drawbridge shouldn't dig/hole a pit in the bridge +avoid mimicking gold when the character has the Unchanging attribute +handle polearm wielded prior to mounting the same as one wielded while mounted, + and one still used after dismounting like one wielded while not mounted +non-lawful angels don't chat using lawful messages and shouldn't summon + lawful help +cancelled yellow lights should not explode against other monsters, as well as + not exploding against you +becoming confused, eg from nausia, while reading a spellbook should result + in the usual confusion effects +teleports should not be controlled if you're stunned, confusion should have + some effect on your ability to control level teleports +vault wall repair should remove traps subsequently created at affected spots +don't reveal deity name when a high priest(ess) gives temple entry greeting +for ordinary remove curse, don't uncurse quivered object unless it is suitable + to be used as a quivered weapon (ammo or missile) +salamanders have no legs and cannot ride +all objects carried by a monster who's hit by a polymorph zap are protected + from that zap, not just worn armor which falls off due to shape change +sparkle option for display effects was ignored on explosions +level teleport while on a sleeping steed caused panic and possible crash +breaking wand of digging causing a shopkeeper to fall left unpaid items unpaid +use get_adjacent_loc() rather than getdir() directly for some things where + you want to ensure valid adjacent coordinates are returned +minor experience calculation tweaks +level telporting out of the dungeon while carrying unpaid shop goods would + trigger "not on any bill" warnings during final inventory disclosure +only hard helmets protect against falling piercers +don't crash teleporting out of a monster while engulfed, punished but not + carrying the ball +web breaking should consider steed strength and other characteristics +various missing or inappropriate "killed by" death messages +second attack for two-weapon combat will miss if first knocks target away +jousting effect no longer occurs every time riding character hits with lance +skeletons should be able to wear the armor they're created with +bouncing zaps should not bounce around the edge of closed doors +mimics that are detected but not seen should not display as their mimiced + form when the detection ends +not all cavemen are human, so avoid using human in quest messages +tengu is singular and plural, some rumors were incorrect +don't let leader or nemesis be renamed +non-moving monster are not affected by liquid +'A' command wouldn't remove cursed item from quiver or alternate weapon slot +'A' command behaved differently depending on menustyle when non-weapons were + present in the quiver or alternate weapon inventory slots +most cases of the hero dropping things need to check for dropping on an altar +zapping undiggable trees with wand or spell of dig gave feedback about rock +being able to see invisible shouldn't cause you to not notice when potion + or spell of invisibility wears off +can't successfully bribe a demon who happens to be carrying the Amulet +while over water, killing a monster that had engulfed you does not result + in the usual water effects +removing a ring of levitation while engulfed should not invoke spoteffects +feedback from invoking Orb of Detection was sometimes misleading or wrong +ranger quest artifact (Longbow of Diana) confers reflection when wielded by + monsters like it does for the player +avoid discrepancies in size and associated armor-wearing ability between + wizard gnome player and same player polymorphed into gnomish wizard + by forcing newman() if poly-target matches your_race() +add missing data.base entries for caveman, healer, monk, priest, and samurai +allow "grey spellbook" as alternative spelling of "gray spellbook" +handle attacks by cancelled monsters more consistently +armor worn by monsters might negate some magic attacks like it does for hero +give feedback and discovery when visible monster puts on cloak of invisibility +really add artifacts inside carried containers to final score (3.3.1 fix + displayed them them but didn't include any points for them) +drop alternate weapon to terminate twoweapon combat if the alternate + weapon gets cursed +restore monster creation sanity checks to wizard mode ^G command +prevent recoil from hurtling you through narrow areas that you wouldn't + be able to move through intentionally +grammar in cause of death when killed by slipping while mounting named steed +ensure `m'enu is still an available traditional menu choice for + menu-upon-request even when there is only one class of object present +engraving on headstone will appropriately dull your weapon +certain types of golems should not "catch fire" so adjust the messages +no longer need to manually examine inventory after regaining sight in order + to give a type name to an object picked up while blind +when adding an object to inventory, it is possible for it to becomed both + wielded and quivered if it merges with weapon and autoquiver is enabled +include rocks as likely candidates for quivering if alternate weapon is a sling +Asmodeus fails an is_armed() check, so code in m_initweap() to give him wands + of fire and cold never got called; move the code to m_initinv() +#rub would wield the target tool even when already being worn as eyewear +monks lose their to-hit bonus for bare-handed attacking if wearing a shield +fix case on leading character in "Crunched in the head..." in ball.c +using travel mode to move next to a known trap and then trying to step onto + that trap required an extra step; the first one ended up as a no-op +punished with ball and chain on the same floor square as a trapped chest + when it exploded resulted in panic "remove_object: obj not on floor" +see_monsters() wasn't called when you lost the innate warning intrinsic due + to level loss +xorns sink if the drawbridge they're standing on is raised +applying figurines to an adjacent spot over water does drowning checks +fix sequencing of Magicbane's hit messages +avoid buffer overflow from long or too many -s params +wake up first if trying to crawl out of water while asleep +while waiting, don't try to change into were form when already in were form +steed should remember traps encountered while mounted +killing shopkeeper by throwing unpaid things would result in + "item not on bill" impossible error +choking pet to death with cursed leash incurs various pet-killing penalties +wielding Werebane prevents catching lycanthropy via monster attack (but not + via eating, nor does it cure an existing case) +character inflicted with lycanthropy is vulnerable to Werebane when in + human/elf/&c form as well as when in beast form +shopkeeper could get angry without remembering the customer name +any object held by ghost during recorporealization would cease to exist + including the Amulet of Yendor +harassing monsters will be less likely to teleport to your location while + they're running away from you +randomize warning symbols during hallucination + + +Platform- and/or Interface-Specific Fixes +----------------------------------------- +wince: added Windows CE port from Alex Kompel +win32: win32 build no longer defines MICRO +win32: allow error save files to be generated +win32: strip illegal file name characters from plname and replace with '_' +win32: don't let recover build a save file out of level files belonging + to an active NetHack.exe or NetHackw.exe process +win32,winCE: SELF_RECOVER to let NetHack itself recover aborted games +win32gui: make error() work; it was essentially non-operative in 3.4.0 +win32gui: fix alignment of columns in menu windows +win32gui: Window menu File|Save worked during #quit disclosure processing +win32gui: make mswin_yn_function() case insensitive like the tty version +win32gui: In msg window, gray out lines that are old and concatenate msgs +win32gui: --More-- prompt if there are more messages than can fit this turn +win32gui: flicker reduction because clear_nhwindow no longer redraws window +win32gui: A caret bug was fixed +win32gui: fix bug that caused two lines too many to be drawn on each paint +win32gui: last line no longer highlighted +win32gui: reduce the number of popups and support for !popup +win32tty: honour the use_inverse option and default to ATR_BOLD if disabled +win32tty: respond only to mouse clicks not mouse movement +win32tty: allow ^C to abort the game at the "Who are you?" prompt +win32tty: fix truncated score list +win32tty: prevent ALT+CTRL from sending NUL to core with the meta bit set +win32tty: international keyboard handling improved by letting ToAscii() + generate input char based on VK and state of shift and caps lock +Gnome: add support for non-square tiles +Gnome: destroy main game windows correctly +Gnome: Dylan Alex Simon's port of KDE-style worn window +Gnome: Dylan Alex Simon's port of KDE-style hero cursor color +Gnome/Linux: more portable getres*id workaround +X11: restore support for non-square tiles when USE_XPM is defined +X11: getlin dialog got steadily narrower each time it was used +msdos: compiling without NO_TERMS resulted in a link-time error +msdos: reworked Makefile.GCC to get rid of need to duplicate source files +msdos,win32: stop doing chdir when NOCWD_ASSUMPTIONS is defined +tty: remove #define DEBUG that forced debug behavior in production builds +tty: correctly handle an empty TERM environment variable +tty: don't lose messages when ESC has canceled their display +tty: clear topl after pickup_burden prompt +tty: support terms where turning off inverse video turns off color too +tty: object selection at --More-- prompt after '?' didn't work anymore +tty: ext command autocomplete now lets you enter auto-completed characters +non-tty: silently ignore tty msg_window option to allow sharing of config file +unix: install recover command into GAMEDIR by default +vms: prevent error() from indirectly triggering hangup save during forced exit + + +General New Features +-------------------- +lootabc option +runmode option +showrace option +travel option +cmdassist option to provide additional error feedback for some commands +mouse_support wincap option +scroll_amount wincap option to adjust how many cells to scroll at scroll_margin +debug mode: #panic routine to test panic() and panic save file generation +a new PANICLOG optional file to log the reason for panic and impossible messages +added validate_prefix_locations() for early directory prefix validation +fire traps are particularly bad for paper and straw golems +cream pies can be 'a'pplied to cause direct temporary blindness +eating newt corpse or tin of same can boost magical energy (Malcolm Ryan) +applying a eucalyptus leaf produces a whistle effect (Malcolm Ryan) +hobbits can wear elven mithril-coats +eating mimics now has an hallucination effect +prefix pickup command with 'm' to force menu of all objects present +provide feedback which states the correct command when players try to use + 'R' or 'P' for armour, or use 'W' or 'T' for accessories +optional #portdebug wizard mode command to invoke port-specific debug routines diff -Naurd ../nethack-3.4.0/doc/Guidebook.mn ./doc/Guidebook.mn --- ../nethack-3.4.0/doc/Guidebook.mn Wed Mar 20 23:42:39 2002 +++ ./doc/Guidebook.mn Mon Feb 24 15:25:05 2003 @@ -1,10 +1,11 @@ +.\" $Revision: 1.61 $ $Date: 2003/02/13 04:55:27 $ .ds h0 "NetHack Guidebook .ds h1 .ds h2 % .ds vr "NetHack 3.4 .ds f0 "\*(vr .ds f1 -.ds f2 "March 20, 2002 +.ds f2 "February 12, 2003 .mt A Guide to the Mazes of Menace (Guidebook for NetHack) @@ -475,10 +476,14 @@ .lp "G[yuhjklbn] or [yuhjklbn] Prefix: same as `g', but forking of corridors is not considered interesting. .lp _ -Travel to a map location via a shortest-path algorithm. Stops on most of -the same conditions as the `G' command does. For ports with mouse +Travel to a map location via a shortest-path algorithm. The shortest path +is computed over map locations the hero knows about (e.g. seen or +previously traversed). If there is no known path, a guess is made instead. +Stops on most of +the same conditions as the `G' command, but without picking up +objects, similar to the `M' command. For ports with mouse support, the command is also invoked when a mouse-click takes place on a -location further than 1 cell away from the current position. +location other than the current position. .lp . Rest, do nothing for one turn. .lp a @@ -499,11 +504,16 @@ Drop something. Ex. ``d7a'' means drop seven items of object \fIa\fP. .lp D Drop several things. In answer to the question -``What kinds of things do you want to drop? [!%= aium]'' +``What kinds of things do you want to drop? [!%= BUCXaium]'' you should type zero or more object symbols possibly followed by -`a' and/or `i' and/or `u' and/or `m'. +`a' and/or `i' and/or `u' and/or `m'. In addition, one or more of +the blessed/uncursed/cursed groups may be typed. .sd .si +DB - drop all objects known to be blessed. +DU - drop all objects known to be uncursed. +DC - drop all objects known to be cursed. +DX - drop all objects of unknown B/U/C status. Da - drop all objects, without asking for confirmation. Di - examine your inventory before dropping anything. Du - drop only unpaid objects (when in a shop). @@ -560,7 +570,8 @@ .lp P Put on a ring or other accessory (amulet, blindfold). .lp ^P -Repeat previous message (subsequent ^P's repeat earlier messages). +Repeat previous message. Subsequent ^P's repeat earlier messages. +The behavior can be varied via the msg_window option. .lp q Quaff (drink) a potion. .lp Q @@ -599,8 +610,8 @@ .lp W Wear armor. .lp x -Exchange your wielded weapon with the item in your secondary -weapon slot. The latter is used as your second weapon in +Exchange your wielded weapon with the item in your alternate +weapon slot. The latter is used as your secondary weapon when engaging in two-weapon combat. Note that if one of these slots is empty, the exchange still takes place. .lp X @@ -620,7 +631,7 @@ .lp ; Show what type of thing a visible symbol corresponds to. .lp , -Pick up some things. +Pick up some things. May be preceded by `m' to force a selection menu. .lp @ Toggle the .op autopickup @@ -1055,9 +1066,9 @@ When wielding a two-handed weapon, you can not wear a shield, and vice versa. When wielding a one-handed weapon, you can have another weapon ready to use by setting things up with the `x' command, which -exchanges your primary (the one being wielded) and secondary weapons. +exchanges your primary (the one being wielded) and alternate weapons. And if you have proficiency in the ``two weapon combat'' skill, you -may wield both primary and secondary weapons simultaneously; use the +may wield both weapons simultaneously as primary and secondary; use the `#twoweapon' extended command to engage or disengage that. Only some types of characters (barbarians, for instance) have the necessary skill available. Even with that skill, using two weapons at once incurs @@ -1474,7 +1485,7 @@ is treated as if you ate the creature's corpse. Eating leather, dragon hide, or bone items while polymorphed into a creature that can digest it, or eating monster brains -while polymorphed into a (master) mind flayer, is considered eating +while polymorphed into a mind flayer, is considered eating an animal, although wax is only an animal byproduct. .pg Regardless of conduct, there will be some items which are indigestible, @@ -1520,15 +1531,21 @@ learned from your teachers prior to the start of the game and isn't counted. .pg -There are several other minor challenges. It is possible to eliminate -a species of monsters by genocide; playing without this feature is -considered a challenge. You can change the form of any object into -another object of the same type (``polypiling'') or the form of your own +There are several other challenges tracked by the game. It is possible +to eliminate one or more species of monsters by genocide; playing without +this feature is considered a challenge. When you game offers you an +opportunity to genocide monsters, you may respond with the monster type +``none'' if you want to decline. You can change the form of an item into +another item of the same type (``polypiling'') or the form of your own body into another creature (``polyself'') by wand, spell, or potion of polymorph; avoiding these effects are each considered challenges. +Polymorphing monsters, including pets, does not break either of these +challenges. Finally, you may sometimes receive wishes; a game without an attempt to -wish for an object is a challenge, as is a game without wishing for -an artifact (even if the artifact immediately disappears). +wish for any items is a challenge, as is a game without wishing for +an artifact (even if the artifact immediately disappears). When the +game offers you an opportunity to make a wish for an item, you may +choose ``nothing'' if you want to decline. .hn 1 Options @@ -1586,6 +1603,8 @@ option in a different syntax, a sequence of decimal numbers giving the character position in the current font to be used in displaying each entry. +A zero in any entry in such a sequence leaves the display of that +entry unchanged; this feature is not available using the option syntax. Such a sequence can be continued to multiple lines by putting a `\e' at the end of each line to be continued. Any line starting with `#' is treated as a comment. @@ -1617,11 +1636,6 @@ quality of the weapon; you are free to manually fill your quiver with the `Q' command instead. If no weapon is found or the option is false, the `t' (throw) command is executed instead. (default false) -.lp "BIOS " -Use BIOS calls to update the screen -display quickly and to read the keyboard (allowing the use of arrow -keys to move) on machines with an IBM PC compatible BIOS ROM (default off, -OS/2, PC, and ST NetHack only). .lp boulder Set the character used to display boulders (default is rock class symbol). .lp catname @@ -1640,6 +1654,9 @@ You may have to turn this off if you have more than 2 GB free space on the partition used for your save and level files. Only applies when MFLOPPY was defined during compilation. +.lp cmdassist +Have the game provide some additional command assistance for +new players if it detects some anticipated mistakes (default on). .lp "confirm " Have user confirm attacks on pets, shopkeepers, and other peaceable creatures (default on). @@ -1797,6 +1814,9 @@ .lp lit_corridor Show corridor squares seen by night vision or a light source held by your character as lit (default off). +.lp lootabc +Use the old `a', `b', and `c' keyboard shortcuts when +looting, rather than the mnemonics `o', `i', and `b' (default off). .lp "mail " Enable mail delivery during the game (default on). .lp "male " @@ -1872,7 +1892,7 @@ jelly, kobold, leprechaun, mimic, nymph, orc, piercer, quadruped, rodent, -spider, trapper or lurker above, horse or unicorn, +arachnid or centipede, trapper or lurker above, horse or unicorn, vortex, worm, xan or other mythical/fantastic insect, light, zruty, angelic being, bat or bird, centaur, @@ -1883,7 +1903,7 @@ pudding or ooze, quantum mechanic, rust monster, snake, troll, umber hulk, vampire, wraith, xorn, -yeti or ape or other large beast, zombie, +apelike creature, zombie, human, ghost, golem, demon, sea monster, lizard, long worm tail, and mimic. @@ -1892,8 +1912,19 @@ The number of top line messages to save (and recall with ^P) (default 20). Cannot be set with the `O' command. .lp msg_window -Use a screen-size window to show the previous messages with ^P instead of -showing them one at a time. (Currently implemented for tty only.) +Allows you to change the way recalled messages are displayed. +(It is currently implemented for tty only.) +The possible values are: +.sd +.si +s - single message (default, this was the behavior before 3.4.0). +c - combination, two messages as `single', then as `full'. +f - full window, oldest message first. +r - full window, newest message first. +.ei +.ed +For backward compatibility, no value needs to be specified (which +defaults to `full'), or it can be negated (which defaults to `single'). .lp "name " Set your character's name (defaults to your user name). You can also set your character's role by appending a dash and one or more letters of @@ -1948,15 +1979,10 @@ Prompt for confirmation before praying (default on). .lp pushweapon Using the `w' (wield) command when already wielding -something pushes the old item into your secondary weapon slot (default off). +something pushes the old item into your alternate weapon slot (default off). .lp race Selects your race (for example, ``race:human''). Default is random. Cannot be set with the `O' command. -.lp "rawio " -Force raw (non-cbreak) mode for faster output and more -bulletproof input (MS-DOS sometimes treats `^P' as a printer toggle -without it) (default off). Note: DEC Rainbows hang if this is turned on. -Cannot be set with the `O' command. .lp rest_on_space Make the space bar a synonym for the `.' (rest) command (default off). .lp "role " @@ -1965,6 +1991,23 @@ of specifying your role. Normally only the first letter of the value is examined; `r' is an exception with ``Rogue'', ``Ranger'', and ``random'' values. +.lp runmode +Controls the amount of screen updating for the map window when engaged +in multi-turn movement (running via shift+direction or control+direction +and so forth, or via the travel command or mouse click). +The possible values are: +.sd +.si +teleport - update the map after movement has finished; +run - update the map after every seven or so steps; +walk - update the map after each step; +crawl - like walk, but pause briefly after each step. +.ei +.ed +This option only affects the game's screen display, not the actual +results of moving. The default is `run'; versions prior to 3.4.1 +used `teleport' only. Whether or not the effect is noticeable will +depend upon the window port used or on the type of terminal. .lp safe_pet Prevent you from (knowingly) attacking your pets (default on). .lp scores @@ -1973,12 +2016,21 @@ letter of each category (`t', `a', or `o') is necessary. .lp showexp Show your accumulated experience points on bottom line (default off). +.lp showrace +Display yourself as the glyph for your race, rather than the glyph +for your role (default off). Note that this setting affects only +the appearance of the display, not the way the game treats you. .lp showscore Show your approximate accumulated score on bottom line (default off). .lp "silent " Suppress terminal beeps (default on). .lp sortpack Sort the pack contents by type when displaying inventory (default on). +.lp sound +Enable messages about what your character hears (default on). +Note that this has nothing to do with your computer's audio capabilities. +This option is only partly under player control. The game toggles it +off and on during and after sleep, for example. .lp sparkle Display a sparkly effect when a monster (including yourself) is hit by an attack to which it is resistant (default on). @@ -2021,21 +2073,12 @@ magic portal, web, statue trap, magic trap, anti-magic field, polymorph trap. Cannot be set with the `O' command. +.lp travel +Allow the travel command (default on). Turning this option off will +prevent the game from attempting unintended moves if you make inadvertent +mouse clicks on the map window. .lp verbose Provide more commentary during the game (default on). -.lp videocolors -Set the color palette for PC systems using NO_TERMS -(default 4-2-6-1-5-3-15-12-10-14-9-13-11). -The order of colors is red, green, brown, blue, magenta, cyan, -bright.white, bright.red, bright.green, yellow, bright.blue, -bright.magenta, and bright.cyan. -Cannot be set with the `O' command. -.lp videoshades -Set the intensity level of the three gray scales available -(default dark normal light, PC NetHack only). -If the game display is difficult to read, try adjusting these scales; -if this does not correct the problem, try !color. -Cannot be set with the `O' command. .lp windowtype Select which windowing system to use, such as ``tty'' or ``X11'' (default depends on version). @@ -2098,6 +2141,8 @@ NetHack should use a large font. .lp map_mode NetHack should display the map in the manner specified. +.lp mouse_support +Allow use of the mouse for input and travel. .lp player_selection NetHack should pop up dialog boxes, or use prompts for character selection. .lp popup_dialog @@ -2108,7 +2153,10 @@ get pre-loaded into RAM at the start of the game. Doing so enhances performance of the tile graphics, but uses more memory. (default on). Cannot be set with the `O' command. -.lp scroll_margin +.lp scroll_amount +NetHack should scroll the display by this number of cells +when the hero reaches the scroll_margin. +.lp scroll_margin NetHack should scroll the display when the hero or cursor is this number of cells away from the edge of the window. .lp splash_screen @@ -2130,6 +2178,102 @@ NetHack should display windows with the specified foreground/background colors if it can. .hn 2 +Platform-specific Customization options +.pg +Here are explanations of options that are used by specific platforms or ports +to customize and change the port behaviour. +.lp altmeta +(default on, AMIGA NetHack only). +.lp "BIOS " +Use BIOS calls to update the screen +display quickly and to read the keyboard (allowing the use of arrow +keys to move) on machines with an IBM PC compatible BIOS ROM (default off, +OS/2, PC, and ST NetHack only). +.lp flush +(default off, AMIGA NetHack only). +.lp "MACgraphics" +(default on, Mac NetHack only). +.lp page_wait +(default on, Mac NetHack only). +.lp "rawio " +Force raw (non-cbreak) mode for faster output and more +bulletproof input (MS-DOS sometimes treats `^P' as a printer toggle +without it) (default off, OS/2, PC, and ST NetHack only). +Note: DEC Rainbows hang if this is turned on. +Cannot be set with the `O' command. +.lp soundcard +(default on, PC NetHack only). +Cannot be set with the `O' command. +.lp video +Set the video mode used (PC NetHack only). +Values are `autodetect', `default', or `vga'. +Setting `vga' (or `autodetect' with vga hardware present) will cause +the game to display tiles. +Cannot be set with the `O' command. +.lp videocolors +Set the color palette for PC systems using NO_TERMS +(default 4-2-6-1-5-3-15-12-10-14-9-13-11, (PC NetHack only). +The order of colors is red, green, brown, blue, magenta, cyan, +bright.white, bright.red, bright.green, yellow, bright.blue, +bright.magenta, and bright.cyan. +Cannot be set with the `O' command. +.lp videoshades +Set the intensity level of the three gray scales available +(default dark normal light, PC NetHack only). +If the game display is difficult to read, try adjusting these scales; +if this does not correct the problem, try !color. +Cannot be set with the `O' command. +.hn 2 +Configuring User Sounds +.pg +Some platforms allow you to define sound files to be played when a message +that matches a user-defined pattern is delivered to the message window. +At this time the Qt port and the win32tty and win32gui ports support the +use of user sounds. +.pg +The following config file entries are relevant to mapping user sounds +to messages: +.lp SOUNDDIR +The directory that houses the sound files to be played. +.lp SOUND +An entry that maps a sound file to a user-specified message pattern. +Each SOUND entry is broken down into the following parts: +.sd +.si +MESG - message window mapping (the only one supported in 3.4). +pattern - the pattern to match. +sound file - the sound file to play. +volume - the volume to be set while playing the sound file. +.ei +.ed +.pg +The exact format for the pattern depends on whether the platform is +built to use ``regular expressions'' or NetHack's own internal pattern +matching facility. The ``regular expressions'' matching can be much more +sophisticated than the internal NetHack pattern matching, but requires +3rd party libraries on some platforms. There are plenty of references +available elsewhere for explaining ``regular expressions''. You can verify +which pattern matching is used by your port with the #version command. +.pg +NetHack's internal pattern matching routine uses the following +special characters in its pattern matching: +.sd +.si + *--- matches 0 or more characters. + ?--- matches any single character. +.ei +.ed +.pg +Here's an example of a sound mapping using NetHack's internal +pattern matching facility: +.sd + SOUND=MESG "*chime of a cash register*" "gong.wav" 50 +.ed +specifies that any message with "chime of a cash register" contained +in it will trigger the playing of "gong.wav". You can have multiple +SOUND entries in your config file. +.pg +.hn 2 Configuring NetHack for Play by the Blind .pg NetHack can be set up to use only standard ASCII characters for making @@ -2375,7 +2519,8 @@ .pg \fBMichael Allison\fP, \fBDavid Cohrs\fP, \fBAlex Kompel\fP, \fBDion Nicolaas\fP, and \fBYitzhak Sapir\fP maintained and enhanced 3.4 for the Microsoft Windows platform. -\fBAlex Kompel\fP contributed a new graphical interface for the Windows port. +\fBAlex Kompel\fP contributed a new graphical interface for the Windows port. +\fBAlex Kompel\fP also contributed a Windows CE port for 3.4.1. .pg \fBRon Van Iwaarden\fP maintained 3.4 for OS/2. .pg @@ -2400,41 +2545,42 @@ center; c c c. .\"TABLE_START -Adam Aronow Helge Hafting Mike Engber -Alex Kompel Irina Rempt-Drijfhout Mike Gallop -Andreas Dorn Izchak Miller Mike Passaretti -Andy Church J. Ali Harlow Mike Stephenson -Andy Swanson Janet Walz Norm Meluch -Ari Huttunen Janne Salmijarvi Olaf Seibert -Barton House Jean-Christophe Collet Pat Rankin -Benson I. Margulies Jochen Erwied Paul Winner -Bill Dyer John Kallen Pierre Martineau -Boudewijn Waijers John Rupley Ralf Brown -Bruce Cox John S. Bien Richard Addison -Bruce Holloway Johnny Lee Richard Beigel -Bruce Mewborne Jon W{tte Richard P. Hughey -Carl Schelin Jonathan Handler Rob Menke -Chris Russo Joshua Delahunty Robin Johnson -David Cohrs Keizo Yamamoto Roland McGrath -David Damerell Ken Arnold Ron Van Iwaarden -David Gentzel Ken Arromdee Ronnen Miller -David Hairston Ken Lorber Ross Brown -Dean Luick Ken Washikita Sascha Wostmann -Del Lamb Kevin Darcy Scott Bigham -Deron Meranda Kevin Hugo Scott R. Turner -Dion Nicolaas Kevin Sitze Stephen Spackman -Dylan O'Donnell Kevin Smolkowski Stephen White -Eric Backus Kevin Sweet Steve Creps -Eric Hendrickson Lars Huttar Steve Linhart -Eric R. Smith Mark Gooderum Steve VanDevender -Eric S. Raymond Mark Modrall Teemu Suikki -Erik Andersen Marvin Bressler Tim Lennan -Frederick Roeber Matthew Day Timo Hakulinen -Gil Neiger Merlyn LeRoy Tom Almy -Greg Laskin Michael Allison Tom West -Greg Olson Michael Feir Warren Cheung -Gregg Wonderly Michael Hamel Warwick Allison -Hao-yang Wang Michael Sokolov Yitzhak Sapir +Adam Aronow Irina Rempt-Drijfhout Mike Gallop +Alex Kompel Izchak Miller Mike Passaretti +Andreas Dorn J. Ali Harlow Mike Stephenson +Andy Church Janet Walz Norm Meluch +Andy Swanson Janne Salmijarvi Olaf Seibert +Ari Huttunen Jean-Christophe Collet Pasi Kallinen +Barton House Jochen Erwied Pat Rankin +Benson I. Margulies John Kallen Paul Winner +Bill Dyer John Rupley Pierre Martineau +Boudewijn Waijers John S. Bien Ralf Brown +Bruce Cox Johnny Lee Richard Addison +Bruce Holloway Jon W{tte Richard Beigel +Bruce Mewborne Jonathan Handler Richard P. Hughey +Carl Schelin Joshua Delahunty Rob Menke +Chris Russo Keizo Yamamoto Robin Johnson +David Cohrs Ken Arnold Roderick Schertler +David Damerell Ken Arromdee Roland McGrath +David Gentzel Ken Lorber Ron Van Iwaarden +David Hairston Ken Washikita Ronnen Miller +Dean Luick Kevin Darcy Ross Brown +Del Lamb Kevin Hugo Sascha Wostmann +Deron Meranda Kevin Sitze Scott Bigham +Dion Nicolaas Kevin Smolkowski Scott R. Turner +Dylan O'Donnell Kevin Sweet Stephen Spackman +Eric Backus Lars Huttar Stephen White +Eric Hendrickson Malcolm Ryan Steve Creps +Eric R. Smith Mark Gooderum Steve Linhart +Eric S. Raymond Mark Modrall Steve VanDevender +Erik Andersen Marvin Bressler Teemu Suikki +Frederick Roeber Matthew Day Tim Lennan +Gil Neiger Merlyn LeRoy Timo Hakulinen +Greg Laskin Michael Allison Tom Almy +Greg Olson Michael Feir Tom West +Gregg Wonderly Michael Hamel Warren Cheung +Hao-yang Wang Michael Sokolov Warwick Allison +Helge Hafting Mike Engber Yitzhak Sapir .\"TABLE_END Do not delete this line. .TE .ed diff -Naurd ../nethack-3.4.0/doc/Guidebook.tex ./doc/Guidebook.tex --- ../nethack-3.4.0/doc/Guidebook.tex Wed Mar 20 23:42:39 2002 +++ ./doc/Guidebook.tex Mon Feb 24 15:25:05 2003 @@ -27,6 +27,7 @@ \begin{document} % % input file: guidebook.mn +% $Revision: 1.61 $ $Date: 2003/02/13 04:55:28 $ % %.ds h0 " %.ds h1 %.ds h2 \% @@ -39,7 +40,7 @@ %.au \author{Eric S. Raymond\\ (Extensively edited and expanded for 3.4)} -\date{March 20, 2002} +\date{February 12, 2003} \maketitle @@ -637,10 +638,14 @@ interesting. %.lp \item[\tb{_}] -Travel to a map location via a shortest-path algorithm. Stops on most of -the same conditions as the `G' command does. For ports with mouse +Travel to a map location via a shortest-path algorithm. The shortest path +is computed over map locations the hero knows about (e.g. seen or +previously traversed). If there is no known path, a guess is made instead. +Stops on most of +the same conditions as the `G' command, but without picking up +objects, similar to the `M' command. For ports with mouse support, the command is also invoked when a mouse-click takes place on a -location further than 1 cell away from the current position. +location other than the current position. %.lp \item[\tb{.}] Rest, do nothing for one turn. @@ -672,13 +677,19 @@ %.lp \item[\tb{D}] Drop several things. In answer to the question -``{\tt What kinds of things do you want to drop? [!\%= aium]}'' +``{\tt What kinds of things do you want to drop? [!\%= BUCXaium]}'' you should type zero or more object symbols possibly followed by -`{\tt a}' and/or `{\tt i}' and/or `{\tt u}' and/or `{\tt m}'.\\ +`{\tt a}' and/or `{\tt i}' and/or `{\tt u}' and/or `{\tt m}'. +In addition, one or more of +the blessed/uncursed/cursed groups may be typed.\\ %.sd %.si +{\tt DB} --- drop all objects known to be blessed.\\ +{\tt DU} --- drop all objects known to be uncursed.\\ +{\tt DC} --- drop all objects known to be cursed.\\ +{\tt DX} --- drop all objects of unknown B/U/C status.\\ {\tt Da} --- drop all objects, without asking for confirmation.\\ -{\tt Di} --- examine your intentory before dropping anything.\\ +{\tt Di} --- examine your inventory before dropping anything.\\ {\tt Du} --- drop only unpaid objects (when in a shop).\\ {\tt Dm} --- use a menu to pick which object(s) to drop.\\ {\tt D\%u} --- drop only unpaid food. @@ -742,7 +753,8 @@ Put on a ring or other accessory (amulet, blindfold). %.lp \item[\tb{\^{}P}] -Repeat previous message (subsequent {\tt \^{}P}'s repeat earlier messages). +Repeat previous message. Subsequent {\tt \^{}P}'s repeat earlier messages. +The behavior can be varied via the msg_window option. %.lp \item[\tb{q}] Quaff (drink) a potion. @@ -796,8 +808,8 @@ Wear armor. %.lp \item[\tb{x}] -Exchange your wielded weapon with the item in your secondary -weapon slot. The latter is used as your second weapon in +Exchange your wielded weapon with the item in your alternate +weapon slot. The latter is used as your secondary weapon when engaging in two-weapon combat. Note that if one of these slots is empty, the exchange still takes place. %.lp @@ -824,7 +836,7 @@ Show what type of thing a visible symbol corresponds to. %.lp \item[\tb{,}] -Pick up some things. +Pick up some things. May be preceded by `{\tt m}' to force a selection menu. %.lp \item[\tb{@}] Toggle the {\it autopickup\/} option on and off. @@ -1372,9 +1384,9 @@ When wielding a two-handed weapon, you can not wear a shield, and vice versa. When wielding a one-handed weapon, you can have another weapon ready to use by setting things up with the `{\tt x}' command, which -exchanges your primary (the one being wielded) and secondary weapons. +exchanges your primary (the one being wielded) and alternate weapons. And if you have proficiency in the ``two weapon combat'' skill, you -may wield both primary and secondary weapons simultaneously; use the +may wield both weapons simultaneously as primary and secondary; use the `{\tt \#twoweapon}' extended command to engage or disengage that. Only some types of characters (barbarians, for instance) have the necessary skill available. Even with that skill, using two weapons at once incurs @@ -1861,7 +1873,7 @@ is treated as if you ate the creature's corpse. Eating leather, dragon hide, or bone items while polymorphed into a creature that can digest it, or eating monster brains -while polymorphed into a (master) mind flayer, is considered eating +while polymorphed into a mind flayer, is considered eating an animal, although wax is only an animal byproduct. %.pg @@ -1914,15 +1926,21 @@ counted. %.pg -There are several other minor challenges. It is possible to eliminate -a species of monsters by genocide; playing without this feature is -considered a challenge. You can change the form of any object into -another object of the same type (``polypiling'') or the form of your own +There are several other challenges tracked by the game. It is possible +to eliminate one or more species of monsters by genocide; playing without +this feature is considered a challenge. When you game offers you an +opportunity to genocide monsters, you may respond with the monster type +``none'' if you want to decline. You can change the form of an item into +another item of the same type (``polypiling'') or the form of your own body into another creature (``polyself'') by wand, spell, or potion of polymorph; avoiding these effects are each considered challenges. +Polymorphing monsters, including pets, does not break either of these +challenges. Finally, you may sometimes receive wishes; a game without an attempt to -wish for an object is a challenge, as is a game without wishing for -an artifact (even if the artifact immediately disappears). +wish for any items is a challenge, as is a game without wishing for +an artifact (even if the artifact immediately disappears). When the +game offers you an opportunity to make a wish for an item, you may +choose ``nothing'' if you want to decline. %.hn 1 \section{Options} @@ -1991,6 +2009,8 @@ {\it boulder\/} option in a different syntax, a sequence of decimal numbers giving the character position in the current font to be used in displaying each entry. +A zero in any entry in such a sequence leaves the display of that +entry unchanged; this feature is not available using the option syntax. Such a sequence can be continued to multiple lines by putting a `{\tt \verb+\+}' at the end of each line to be continued. Any line starting with `{\tt \#}' is treated as a comment. @@ -2032,11 +2052,6 @@ the `Q' command instead. If no weapon is found or the option is false, the `t' (throw) command is executed instead. (default false) %.lp -\item[\ib{BIOS}] -Use BIOS calls to update the screen display quickly and to read the keyboard -(allowing the use of arrow keys to move) on machines with an IBM PC -compatible BIOS ROM (default off, {\it OS/2, PC\/ {\rm and} ST NetHack\/} only). -%.lp \item[\ib{boulder}] Set the character used to display boulders (default is rock class symbol). %.lp @@ -2060,6 +2075,10 @@ on the partition used for your save and level files. Only applies when MFLOPPY was defined during compilation. %.lp +\item[\ib{cmdassist}] +Have the game provide some additional command assistance for new +players if it detects some anticipated mistakes (default on). +%.lp \item[\ib{confirm}] Have user confirm attacks on pets, shopkeepers, and other peaceable creatures (default on). @@ -2228,6 +2247,10 @@ Show corridor squares seen by night vision or a light source held by your character as lit (default off). %.lp +\item[\ib{lootabc}] +Use the old `{\tt a}', `{\tt b}', and `{\tt c}' keyboard shortcuts when +looting, rather than the mnemonics `{\tt o}', `{\tt i}', and `{\tt b}' (default off). +%.lp \item[\ib{mail}] Enable mail delivery during the game (default on). %.lp @@ -2305,7 +2328,7 @@ jelly, kobold, leprechaun, mimic, nymph, orc, piercer, quadruped, rodent, -spider, trapper or lurker above, horse or unicorn, +arachnid or centipede, trapper or lurker above, horse or unicorn, vortex, worm, xan or other mythical/fantastic insect, light, zruty, angelic being, bat or bird, centaur, @@ -2316,7 +2339,7 @@ pudding or ooze, quantum mechanic, rust monster, snake, troll, umber hulk, vampire, wraith, xorn, -yeti or ape or other large beast, zombie, +apelike creature, zombie, human, ghost, golem, demon, sea monster, lizard, long worm tail, and mimic. @@ -2327,8 +2350,21 @@ (default 20). Cannot be set with the `{\tt O}' command. %.lp \item[\ib{msg\_window}] -Use a screen-size window to show the previous messages with `{\tt \^{}P}' -instead of showing them one at a time. (Currently implemented for tty only.) +Allows you to change the way recalled messages are displayed. +(It is currently implemented for tty only.) The possible values are: + +%.sd +%.si +{\tt s} --- single message (default, this was the behavior before 3.4.0).\\ +{\tt c} --- combination, two messages as {\it single\/}, then as {\it full\/}.\\ +{\tt f} --- full window, oldest message first.\\ +{\tt r} --- full window, newest message first. +%.ei +%.ed + +For backward compatibility, no value needs to be specified (which +defaults to {\it full\/}), or it can be negated (which defaults +to {\it single\/}). %.lp \item[\ib{name}] Set your character's name (defaults to your user name). You can also @@ -2391,18 +2427,12 @@ %.lp \item[\ib{pushweapon}] Using the `w' (wield) command when already wielding -something pushes the old item into your secondary weapon slot (default off). +something pushes the old item into your alternate weapon slot (default off). %.Ip \item[\ib{race}] Selects your race (for example, ``{\tt race:human}''). Default is random. Cannot be set with the `{\tt O}' command. %.lp -\item[\ib{rawio}] -Force raw (non-cbreak) mode for faster output and more -bulletproof input (MS-DOS sometimes treats `{\tt \^{}P}' as a printer toggle -without it) (default off). Note: DEC Rainbows hang if this is turned on. -Cannot be set with the `{\tt O}' command. -%.lp \item[\ib{rest\_on\_space}] Make the space bar a synonym for the `{\tt .}' (rest) command (default off). %.lp @@ -2413,6 +2443,27 @@ value is examined; `r' is an exception with ``{\tt Rogue}'', {\tt Ranger}'', and ``{\tt random}'' values. %.lp +\item[\ib{runmode}] +Controls the amount of screen updating for the map window when engaged +in multi-turn movement (running via {\tt shift}+direction +or {\tt control}+direction +and so forth, or via the travel command or mouse click). +The possible values are: + +%.sd +%.si +{\tt teleport} --- update the map after movement has finished;\\ +{\tt run} --- update the map after every seven or so steps;\\ +{\tt walk} --- update the map after each step;\\ +{\tt crawl} --- like {\it walk\/}, but pause briefly after each step. +%.ei +%.ed + +This option only affects the game's screen display, not the actual +results of moving. The default is {\it run\/}; versions prior to 3.4.1 +used {\it teleport\/} only. Whether or not the effect is noticeable will +depend upon the window port used or on the type of terminal. +%.lp \item[\ib{safe\_pet}] Prevent you from (knowingly) attacking your pets (default on). %.lp @@ -2424,6 +2475,11 @@ \item[\ib{showexp}] Show your accumulated experience points on bottom line (default off). %.lp +\item[\ib{showrace}] +Display yourself as the glyph for your race, rather than the glyph +for your role (default off). Note that this setting affects only +the appearance of the display, not the way the game treats you. +%.lp \item[\ib{showscore}] Show your approximate accumulated score on bottom line (default off). %.lp @@ -2433,6 +2489,12 @@ \item[\ib{sortpack}] Sort the pack contents by type when displaying inventory (default on). %.lp +\item[\ib{sound}] +Enable messages about what your character hears (default on). +Note that this has nothing to do with your computer's audio capabilities. +This option is only partly under player control. The game toggles it +off and on during and after sleep, for example. +%.lp \item[\ib{standout}] Boldface monsters and ``{\tt --More--}'' (default off). %.lp @@ -2479,26 +2541,14 @@ Cannot be set with the `{\tt O}' command. %.lp +\item[\ib{travel}] +Allow the travel command (default on). Turning this option off will +prevent the game from attempting unintended moves if you make inadvertent +mouse clicks on the map window. +%.lp \item[\ib{verbose}] Provide more commentary during the game (default on). %.lp -\item[\ib{videocolors}] -\begin{sloppypar} -Set the color palette for PC systems using NO\_TERMS -(default 4-2-6-1-5-3-15-12-10-14-9-13-11). -The order of colors is red, green, brown, blue, magenta, cyan, -bright.white, bright.red, bright.green, yellow, bright.blue, -bright.magenta, and bright.cyan. -Cannot be set with the `{\tt O}' command. -\end{sloppypar} -%.lp -\item[\ib{videoshades}] -Set the intensity level of the three gray scales available -(default dark normal light, {\it PC\/ NetHack\/} only). -If the game display is difficult to read, try adjusting these scales; -if this does not correct the problem, try {\tt !color}. -Cannot be set with the `{\tt O}' command. -%.lp \item[\ib{windowtype}] Select which windowing system to use, such as ``{\tt tty}'' or ``{\tt X11}'' (default depends on version). @@ -2584,6 +2634,9 @@ \item[\ib{map\_mode}] NetHack should display the map in the manner specified. %.lp +\item[\ib{mouse\_support}] +Allow use of the mouse for input and travel. +%.lp \item[\ib{player\_selection}] NetHack should pop up dialog boxes or use prompts for character selection. %.lp @@ -2597,6 +2650,10 @@ enhances performance of the tile graphics, but uses more memory. (default on). Cannot be set with the `{\tt O}' command. %.lp +\item[\ib{scroll\_amount}] +NetHack should scroll the display by this number of cells +when the hero reaches the scroll\_margin. +%.lp \item[\ib{scroll\_margin}] NetHack should scroll the display when the hero or cursor is this number of cells away from the edge of the window. @@ -2628,6 +2685,131 @@ \elist %.hn 2 +\subsection*{Platform-specific Customization options} + +%.pg +Here are explanations of options that are used by specific platforms +or ports to customize and change the port behaviour. + +\blist{} +%.lp +\item[\ib{altmeta}] +(default on, {\it Amiga NetHack \/} only). +%.lp +\item[\ib{BIOS}] +Use BIOS calls to update the screen display quickly and to read the keyboard +(allowing the use of arrow keys to move) on machines with an IBM PC +compatible BIOS ROM (default off, {\it OS/2, PC\/ {\rm and} ST NetHack\/} only). +%.lp +\item[\ib{flush}] +(default off, {\it Amiga NetHack \/} only). +%.lp +\item[\ib{Macgraphics}] +(default on, {\it Mac NetHack \/} only). +%.lp +\item[\ib{page\_wait}] +(default off, {\it Mac NetHack \/} only). +%.lp +\item[\ib{rawio}] +Force raw (non-cbreak) mode for faster output and more +bulletproof input (MS-DOS sometimes treats `{\tt \^{}P}' as a printer toggle +without it) (default off, {\it OS/2, PC\/ {\rm and} ST NetHack\/} only). +Note: DEC Rainbows hang if this is turned on. +Cannot be set with the `{\tt O}' command. +%.lp +\item[\ib{soundcard}] +(default off, {\it PC NetHack \/} only). +Cannot be set with the `{\tt O}' command. +%.lp +\item[\ib{video}] +Set the video mode used ({\it PC\/ NetHack\/} only). +Values are {\it autodetect\/}, {\it default\/}, or {\it vga\/}. +Setting {\it vga\/} (or {\it autodetect\/} with vga hardware present) will cause +the game to display tiles. +Cannot be set with the `{\tt O}' command. +%.lp +\item[\ib{videocolors}] +\begin{sloppypar} +Set the color palette for PC systems using NO\_TERMS +(default 4-2-6-1-5-3-15-12-10-14-9-13-11, {\it PC\/ NetHack\/} only). +The order of colors is red, green, brown, blue, magenta, cyan, +bright.white, bright.red, bright.green, yellow, bright.blue, +bright.magenta, and bright.cyan. +Cannot be set with the `{\tt O}' command. +\end{sloppypar} +%.lp +\item[\ib{videoshades}] +Set the intensity level of the three gray scales available +(default dark normal light, {\it PC\/ NetHack\/} only). +If the game display is difficult to read, try adjusting these scales; +if this does not correct the problem, try {\tt !color}. +Cannot be set with the `{\tt O}' command. +\elist + +%.lp +%.hn 2 +\subsection*{Configuring User Sounds} + +%.pg +Some platforms allow you to define sound files to be played when a message +that matches a user-defined pattern is delivered to the message window. +At this time the Qt port and the win32tty and win32gui ports support the +use of user sounds. + +%.pg +The following config file entries are relevant to mapping user sounds +to messages: + +\blist{} +%.lp +\item[\ib{SOUNDDIR}] +The directory that houses the sound files to be played. +%.lp +\item[\ib{SOUND}] +An entry that maps a sound file to a user-specified message pattern. +Each SOUND entry is broken down into the following parts: + +%.sd +%.si +{\tt MESG } --- message window mapping (the only one supported in 3.4).\\ +{\tt pattern } --- the pattern to match.\\ +{\tt sound file} --- the sound file to play.\\ +{\tt volume } --- the volume to be set while playing the sound file. +%.ei +%.ed +\elist + +%.pg +The exact format for the pattern depends on whether the platform is +built to use {\it regular expressions \/} or NetHack's own internal pattern +matching facility. The {\it regular expressions \/} matching can be much more +sophisticated than the internal NetHack pattern matching, but requires +3rd party libraries on some platforms. There are plenty of references +available elsewhere for explaining {\it regular expressions \/}. You can verify +which pattern matching is used by your port with the +\#version command. + +%.pg +NetHack's internal pattern matching routine uses the following +special characters in its pattern matching: + +\begin{verbatim} + *--- matches 0 or more characters. + ?--- matches any single character. +\end{verbatim} + +%.pg +Here's an example of a sound mapping using NetHack's internal +pattern matching facility: +\begin{verbatim} + SOUND=MESG "*chime of a cash register*" "gong.wav" 50 +\end{verbatim} +specifies that any message with "chime of a cash register" contained +in it will trigger the playing of "gong.wav". You can have multiple +SOUND entries in your config file. + +%.lp +%.hn 2 \subsection*{Configuring NetHack for Play by the Blind} %.pg @@ -2950,7 +3132,8 @@ \medskip \nd {\it Michael Allison}, {\it David Cohrs}, {\it Alex Kompel}, {\it Dion Nicolaas}, and {\it Yitzhak Sapir} maintained and enhanced 3.4 for the Microsoft Windows platform. -{\it Alex Kompel} contributed a new graphical interface for the Windows port. +{\it Alex Kompel} contributed a new graphical interface for the Windows port. +{\it Alex Kompel} also contributed a Windows CE port for 3.4.1. %.pg \medskip @@ -2983,41 +3166,42 @@ \begin{center} \begin{tabular}{lll} %TABLE_START -Adam Aronow & Helge Hafting & Mike Engber\\ -Alex Kompel & Irina Rempt-Drijfhout & Mike Gallop\\ -Andreas Dorn & Izchak Miller & Mike Passaretti\\ -Andy Church & J. Ali Harlow & Mike Stephenson\\ -Andy Swanson & Janet Walz & Norm Meluch\\ -Ari Huttunen & Janne Salmij\"{a}rvi & Olaf Seibert\\ -Barton House & Jean-Christophe Collet & Pat Rankin\\ -Benson I. Margulies & Jochen Erwied & Paul Winner\\ -Bill Dyer & John Kallen & Pierre Martineau\\ -Boudewijn Waijers & John Rupley & Ralf Brown\\ -Bruce Cox & John S. Bien & Richard Addison\\ -Bruce Holloway & Johnny Lee & Richard Beigel\\ -Bruce Mewborne & Jon W\{tte & Richard P. Hughey\\ -Carl Schelin & Jonathan Handler & Rob Menke\\ -Chris Russo & Joshua Delahunty & Robin Johnson\\ -David Cohrs & Keizo Yamamoto & Roland McGrath\\ -David Damerell & Ken Arnold & Ron Van Iwaarden\\ -David Gentzel & Ken Arromdee & Ronnen Miller\\ -David Hairston & Ken Lorber & Ross Brown\\ -Dean Luick & Ken Washikita & Sascha Wostmann\\ -Del Lamb & Kevin Darcy & Scott Bigham\\ -Deron Meranda & Kevin Hugo & Scott R. Turner\\ -Dion Nicolaas & Kevin Sitze & Stephen Spackman\\ -Dylan O'Donnell & Kevin Smolkowski & Stephen White\\ -Eric Backus & Kevin Sweet & Steve Creps\\ -Eric Hendrickson & Lars Huttar & Steve Linhart\\ -Eric R. Smith & Mark Gooderum & Steve VanDevender\\ -Eric S. Raymond & Mark Modrall & Teemu Suikki\\ -Erik Andersen & Marvin Bressler & Tim Lennan\\ -Frederick Roeber & Matthew Day & Timo Hakulinen\\ -Gil Neiger & Merlyn LeRoy & Tom Almy\\ -Greg Laskin & Michael Allison & Tom West\\ -Greg Olson & Michael Feir & Warren Cheung\\ -Gregg Wonderly & Michael Hamel & Warwick Allison\\ -Hao-yang Wang & Michael Sokolov & Yitzhak Sapir +Adam Aronow & Irina Rempt-Drijfhout & Mike Gallop\\ +Alex Kompel & Izchak Miller & Mike Passaretti\\ +Andreas Dorn & J. Ali Harlow & Mike Stephenson\\ +Andy Church & Janet Walz & Norm Meluch\\ +Andy Swanson & Janne Salmij\"{a}rvi & Olaf Seibert\\ +Ari Huttunen & Jean-Christophe Collet & Pasi Kallinen\\ +Barton House & Jochen Erwied & Pat Rankin\\ +Benson I. Margulies & John Kallen & Paul Winner\\ +Bill Dyer & John Rupley & Pierre Martineau\\ +Boudewijn Waijers & John S. Bien & Ralf Brown\\ +Bruce Cox & Johnny Lee & Richard Addison\\ +Bruce Holloway & Jon W\{tte & Richard Beigel\\ +Bruce Mewborne & Jonathan Handler & Richard P. Hughey\\ +Carl Schelin & Joshua Delahunty & Rob Menke\\ +Chris Russo & Keizo Yamamoto & Robin Johnson\\ +David Cohrs & Ken Arnold & Roderick Schertler\\ +David Damerell & Ken Arromdee & Roland McGrath\\ +David Gentzel & Ken Lorber & Ron Van Iwaarden\\ +David Hairston & Ken Washikita & Ronnen Miller\\ +Dean Luick & Kevin Darcy & Ross Brown\\ +Del Lamb & Kevin Hugo & Sascha Wostmann\\ +Deron Meranda & Kevin Sitze & Scott Bigham\\ +Dion Nicolaas & Kevin Smolkowski & Scott R. Turner\\ +Dylan O'Donnell & Kevin Sweet & Stephen Spackman\\ +Eric Backus & Lars Huttar & Stephen White\\ +Eric Hendrickson & Malcolm Ryan & Steve Creps\\ +Eric R. Smith & Mark Gooderum & Steve Linhart\\ +Eric S. Raymond & Mark Modrall & Steve VanDevender\\ +Erik Andersen & Marvin Bressler & Teemu Suikki\\ +Frederick Roeber & Matthew Day & Tim Lennan\\ +Gil Neiger & Merlyn LeRoy & Timo Hakulinen\\ +Greg Laskin & Michael Allison & Tom Almy\\ +Greg Olson & Michael Feir & Tom West\\ +Gregg Wonderly & Michael Hamel & Warren Cheung\\ +Hao-yang Wang & Michael Sokolov & Warwick Allison\\ +Helge Hafting & Mike Engber & Yitzhak Sapir %TABLE_END Do not delete this line. \end{tabular} \end{center} diff -Naurd ../nethack-3.4.0/doc/Guidebook.txt ./doc/Guidebook.txt --- ../nethack-3.4.0/doc/Guidebook.txt Wed Mar 20 23:42:39 2002 +++ ./doc/Guidebook.txt Mon Feb 24 15:25:05 2003 @@ -126,7 +126,7 @@ as well as tracking and stealthy movement. - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -192,7 +192,7 @@ - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -258,7 +258,7 @@ - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -324,7 +324,7 @@ - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -390,7 +390,7 @@ played. - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -456,7 +456,7 @@ - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -522,7 +522,7 @@ ed. Typing a `*' lists your entire inventory, so you can see the - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -588,7 +588,7 @@ - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -630,31 +630,31 @@ Prefix: same as `g', but forking of corridors is not con- sidered interesting. - _ Travel to a map location via a shortest-path algorithm. - Stops on most of the same conditions as the `G' command - does. For ports with mouse support, the command is also in- - voked when a mouse-click takes place on a location further - than 1 cell away from the current position. + _ Travel to a map location via a shortest-path algorithm. The + shortest path is computed over map locations the hero knows + about (e.g. seen or previously traversed). If there is no + known path, a guess is made instead. Stops on most of the + same conditions as the `G' command, but without picking up + objects, similar to the `M' command. For ports with mouse + support, the command is also invoked when a mouse-click + takes place on a location other than the current position. . Rest, do nothing for one turn. a Apply (use) a tool (pick-axe, key, lamp...). A Remove one or more worn items, such as armor. Use `T' (take - off) to take off only one piece of armor or `R' (remove) to + off) to take off only one piece of armor or `R' (remove) to take off only one accessory. ^A Redo the previous command. c Close a door. - C Call (name) an individual monster. - - ^C Panic button. Quit the game. - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -664,14 +664,23 @@ - d Drop something. Ex. ``d7a'' means drop seven items of ob- + C Call (name) an individual monster. + + ^C Panic button. Quit the game. + + d Drop something. Ex. ``d7a'' means drop seven items of ob- ject a. D Drop several things. In answer to the question ``What kinds - of things do you want to drop? [!%= aium]'' you should type - zero or more object symbols possibly followed by `a' and/or - `i' and/or `u' and/or `m'. + of things do you want to drop? [!%= BUCXaium]'' you should + type zero or more object symbols possibly followed by `a' + and/or `i' and/or `u' and/or `m'. In addition, one or more + of the blessed/uncursed/cursed groups may be typed. + DB - drop all objects known to be blessed. + DU - drop all objects known to be uncursed. + DC - drop all objects known to be cursed. + DX - drop all objects of unknown B/U/C status. Da - drop all objects, without asking for confirmation. Di - examine your inventory before dropping anything. Du - drop only unpaid objects (when in a shop). @@ -709,37 +718,38 @@ O Set options. A menu showing the current option values will be displayed. You can change most values simply by select- ing the menu entry for the given option (ie, by typing its - letter or clicking upon it, depending on your user inter- - face). For the non-boolean choices, a further menu or - prompt will appear once you've closed this menu. The avail- - able options are listed later in this Guidebook. Options - are usually set before the game rather than with the `O' - command; see the section on options below. - p Pay your shopping bill. + NetHack 3.4 February 12, 2003 - NetHack 3.4 March 20, 2002 + NetHack Guidebook 12 - NetHack Guidebook 12 + letter or clicking upon it, depending on your user inter- + face). For the non-boolean choices, a further menu or + prompt will appear once you've closed this menu. The avail- + able options are listed later in this Guidebook. Options + are usually set before the game rather than with the `O' + command; see the section on options below. + p Pay your shopping bill. P Put on a ring or other accessory (amulet, blindfold). - ^P Repeat previous message (subsequent ^P's repeat earlier mes- - sages). + ^P Repeat previous message. Subsequent ^P's repeat earlier + messages. The behavior can be varied via the msg_window op- + tion. q Quaff (drink) a potion. - Q Select an object for your quiver. You can then throw this - using the `f' command. (In versions prior to 3.3 this was - the command to quit the game, which has now been moved to + Q Select an object for your quiver. You can then throw this + using the `f' command. (In versions prior to 3.3 this was + the command to quit the game, which has now been moved to `#quit'.) r Read a scroll or spellbook. @@ -748,10 +758,10 @@ ^R Redraw the screen. - s Search for secret doors and traps around you. It usually + s Search for secret doors and traps around you. It usually takes several tries to find something. - S Save (and suspend) the game. The game will be restored au- + S Save (and suspend) the game. The game will be restored au- tomatically the next time you play. t Throw an object or shoot a projectile. @@ -770,33 +780,31 @@ W Wear armor. - x Exchange your wielded weapon with the item in your secondary - weapon slot. The latter is used as your second weapon in - two-weapon combat. Note that if one of these slots is emp- - ty, the exchange still takes place. - - X Enter explore (discovery) mode, explained in its own section - later. - - ^X Display your name, role, race, gender, and alignment as well - as the various deities in your game. + x Exchange your wielded weapon with the item in your alternate + weapon slot. The latter is used as your secondary weapon + when engaging in two-weapon combat. Note that if one of + these slots is empty, the exchange still takes place. - z Zap a wand. To aim at yourself, use `.' for the direction. + NetHack 3.4 February 12, 2003 - NetHack 3.4 March 20, 2002 + NetHack Guidebook 13 - NetHack Guidebook 13 + X Enter explore (discovery) mode, explained in its own section + later. + ^X Display your name, role, race, gender, and alignment as well + as the various deities in your game. + z Zap a wand. To aim at yourself, use `.' for the direction. - Z Zap (cast) a spell. To cast at yourself, use `.' for the + Z Zap (cast) a spell. To cast at yourself, use `.' for the direction. ^Z Suspend the game (UNIX(R) versions with job control only). @@ -805,7 +813,8 @@ ; Show what type of thing a visible symbol corresponds to. - , Pick up some things. + , Pick up some things. May be preceded by `m' to force a se- + lection menu. @ Toggle the autopickup option on and off. @@ -837,22 +846,13 @@ ! Escape to a shell. - # Perform an extended command. As you can see, the authors of - NetHack used up all the letters, so this is a way to intro- - duce the less frequently used commands. What extended com- - mands are available depends on what features the game was - compiled with. - - #adjust - Adjust inventory letters (most useful when the fixinv option - is ``on''). __________ (R)UNIX is a registered trademark of AT&T. - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -862,6 +862,16 @@ + # Perform an extended command. As you can see, the authors of + NetHack used up all the letters, so this is a way to intro- + duce the less frequently used commands. What extended com- + mands are available depends on what features the game was + compiled with. + + #adjust + Adjust inventory letters (most useful when the fixinv option + is ``on''). + #chat Talk to someone. @@ -906,29 +916,29 @@ #ride Ride (or stop riding) a monster. - #rub Rub a lamp or a stone. - #sit Sit down. - #turn - Turn undead. + NetHack 3.4 February 12, 2003 - #twoweapon - Toggle two-weapon combat on or off. Note that you must use - suitable weapons for this type of combat, or it will be - NetHack 3.4 March 20, 2002 + NetHack Guidebook 15 - NetHack Guidebook 15 + #rub Rub a lamp or a stone. + #sit Sit down. + #turn + Turn undead. - automatically turned off. + #twoweapon + Toggle two-weapon combat on or off. Note that you must use + suitable weapons for this type of combat, or it will be au- + tomatically turned off. #untrap Untrap something (trap, door, or chest). @@ -971,28 +981,28 @@ M-n #name - M-o #offer - M-p #pray - M-q #quit - M-r #rub + NetHack 3.4 February 12, 2003 - M-s #sit - NetHack 3.4 March 20, 2002 + NetHack Guidebook 16 + M-o #offer + M-p #pray - NetHack Guidebook 16 + M-q #quit + M-r #rub + M-s #sit M-t #turn @@ -1038,27 +1048,28 @@ Doorways connect rooms and corridors. Some doorways have no doors; you can walk right through. Others have doors in them, which may be open, closed, or locked. To open a closed door, use - the `o' (open) command; to close it again, use the `c' (close) - command. - You can get through a locked door by using a tool to pick - the lock with the `a' (apply) command, or by kicking it open with - the `^D' (kick) command. - Open doors cannot be entered diagonally; you must approach - them straight on, horizontally or vertically. Doorways without - doors are not restricted in this fashion. + NetHack 3.4 February 12, 2003 - NetHack 3.4 March 20, 2002 + NetHack Guidebook 17 - NetHack Guidebook 17 + the `o' (open) command; to close it again, use the `c' (close) + command. + You can get through a locked door by using a tool to pick + the lock with the `a' (apply) command, or by kicking it open with + the `^D' (kick) command. + + Open doors cannot be entered diagonally; you must approach + them straight on, horizontally or vertically. Doorways without + doors are not restricted in this fashion. Doors can be useful for shutting out monsters. Most mon- sters cannot open doors, although a few don't need to (ex. ghosts @@ -1103,20 +1114,9 @@ previously visited level, it will be loaded from its file on disk and reactivated. If you're moving to a level which has not yet been visited, it will be created (from scratch for most random - levels, from a template for some ``special'' levels, or loaded - from the remains of an earlier game for a ``bones'' level as - briefly described below). Monsters are only active on the cur- - rent level; those on other levels are essentially placed into - stasis. - - Ordinarily when you climb a set of stairs, you will arrive - on the corresponding staircase at your destination. However, - pets (see below) and some other monsters will follow along if - they're close enough when you travel up or down stairs, and occa- - sionally one of these creatures will displace you during the - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -1126,6 +1126,17 @@ + levels, from a template for some ``special'' levels, or loaded + from the remains of an earlier game for a ``bones'' level as + briefly described below). Monsters are only active on the cur- + rent level; those on other levels are essentially placed into + stasis. + + Ordinarily when you climb a set of stairs, you will arrive + on the corresponding staircase at your destination. However, + pets (see below) and some other monsters will follow along if + they're close enough when you travel up or down stairs, and occa- + sionally one of these creatures will displace you during the climb. When that occurs, the pet or other monster will arrive on the staircase and you will end up nearby. @@ -1169,29 +1180,29 @@ it just like a monster that you can see; of course, if the mon- ster has moved, you will attack empty air. If you guess that the monster has moved and you don't wish to fight, you can use the - `m' command to move without fighting; likewise, if you don't re- - member a monster but want to try fighting anyway, you can use the - `F' command. - 6.2. Your pet - You start the game with a little dog (`d'), cat (`f'), or - pony (`u'), which follows you about the dungeon and fights mon- - sters with you. Like you, your pet needs food to survive. It - usually feeds itself on fresh carrion and other meats. If you're - worried about it or want to train it, you can feed it, too, by + NetHack 3.4 February 12, 2003 - NetHack 3.4 March 20, 2002 + NetHack Guidebook 19 - NetHack Guidebook 19 + `m' command to move without fighting; likewise, if you don't re- + member a monster but want to try fighting anyway, you can use the + `F' command. + 6.2. Your pet + You start the game with a little dog (`d'), cat (`f'), or + pony (`u'), which follows you about the dungeon and fights mon- + sters with you. Like you, your pet needs food to survive. It + usually feeds itself on fresh carrion and other meats. If you're + worried about it or want to train it, you can feed it, too, by throwing it food. A properly trained pet can be very useful un- der certain circumstances. @@ -1235,29 +1246,29 @@ lurking around, gloating over its last victory. - 7. Objects - When you find something in the dungeon, it is common to want - to pick it up. In NetHack, this is accomplished automatically by - walking over the object (unless you turn off the autopickup op- - tion (see below), or move with the `m' prefix (see above)), or - manually by using the `,' command. - If you're carrying too many items, NetHack will tell you so - and you won't be able to pick up anything more. Otherwise, it - will add the object(s) to your pack and tell you what you just + NetHack 3.4 February 12, 2003 - NetHack 3.4 March 20, 2002 + NetHack Guidebook 20 - NetHack Guidebook 20 + 7. Objects + When you find something in the dungeon, it is common to want + to pick it up. In NetHack, this is accomplished automatically by + walking over the object (unless you turn off the autopickup op- + tion (see below), or move with the `m' prefix (see above)), or + manually by using the `,' command. + If you're carrying too many items, NetHack will tell you so + and you won't be able to pick up anything more. Otherwise, it + will add the object(s) to your pack and tell you what you just picked up. As you add items to your inventory, you also add the weight @@ -1299,22 +1310,11 @@ specifying a space as the value will remove the prior name in- stead of assigning a new one. - 7.1. Curses and Blessings - Any object that you find may be cursed, even if the object - is otherwise helpful. The most common effect of a curse is being - stuck with (and to) the item. Cursed weapons weld themselves to - your hand when wielded, so you cannot unwield them. Any cursed - item you wear is not removable by ordinary means. In addition, - cursed arms and armor usually, but not always, bear negative en- - chantments that make them less effective in combat. Other cursed - objects may act poorly or detrimentally in other ways. - Objects can also be blessed. Blessed items usually work - better or more beneficially than normal uncursed items. For - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -1324,7 +1324,20 @@ - example, a blessed weapon will do more damage against demons. + 7.1. Curses and Blessings + + Any object that you find may be cursed, even if the object + is otherwise helpful. The most common effect of a curse is being + stuck with (and to) the item. Cursed weapons weld themselves to + your hand when wielded, so you cannot unwield them. Any cursed + item you wear is not removable by ordinary means. In addition, + cursed arms and armor usually, but not always, bear negative en- + chantments that make them less effective in combat. Other cursed + objects may act poorly or detrimentally in other ways. + + Objects can also be blessed. Blessed items usually work + better or more beneficially than normal uncursed items. For ex- + ample, a blessed weapon will do more damage against demons. There are magical means of bestowing or removing curses upon objects, so even if you are stuck with one, you can still have @@ -1364,23 +1377,10 @@ The chance that an attack will successfully hit a monster, and the amount of damage such a hit will do, depends upon many - factors. Among them are: type of weapon, quality of weapon (en- - chantment and/or erosion), experience level, strength, dexterity, - encumbrance, and proficiency (see below). The monster's armor - class - a general defense rating, not necessarily due to wearing - of armor - is a factor too; also, some monsters are particularly - vulnerable to certain types of weapons. - - Many weapons can be wielded in one hand; some require both - hands. When wielding a two-handed weapon, you can not wear a - shield, and vice versa. When wielding a one-handed weapon, you - can have another weapon ready to use by setting things up with - the `x' command, which exchanges your primary (the one being - wielded) and secondary weapons. And if you have proficiency in - the ``two weapon combat'' skill, you may wield both primary and + factors. Among them are: type of weapon, quality of weapon - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -1390,12 +1390,25 @@ - secondary weapons simultaneously; use the `#twoweapon' extended - command to engage or disengage that. Only some types of charac- - ters (barbarians, for instance) have the necessary skill avail- - able. Even with that skill, using two weapons at once incurs a - penalty in the chance to hit your target compared to using just - one weapon at a time. + (enchantment and/or erosion), experience level, strength, dexter- + ity, encumbrance, and proficiency (see below). The monster's ar- + mor class - a general defense rating, not necessarily due to + wearing of armor - is a factor too; also, some monsters are par- + ticularly vulnerable to certain types of weapons. + + Many weapons can be wielded in one hand; some require both + hands. When wielding a two-handed weapon, you can not wear a + shield, and vice versa. When wielding a one-handed weapon, you + can have another weapon ready to use by setting things up with + the `x' command, which exchanges your primary (the one being + wielded) and alternate weapons. And if you have proficiency in + the ``two weapon combat'' skill, you may wield both weapons si- + multaneously as primary and secondary; use the `#twoweapon' ex- + tended command to engage or disengage that. Only some types of + characters (barbarians, for instance) have the necessary skill + available. Even with that skill, using two weapons at once in- + curs a penalty in the chance to hit your target compared to using + just one weapon at a time. There might be times when you'd rather not wield any weapon at all. To accomplish that, wield `-', or else use the `A' com- @@ -1432,6 +1445,17 @@ NetHack choose another item to automatically fill your quiver when the inventory slot used for `Q' runs out. + + NetHack 3.4 February 12, 2003 + + + + + + NetHack Guidebook 23 + + + Some characters have the ability to fire a volley of multi- ple items in a single turn. Knowing how to load several rounds of ammunition at once -- or hold several missiles in your hand -- @@ -1444,18 +1468,6 @@ a chance to fire varies from turn to turn. You can explicitly limit the number of shots by using a numeric prefix before the `t' or `f' command. For example, ``2f'' (or ``n2f'' if using - - - NetHack 3.4 March 20, 2002 - - - - - - NetHack Guidebook 23 - - - number_pad mode) would ensure that at most 2 arrows are shot even if you could have fired 3. If you specify a larger number than would have been shot (``4f'' in this example), you'll just end up @@ -1498,21 +1510,9 @@ is no penalty or bonus; at skilled level, you receive a modest bonus in the chance to hit and amount of damage done; at expert level, the bonus is higher. A successful hit has a chance to - boost your training towards the next skill level (unless you've - already reached the limit for this skill). Once such training - reaches the threshold for that next level, you'll be told that - you feel more confident in your skills. At that point you can - use `#enhance' to increase one or more skills. Such skills are - not increased automatically because there is a limit to your to- - tal overall skills, so you need to actively choose which skills - to enhance and which to ignore. - - - - - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -1522,6 +1522,15 @@ + boost your training towards the next skill level (unless you've + already reached the limit for this skill). Once such training + reaches the threshold for that next level, you'll be told that + you feel more confident in your skills. At that point you can + use `#enhance' to increase one or more skills. Such skills are + not increased automatically because there is a limit to your to- + tal overall skills, so you need to actively choose which skills + to enhance and which to ignore. + 7.3. Armor (`[') Lots of unfriendly things lurk about; you need armor to pro- @@ -1566,27 +1575,24 @@ negative enchantments (minuses) in addition to being unremovable. Many types of armor are subject to some kind of damage like - rust. Such damage can be repaired. Some types of armor may in- - hibit spell casting. - - The commands to use armor are `W' (wear) and `T' (take off). - The `A' command can also be used to take off armor as well as - other worn items. - - + rust. Such damage can be repaired. Some types of armor may + NetHack 3.4 February 12, 2003 - NetHack 3.4 March 20, 2002 + NetHack Guidebook 25 - NetHack Guidebook 25 + inhibit spell casting. + The commands to use armor are `W' (wear) and `T' (take off). + The `A' command can also be used to take off armor as well as + other worn items. 7.4. Food (`%') @@ -1636,23 +1642,21 @@ when you read the scroll. On versions of NetHack where mail is randomly generated internal to the game, these environment vari- ables are ignored. You can disable the mail daemon by turning - off the mail option. - - The command to read a scroll is `r'. + NetHack 3.4 February 12, 2003 - NetHack 3.4 March 20, 2002 + NetHack Guidebook 26 - NetHack Guidebook 26 - + off the mail option. + The command to read a scroll is `r'. 7.6. Potions (`!') @@ -1704,13 +1708,9 @@ Rings are very useful items, since they are relatively per- manent magic, unlike the usually fleeting effects of potions, - scrolls, and wands. - Putting on a ring activates its magic. You can wear only - two rings, one on each ring finger. - - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -1720,6 +1720,11 @@ + scrolls, and wands. + + Putting on a ring activates its magic. You can wear only + two rings, one on each ring finger. + Most rings also cause you to grow hungry more rapidly, the rate varying with the type of ring. @@ -1769,14 +1774,9 @@ levels, categories, and chances for failure. The `Z' (cast) com- mand casts a spell. - 7.10. Tools (`(') - - Tools are miscellaneous objects with various purposes. Some - tools have a limited number of uses, akin to wand charges. For - example, lamps burn out after a while. Other tools are - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -1786,7 +1786,12 @@ - containers, which objects can be placed into or taken out of. + 7.10. Tools (`(') + + Tools are miscellaneous objects with various purposes. Some + tools have a limited number of uses, akin to wand charges. For + example, lamps burn out after a while. Other tools are contain- + ers, which objects can be placed into or taken out of. The command to use tools is `a' (apply). @@ -1835,14 +1840,9 @@ generally heavy. It is rumored that some statues are not what they seem. - Very large humanoids (giants and their ilk) have been known - to use boulders as weapons. - - - - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -1852,6 +1852,9 @@ + Very large humanoids (giants and their ilk) have been known + to use boulders as weapons. + 7.14. Gold (`$') Gold adds to your score, and you can buy things in shops @@ -1903,12 +1906,9 @@ Eating any kind of meat violates the vegetarian, vegan, and foodless conducts. This includes tripe rations, the corpses or - tins of any monsters not mentioned above, and the various other - chunks of meat found in the dungeon. Swallowing and digesting a - monster while polymorphed is treated as if you ate the creature's - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 @@ -1918,63 +1918,63 @@ + tins of any monsters not mentioned above, and the various other + chunks of meat found in the dungeon. Swallowing and digesting a + monster while polymorphed is treated as if you ate the creature's corpse. Eating leather, dragon hide, or bone items while poly- morphed into a creature that can digest it, or eating monster - brains while polymorphed into a (master) mind flayer, is consid- - ered eating an animal, although wax is only an animal byproduct. + brains while polymorphed into a mind flayer, is considered eating + an animal, although wax is only an animal byproduct. - Regardless of conduct, there will be some items which are - indigestible, and others which are hazardous to eat. Using a + Regardless of conduct, there will be some items which are + indigestible, and others which are hazardous to eat. Using a swallow-and-digest attack against a monster is equivalent to eat- ing the monster's corpse. Please note that the term ``vegan'' is - used here only in the context of diet. You are still free to - choose not to use or wear items derived from animals (e.g. - leather, dragon hide, bone, horns, coral), but the game will not + used here only in the context of diet. You are still free to + choose not to use or wear items derived from animals (e.g. + leather, dragon hide, bone, horns, coral), but the game will not keep track of this for you. Also note that ``milky'' potions may be a translucent white, but they do not contain milk, so they are - compatible with a vegan diet. Slime molds or player-defined - ``fruits'', although they could be anything from ``cherries'' to + compatible with a vegan diet. Slime molds or player-defined + ``fruits'', although they could be anything from ``cherries'' to ``pork chops'', are also assumed to be vegan. An atheist is one who rejects religion. This means that you - cannot #pray, #offer sacrifices to any god, #turn undead, or - #chat with a priest. Particularly selective readers may argue - that playing Monk or Priest characters should violate this con- - duct; that is a choice left to the player. Offering the Amulet - of Yendor to your god is necessary to win the game and is not + cannot #pray, #offer sacrifices to any god, #turn undead, or + #chat with a priest. Particularly selective readers may argue + that playing Monk or Priest characters should violate this con- + duct; that is a choice left to the player. Offering the Amulet + of Yendor to your god is necessary to win the game and is not counted against this conduct. You are also not penalized for be- - ing spoken to by an angry god, priest(ess), or other religious + ing spoken to by an angry god, priest(ess), or other religious figure; a true atheist would hear the words but attach no special meaning to them. - Most players fight with a wielded weapon (or tool intended + Most players fight with a wielded weapon (or tool intended to be wielded as a weapon). Another challenge is to win the game - without using such a wielded weapon. You are still permitted to - throw, fire, and kick weapons; use a wand, spell, or other type + without using such a wielded weapon. You are still permitted to + throw, fire, and kick weapons; use a wand, spell, or other type of item; or fight with your hands and feet. - In NetHack, a pacifist refuses to cause the death of any - other monster (i.e. if you would get experience for the death). - This is a particularly difficult challenge, although it is still + In NetHack, a pacifist refuses to cause the death of any + other monster (i.e. if you would get experience for the death). + This is a particularly difficult challenge, although it is still possible to gain experience by other means. An illiterate character cannot read or write. This includes - reading a scroll, spellbook, fortune cookie message, or t-shirt; + reading a scroll, spellbook, fortune cookie message, or t-shirt; writing a scroll; or making an engraving of anything other than a single ``x'' (the traditional signature of an illiterate person). Reading an engraving, or any item that is absolutely necessary to - win the game, is not counted against this conduct. The identity - of scrolls and spellbooks (and knowledge of spells) in your - starting inventory is assumed to be learned from your teachers + win the game, is not counted against this conduct. The identity + of scrolls and spellbooks (and knowledge of spells) in your + starting inventory is assumed to be learned from your teachers prior to the start of the game and isn't counted. - There are several other minor challenges. It is possible to - eliminate a species of monsters by genocide; playing without this - feature is considered a challenge. You can change the form of - any object into another object of the same type (``polypiling'') - NetHack 3.4 March 20, 2002 + + NetHack 3.4 February 12, 2003 @@ -1984,137 +1984,143 @@ - or the form of your own body into another creature (``polyself'') - by wand, spell, or potion of polymorph; avoiding these effects - are each considered challenges. Finally, you may sometimes re- - ceive wishes; a game without an attempt to wish for an object is - a challenge, as is a game without wishing for an artifact (even - if the artifact immediately disappears). + There are several other challenges tracked by the game. It + is possible to eliminate one or more species of monsters by geno- + cide; playing without this feature is considered a challenge. + When you game offers you an opportunity to genocide monsters, you + may respond with the monster type ``none'' if you want to de- + cline. You can change the form of an item into another item of + the same type (``polypiling'') or the form of your own body into + another creature (``polyself'') by wand, spell, or potion of + polymorph; avoiding these effects are each considered challenges. + Polymorphing monsters, including pets, does not break either of + these challenges. Finally, you may sometimes receive wishes; a + game without an attempt to wish for any items is a challenge, as + is a game without wishing for an artifact (even if the artifact + immediately disappears). When the game offers you an opportunity + to make a wish for an item, you may choose ``nothing'' if you + want to decline. 9. Options - Due to variations in personal tastes and conceptions of how + Due to variations in personal tastes and conceptions of how NetHack should do things, there are options you can set to change how NetHack behaves. 9.1. Setting the options - Options may be set in a number of ways. Within the game, + Options may be set in a number of ways. Within the game, the `O' command allows you to view all options and change most of - them. You can also set options automatically by placing them in - the NETHACKOPTIONS environment variable or in a configuration + them. You can also set options automatically by placing them in + the NETHACKOPTIONS environment variable or in a configuration file. Some versions of NetHack also have front-end programs that allow you to set options before starting the game. 9.2. Using the NETHACKOPTIONS environment variable - The NETHACKOPTIONS variable is a comma-separated list of - initial values for the various options. Some can only be turned - on or off. You turn one of these on by adding the name of the + The NETHACKOPTIONS variable is a comma-separated list of + initial values for the various options. Some can only be turned + on or off. You turn one of these on by adding the name of the option to the list, and turn it off by typing a `!' or ``no'' be- - fore the name. Others take a character string as a value. You - can set string options by typing the option name, a colon or + fore the name. Others take a character string as a value. You + can set string options by typing the option name, a colon or equals sign, and then the value of the string. The value is ter- minated by the next comma or the end of string. For example, to set up an environment variable so that ``au- - toquiver'' is on, ``autopickup'' is off, the name is set to - ``Blue Meanie'', and the fruit is set to ``papaya'', you would + toquiver'' is on, ``autopickup'' is off, the name is set to + ``Blue Meanie'', and the fruit is set to ``papaya'', you would enter the command % setenv NETHACKOPTIONS "autoquiver,\!autopickup,name:Blue Meanie,fruit:papaya" - in csh (note the need to escape the ! since it's special to the + in csh (note the need to escape the ! since it's special to the shell), or - $ NETHACKOPTIONS="autoquiver,!autopickup,name:Blue Meanie,fruit:papaya" - $ export NETHACKOPTIONS - in sh or ksh. - 9.3. Using a configuration file + NetHack 3.4 February 12, 2003 - Any line in the configuration file starting with ``OP- - TIONS='' may be filled out with options in the same syntax as in - NETHACKOPTIONS. Any line starting with ``DUNGEON='', - NetHack 3.4 March 20, 2002 + NetHack Guidebook 32 - NetHack Guidebook 32 + $ NETHACKOPTIONS="autoquiver,!autopickup,name:Blue Meanie,fruit:papaya" + $ export NETHACKOPTIONS + in sh or ksh. + 9.3. Using a configuration file - ``EFFECTS='', ``MONSTERS='', ``OBJECTS='', ``TRAPS='', or ``BOUL- - DER='' is taken as defining the corresponding dungeon, effects, - monsters, objects traps or boulder option in a different syntax, - a sequence of decimal numbers giving the character position in - the current font to be used in displaying each entry. Such a se- - quence can be continued to multiple lines by putting a `\' at the - end of each line to be continued. Any line starting with `#' is - treated as a comment. + Any line in the configuration file starting with ``OP- + TIONS='' may be filled out with options in the same syntax as in + NETHACKOPTIONS. Any line starting with ``DUNGEON='', ``EF- + FECTS='', ``MONSTERS='', ``OBJECTS='', ``TRAPS='', or ``BOUL- + DER='' is taken as defining the corresponding dungeon, effects, + monsters, objects traps or boulder option in a different syntax, + a sequence of decimal numbers giving the character position in + the current font to be used in displaying each entry. A zero in + any entry in such a sequence leaves the display of that entry un- + changed; this feature is not available using the option syntax. + Such a sequence can be continued to multiple lines by putting a + `\' at the end of each line to be continued. Any line starting + with `#' is treated as a comment. The default name of the configuration file varies on differ- - ent operating systems, but NETHACKOPTIONS can also be set to the - full name of a file you want to use (possibly preceded by an + ent operating systems, but NETHACKOPTIONS can also be set to the + full name of a file you want to use (possibly preceded by an `@'). 9.4. Customization options Here are explanations of what the various options do. Char- - acter strings that are too long may be truncated. Some of the + acter strings that are too long may be truncated. Some of the options listed may be inactive in your dungeon. align - Your starting alignment (align:lawful, align:neutral, or + Your starting alignment (align:lawful, align:neutral, or align:chaotic). You may specify just the first letter. The - default is to randomly pick an appropriate alignment. Can- + default is to randomly pick an appropriate alignment. Can- not be set with the `O' command. autodig - Automatically dig if you are wielding a digging tool and + Automatically dig if you are wielding a digging tool and moving into a place that can be dug (default false). autopickup - Automatically pick up things onto which you move (default + Automatically pick up things onto which you move (default on). autoquiver - This option controls what happens when you attempt the `f' + This option controls what happens when you attempt the `f' (fire) command with an empty quiver. When true, the comput- - er will fill your quiver with some suitable weapon. Note - that it will not take into account the blessed/cursed sta- - tus, enchantment, damage, or quality of the weapon; you are - free to manually fill your quiver with the `Q' command in- - stead. If no weapon is found or the option is false, the - `t' (throw) command is executed instead. (default false) - - BIOS - Use BIOS calls to update the screen display quickly and to - read the keyboard (allowing the use of arrow keys to move) - on machines with an IBM PC compatible BIOS ROM (default off, - OS/2, PC, and ST NetHack only). + er will fill your quiver with some suitable weapon. Note + that it will not take into account the blessed/cursed sta- + tus, enchantment, damage, or quality of the weapon; you are + free to manually fill your quiver with the `Q' command in- + stead. If no weapon is found or the option is false, the - boulder - Set the character used to display boulders (default is rock - class symbol). + NetHack 3.4 February 12, 2003 - NetHack 3.4 March 20, 2002 + NetHack Guidebook 33 - NetHack Guidebook 33 + `t' (throw) command is executed instead. (default false) + boulder + Set the character used to display boulders (default is rock + class symbol). catname Name your starting cat (ex. ``catname:Morris''). Cannot be @@ -2137,6 +2143,11 @@ files. Only applies when MFLOPPY was defined during compi- lation. + cmdassist + Have the game provide some additional command assistance for + new players if it detects some anticipated mistakes (default + on). + confirm Have user confirm attacks on pets, shopkeepers, and other peaceable creatures (default on). @@ -2155,6 +2166,22 @@ game ends (defaults to all possibilities being disclosed). The possibilities are: + + + + + + + NetHack 3.4 February 12, 2003 + + + + + + NetHack Guidebook 34 + + + i - disclose your inventory. a - disclose your attributes. v - summarize monsters that have been vanquished. @@ -2170,18 +2197,6 @@ + - disclose it without prompting. - - do not disclose it and do not prompt. - - - NetHack 3.4 March 20, 2002 - - - - - - NetHack Guidebook 34 - - - (ex. ``disclose:yi na +v -g -c'') The example sets inventory to prompt and default to yes, attributes to prompt and de- fault to no, vanquished to disclose without prompting, geno- @@ -2221,6 +2236,18 @@ closed door, horizontal closed door, iron bars, tree, floor of a room, dark corridor, lit corridor, stairs up, stairs down, ladder up, ladder down, altar, grave, throne, kitchen + + + NetHack 3.4 February 12, 2003 + + + + + + NetHack Guidebook 35 + + + sink, fountain, pool or moat, ice, lava, vertical lowered drawbridge, horizontal lowered drawbridge, vertical raised drawbridge, horizontal raised drawbridge, air, cloud, under @@ -2236,18 +2263,6 @@ effects Set the graphics symbols for displaying special effects (de- fault ``|-\\/*!)(0#@*/-\\||\\-//-\\| |\\-/''). The effects - - - NetHack 3.4 March 20, 2002 - - - - - - NetHack Guidebook 35 - - - option should be followed by a string of 1-29 characters to be used instead of the default special-effects characters. This string is subjected to the same processing as the dun- @@ -2286,8 +2301,20 @@ fruit Name a fruit after something you enjoy eating (ex. - ``fruit:mango'') (default ``slime mold''). Basically a nos- - talgic whimsy that NetHack uses from time to time. You + ``fruit:mango'') (default ``slime mold''). Basically a + + + NetHack 3.4 February 12, 2003 + + + + + + NetHack Guidebook 36 + + + + nostalgic whimsy that NetHack uses from time to time. You should set this to something you find more appetizing than slime mold. Apples, oranges, pears, bananas, and melons al- ready exist in NetHack, so don't use those. @@ -2302,18 +2329,6 @@ help If more information is available for an object looked at with the `/' command, ask if you want to see it (default - - - NetHack 3.4 March 20, 2002 - - - - - - NetHack Guidebook 36 - - - on). Turning help off makes just looking at things faster, since you aren't interrupted with the ``More info?'' prompt, but it also means that you might miss some interesting @@ -2343,11 +2358,28 @@ Show corridor squares seen by night vision or a light source held by your character as lit (default off). + lootabc + Use the old `a', `b', and `c' keyboard shortcuts when loot- + ing, rather than the mnemonics `o', `i', and `b' (default + off). + mail Enable mail delivery during the game (default on). male An obsolete synonym for ``gender:male''. Cannot be set with + + + NetHack 3.4 February 12, 2003 + + + + + + NetHack Guidebook 37 + + + the `O' command. menustyle @@ -2368,18 +2400,6 @@ menu_deselect_all Menu character accelerator to deselect all items in a menu. - - - NetHack 3.4 March 20, 2002 - - - - - - NetHack Guidebook 37 - - - Implemented by the Amiga, Gem, X11 and tty ports. Default '-'. @@ -2414,6 +2434,18 @@ menu_previous_page Menu character accelerator to goto the previous menu page. + + + NetHack 3.4 February 12, 2003 + + + + + + NetHack Guidebook 38 + + + Implemented by the Amiga, Gem and tty ports. Default '<'. menu_search @@ -2433,42 +2465,52 @@ monsters Set the characters used to display monster classes (default ``abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU- - VWXYZ@ '&;:~]''). This string is subjected to the same + VWXYZ@ '&;:~]''). This string is subjected to the same pro- + cessing as the dungeon option. The order of the symbols is + ant or other insect, blob, cockatrice, dog or other canine, + eye or sphere, feline, gremlin, humanoid, imp or minor de- + mon, jelly, kobold, leprechaun, mimic, nymph, orc, piercer, + quadruped, rodent, arachnid or centipede, trapper or lurker + above, horse or unicorn, vortex, worm, xan or other mythi- + cal/fantastic insect, light, zruty, angelic being, bat or + bird, centaur, dragon, elemental, fungus or mold, gnome, gi- + ant humanoid, invisible monster, jabberwock, Keystone Kop, + lich, mummy, naga, ogre, pudding or ooze, quantum mechanic, + rust monster, snake, troll, umber hulk, vampire, wraith, + xorn, apelike creature, zombie, human, ghost, golem, demon, + sea monster, lizard, long worm tail, and mimic. Cannot be + set with the `O' command. + msghistory + The number of top line messages to save (and recall with ^P) + (default 20). Cannot be set with the `O' command. - NetHack 3.4 March 20, 2002 + msg_window + Allows you to change the way recalled messages are dis- + played. (It is currently implemented for tty only.) The + possible values are: + s - single message (default, this was the behavior before 3.4.0). + c - combination, two messages as `single', then as `full'. + f - full window, oldest message first. + r - full window, newest message first. + For backward compatibility, no value needs to be specified + (which defaults to `full'), or it can be negated (which de- + faults to `single'). - NetHack Guidebook 38 + NetHack 3.4 February 12, 2003 - processing as the dungeon option. The order of the symbols - is ant or other insect, blob, cockatrice, dog or other ca- - nine, eye or sphere, feline, gremlin, humanoid, imp or minor - demon, jelly, kobold, leprechaun, mimic, nymph, orc, - piercer, quadruped, rodent, spider, trapper or lurker above, - horse or unicorn, vortex, worm, xan or other mythical/fan- - tastic insect, light, zruty, angelic being, bat or bird, - centaur, dragon, elemental, fungus or mold, gnome, giant hu- - manoid, invisible monster, jabberwock, Keystone Kop, lich, - mummy, naga, ogre, pudding or ooze, quantum mechanic, rust - monster, snake, troll, umber hulk, vampire, wraith, xorn, - yeti or ape or other large beast, zombie, human, ghost, - golem, demon, sea monster, lizard, long worm tail, and mim- - ic. Cannot be set with the `O' command. - msghistory - The number of top line messages to save (and recall with ^P) - (default 20). Cannot be set with the `O' command. - msg_window - Use a screen-size window to show the previous messages with - ^P instead of showing them one at a time. (Currently imple- - mented for tty only.) + + NetHack Guidebook 39 + + name Set your character's name (defaults to your user name). You @@ -2499,19 +2541,6 @@ wand, gold, gem or rock, boulder or statue, iron ball, chain, and venom. Cannot be set with the `O' command. - - - - NetHack 3.4 March 20, 2002 - - - - - - NetHack Guidebook 39 - - - packorder Specify the order to list object types in (default ``")[%?+!=/(*`0_''). The value of this option should be a @@ -2536,6 +2565,19 @@ or overLoaded), you will be asked if you want to continue. (Default `S'). + + + + NetHack 3.4 February 12, 2003 + + + + + + NetHack Guidebook 40 + + + pickup_types Specify the object types to be picked up when autopickup is on. Default is all types. @@ -2545,40 +2587,39 @@ pushweapon Using the `w' (wield) command when already wielding some- - thing pushes the old item into your secondary weapon slot + thing pushes the old item into your alternate weapon slot (default off). race Selects your race (for example, ``race:human''). Default is random. Cannot be set with the `O' command. - rawio - Force raw (non-cbreak) mode for faster output and more bul- - letproof input (MS-DOS sometimes treats `^P' as a printer - toggle without it) (default off). Note: DEC Rainbows hang - if this is turned on. Cannot be set with the `O' command. - rest_on_space Make the space bar a synonym for the `.' (rest) command (de- fault off). role - Pick your type of character (ex. ``role:Samurai''); synonym - for ``character''. See ``name'' for an alternate method of + Pick your type of character (ex. ``role:Samurai''); synonym + for ``character''. See ``name'' for an alternate method of specifying your role. Normally only the first letter of the - value is examined; `r' is an exception with ``Rogue'', - - - NetHack 3.4 March 20, 2002 - - - - - - NetHack Guidebook 40 + value is examined; `r' is an exception with ``Rogue'', + ``Ranger'', and ``random'' values. + runmode + Controls the amount of screen updating for the map window + when engaged in multi-turn movement (running via shift+di- + rection or control+direction and so forth, or via the travel + command or mouse click). The possible values are: + teleport - update the map after movement has finished; + run - update the map after every seven or so steps; + walk - update the map after each step; + crawl - like walk, but pause briefly after each step. - ``Ranger'', and ``random'' values. + This option only affects the game's screen display, not the + actual results of moving. The default is `run'; versions + prior to 3.4.1 used `teleport' only. Whether or not the ef- + fect is noticeable will depend upon the window port used or + on the type of terminal. safe_pet Prevent you from (knowingly) attacking your pets (default @@ -2590,21 +2631,47 @@ scores''). Only the first letter of each category (`t', `a', or `o') is necessary. + + + + NetHack 3.4 February 12, 2003 + + + + + + NetHack Guidebook 41 + + + showexp Show your accumulated experience points on bottom line (de- fault off). + showrace + Display yourself as the glyph for your race, rather than the + glyph for your role (default off). Note that this setting + affects only the appearance of the display, not the way the + game treats you. + showscore - Show your approximate accumulated score on bottom line (de- + Show your approximate accumulated score on bottom line (de- fault off). silent Suppress terminal beeps (default on). sortpack - Sort the pack contents by type when displaying inventory + Sort the pack contents by type when displaying inventory (default on). + sound + Enable messages about what your character hears (default + on). Note that this has nothing to do with your computer's + audio capabilities. This option is only partly under player + control. The game toggles it off and on during and after + sleep, for example. + sparkle Display a sparkly effect when a monster (including yourself) is hit by an attack to which it is resistant (default on). @@ -2613,19 +2680,19 @@ Boldface monsters and ``--More--'' (default off). suppress_alert - This option may be set to a NetHack version level to sup- - press alert notification messages about feature changes for + This option may be set to a NetHack version level to sup- + press alert notification messages about feature changes for that and prior versions (ex. ``suppress_alert:3.3.1''). time - Show the elapsed game time in turns on bottom line (default + Show the elapsed game time in turns on bottom line (default off). timed_delay - When pausing momentarily for display effect, such as with + When pausing momentarily for display effect, such as with explosions and moving objects, use a timer rather than send- ing extra characters to the screen. (Applies to ``tty'' in- - terface only; ``X11'' interface always uses a timer based + terface only; ``X11'' interface always uses a timer based delay. The default is on if configured into the program.) tombstone @@ -2633,116 +2700,106 @@ - - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 - NetHack Guidebook 41 + NetHack Guidebook 42 toptenwin - Put the ending display in a NetHack window instead of on - stdout (default off). Setting this option makes the score - list visible when a windowing version of NetHack is started - without a parent window, but it no longer leaves the score - list around after game end on a terminal or emulating win- + Put the ending display in a NetHack window instead of on + stdout (default off). Setting this option makes the score + list visible when a windowing version of NetHack is started + without a parent window, but it no longer leaves the score + list around after game end on a terminal or emulating win- dow. traps - Set the graphics symbols for displaying traps (default - ``^^^^^^^^^^^^^^^^^"^^^^''). The traps option should be - followed by a string of 1-22 characters to be used instead - of the default traps characters. This string is subjected + Set the graphics symbols for displaying traps (default + ``^^^^^^^^^^^^^^^^^"^^^^''). The traps option should be + followed by a string of 1-22 characters to be used instead + of the default traps characters. This string is subjected to the same processing as the dungeon option. - The order of the symbols is: arrow trap, dart trap, falling - rock trap, squeaky board, bear trap, land mine, rolling - boulder trap, sleeping gas trap, rust trap, fire trap, pit, + The order of the symbols is: arrow trap, dart trap, falling + rock trap, squeaky board, bear trap, land mine, rolling + boulder trap, sleeping gas trap, rust trap, fire trap, pit, spiked pit, hole, trap door, teleportation trap, level tele- - porter, magic portal, web, statue trap, magic trap, anti- + porter, magic portal, web, statue trap, magic trap, anti- magic field, polymorph trap. Cannot be set with the `O' command. + travel + Allow the travel command (default on). Turning this option + off will prevent the game from attempting unintended moves + if you make inadvertent mouse clicks on the map window. + verbose Provide more commentary during the game (default on). - videocolors - Set the color palette for PC systems using NO_TERMS (default - 4-2-6-1-5-3-15-12-10-14-9-13-11). The order of colors is - red, green, brown, blue, magenta, cyan, bright.white, - bright.red, bright.green, yellow, bright.blue, bright.magen- - ta, and bright.cyan. Cannot be set with the `O' command. - - videoshades - Set the intensity level of the three gray scales available - (default dark normal light, PC NetHack only). If the game - display is difficult to read, try adjusting these scales; if - this does not correct the problem, try !color. Cannot be - set with the `O' command. - windowtype - Select which windowing system to use, such as ``tty'' or - ``X11'' (default depends on version). Cannot be set with + Select which windowing system to use, such as ``tty'' or + ``X11'' (default depends on version). Cannot be set with the `O' command. 9.5. Window Port Customization options - Here are explanations of the various options that are used - to customize and change the characteristics of the windowtype + Here are explanations of the various options that are used + to customize and change the characteristics of the windowtype that you have chosen. Character strings that are too long may be - truncated. Not all window ports will adjust for all settings - listed here. You can safely add any of these options to your - config file, and if the window port is capable of adjusting to + truncated. Not all window ports will adjust for all settings + listed here. You can safely add any of these options to your + config file, and if the window port is capable of adjusting to + suit your preferences, it will attempt to do so. If it can't it + will silently ignore it. You can find out if an option is sup- + ported by the window port that you are currently using by check- + ing to see if it shows up in the Options list. Some options are + dynamic and can be specified during the game with the `O' com- + mand. + align_message + Where to align or place the message window (top, bottom, - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 - NetHack Guidebook 42 + NetHack Guidebook 43 - suit your preferences, it will attempt to do so. If it can't it - will silently ignore it. You can find out if an option is sup- - ported by the window port that you are currently using by check- - ing to see if it shows up in the Options list. Some options are - dynamic and can be specified during the game with the `O' com- - mand. - align_message - Where to align or place the message window (top, bottom, left, or right) align_status - Where to align or place the status window (top, bottom, + Where to align or place the status window (top, bottom, left, or right). ascii_map NetHack should display an ascii character map if it can. color - NetHack should display color if it can for different mon- + NetHack should display color if it can for different mon- sters, objects, and dungeon features eight_bit_tty NetHack should pass eight-bit character values (for example, - specified with the traps option) straight through to your + specified with the traps option) straight through to your terminal (default off). font_map - NetHack should use a font by the chosen name for the map + NetHack should use a font by the chosen name for the map window. font_menu - NetHack should use a font by the chosen name for menu win- + NetHack should use a font by the chosen name for menu win- dows. font_message @@ -2750,11 +2807,11 @@ window. font_status - NetHack should use a font by the chosen name for the status + NetHack should use a font by the chosen name for the status window. font_text - NetHack should use a font by the chosen name for text win- + NetHack should use a font by the chosen name for text win- dows. font_size_map @@ -2763,33 +2820,33 @@ font_size_menu NetHack should use this size font for menu windows. + font_size_message + NetHack should use this size font for the message window. + font_size_status + NetHack should use this size font for the status window. + font_size_text + NetHack should use this size font for text windows. - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 - NetHack Guidebook 43 - font_size_message - NetHack should use this size font for the message window. + NetHack Guidebook 44 - font_size_status - NetHack should use this size font for the status window. - font_size_text - NetHack should use this size font for text windows. hilite_pet - Visually distinguish pets from similar animals (default - off). The behavior of this option depends on the type of - windowing you use. In text windowing, text highlighting or - inverse video is often used; with tiles, generally displays + Visually distinguish pets from similar animals (default + off). The behavior of this option depends on the type of + windowing you use. In text windowing, text highlighting or + inverse video is often used; with tiles, generally displays a heart symbol near pets. large_font @@ -2798,6 +2855,9 @@ map_mode NetHack should display the map in the manner specified. + mouse_support + Allow use of the mouse for input and travel. + player_selection NetHack should pop up dialog boxes, or use prompts for char- acter selection. @@ -2806,12 +2866,16 @@ NetHack should pop up dialog boxes for input. preload_tiles - NetHack should preload tiles into memory. For example, in - the protected mode MSDOS version, control whether tiles get - pre-loaded into RAM at the start of the game. Doing so en- + NetHack should preload tiles into memory. For example, in + the protected mode MSDOS version, control whether tiles get + pre-loaded into RAM at the start of the game. Doing so en- hances performance of the tile graphics, but uses more memo- ry. (default on). Cannot be set with the `O' command. + scroll_amount + NetHack should scroll the display by this number of cells + when the hero reaches the scroll_margin. + scroll_margin NetHack should scroll the display when the hero or cursor is this number of cells away from the edge of the window. @@ -2832,13 +2896,15 @@ port. - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 + - NetHack Guidebook 44 + + NetHack Guidebook 45 @@ -2857,7 +2923,133 @@ NetHack should display windows with the specified fore- ground/background colors if it can. - 9.6. Configuring NetHack for Play by the Blind + 9.6. Platform-specific Customization options + + Here are explanations of options that are used by specific + platforms or ports to customize and change the port behaviour. + + altmeta + (default on, AMIGA NetHack only). + + BIOS + Use BIOS calls to update the screen display quickly and to + read the keyboard (allowing the use of arrow keys to move) + on machines with an IBM PC compatible BIOS ROM (default off, + OS/2, PC, and ST NetHack only). + + flush + (default off, AMIGA NetHack only). + + MACgraphics + (default on, Mac NetHack only). + + page_wait + (default on, Mac NetHack only). + + rawio + Force raw (non-cbreak) mode for faster output and more bul- + letproof input (MS-DOS sometimes treats `^P' as a printer + toggle without it) (default off, OS/2, PC, and ST NetHack + only). Note: DEC Rainbows hang if this is turned on. Can- + not be set with the `O' command. + + soundcard + (default on, PC NetHack only). Cannot be set with the `O' + command. + + video + Set the video mode used (PC NetHack only). Values are `au- + todetect', `default', or `vga'. Setting `vga' (or `autode- + tect' with vga hardware present) will cause the game to dis- + play tiles. Cannot be set with the `O' command. + + + NetHack 3.4 February 12, 2003 + + + + + + NetHack Guidebook 46 + + + + videocolors + Set the color palette for PC systems using NO_TERMS (default + 4-2-6-1-5-3-15-12-10-14-9-13-11, (PC NetHack only). The or- + der of colors is red, green, brown, blue, magenta, cyan, + bright.white, bright.red, bright.green, yellow, bright.blue, + bright.magenta, and bright.cyan. Cannot be set with the `O' + command. + + videoshades + Set the intensity level of the three gray scales available + (default dark normal light, PC NetHack only). If the game + display is difficult to read, try adjusting these scales; if + this does not correct the problem, try !color. Cannot be + set with the `O' command. + + 9.7. Configuring User Sounds + + Some platforms allow you to define sound files to be played + when a message that matches a user-defined pattern is delivered + to the message window. At this time the Qt port and the win32tty + and win32gui ports support the use of user sounds. + + The following config file entries are relevant to mapping + user sounds to messages: + + SOUNDDIR + The directory that houses the sound files to be played. + + SOUND + An entry that maps a sound file to a user-specified message + pattern. Each SOUND entry is broken down into the following + parts: + + MESG - message window mapping (the only one supported in 3.4). + pattern - the pattern to match. + sound file - the sound file to play. + volume - the volume to be set while playing the sound file. + + The exact format for the pattern depends on whether the + platform is built to use ``regular expressions'' or NetHack's own + internal pattern matching facility. The ``regular expressions'' + matching can be much more sophisticated than the internal NetHack + pattern matching, but requires 3rd party libraries on some plat- + forms. There are plenty of references available elsewhere for + explaining ``regular expressions''. You can verify which pattern + matching is used by your port with the #version command. + + NetHack's internal pattern matching routine uses the follow- + ing special characters in its pattern matching: + + *--- matches 0 or more characters. + ?--- matches any single character. + + + + + NetHack 3.4 February 12, 2003 + + + + + + NetHack Guidebook 47 + + + + Here's an example of a sound mapping using NetHack's inter- + nal pattern matching facility: + + SOUND=MESG "*chime of a cash register*" "gong.wav" 50 + + specifies that any message with "chime of a cash register" con- + tained in it will trigger the playing of "gong.wav". You can + have multiple SOUND entries in your config file. + + 9.8. Configuring NetHack for Play by the Blind NetHack can be set up to use only standard ASCII characters for making maps of the dungeons. This makes the MS-DOS versions @@ -2896,24 +3088,24 @@ number_pad A lot of speech access programs use the number-pad to review + the screen. If this is the case, disable the number_pad op- + tion and use the traditional Rogue-like commands. + Character graphics + Comment out all character graphics sets found near the bot- + tom of the defaults.nh file. Most of these replace - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 - NetHack Guidebook 45 + NetHack Guidebook 48 - the screen. If this is the case, disable the number_pad op- - tion and use the traditional Rogue-like commands. - Character graphics - Comment out all character graphics sets found near the bot- - tom of the defaults.nh file. Most of these replace NetHack's default representation of the dungeon using stan- dard ASCII characters with fancier characters from extended character sets, and these fancier characters can annoy @@ -2959,28 +3151,26 @@ explore mode are left for the trepid reader to discover. + 12. Credits + The original hack game was modeled on the Berkeley UNIX + rogue game. Large portions of this paper were shamelessly + cribbed from A Guide to the Dungeons of Doom, by Michael C. Toy + and Kenneth C. R. C. Arnold. Small portions were adapted from + Further Exploration of the Dungeons of Doom, by Ken Arromdee. - NetHack 3.4 March 20, 2002 - - + NetHack 3.4 February 12, 2003 - NetHack Guidebook 46 + NetHack Guidebook 49 - 12. Credits - The original hack game was modeled on the Berkeley UNIX - rogue game. Large portions of this paper were shamelessly - cribbed from A Guide to the Dungeons of Doom, by Michael C. Toy - and Kenneth C. R. C. Arnold. Small portions were adapted from - Further Exploration of the Dungeons of Doom, by Ken Arromdee. NetHack is the product of literally dozens of people's work. Main events in the course of the game development are described @@ -3028,26 +3218,26 @@ and Janet Walz, the development team which now included Ken Ar- romdee, David Cohrs, Jean-Christophe Collet, Kevin Darcy, Matt Day, Timo Hakulinen, Steve Linhart, Dean Luick, Pat Rankin, Eric + Raymond, and Eric Smith undertook a radical revision of 3.0. + They re-structured the game's design, and re-wrote major parts of + the code. They added multiple dungeons, a new display, special + individual character quests, a new endgame and many other new + features, and produced NetHack 3.1. + Ken Lorber, Gregg Wonderly and Greg Olson, with help from + Richard Addison, Mike Passaretti, and Olaf Seibert, developed - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 - NetHack Guidebook 47 + NetHack Guidebook 50 - Raymond, and Eric Smith undertook a radical revision of 3.0. - They re-structured the game's design, and re-wrote major parts of - the code. They added multiple dungeons, a new display, special - individual character quests, a new endgame and many other new - features, and produced NetHack 3.1. - Ken Lorber, Gregg Wonderly and Greg Olson, with help from - Richard Addison, Mike Passaretti, and Olaf Seibert, developed NetHack 3.1 for the Amiga. Norm Meluch and Kevin Smolkowski, with help from Carl Sche- @@ -3094,25 +3284,25 @@ wrote NetHack Plus. Tom Proudfoot later merged NetHack Plus and his own NetHack-- to produce SLASH. Larry Stewart-Zerba and War- wick Allison improved the spell casting system with the Wizard + Patch. Warwick Allison also ported NetHack to use the Qt inter- + face. + Warren Cheung combined SLASH with the Wizard Patch to pro- + duce Slash'em, and with the help of Kevin Hugo, added more fea- + tures. Kevin later joined the DevTeam and incorporated the best + of these ideas in NetHack 3.3. - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 - NetHack Guidebook 48 + NetHack Guidebook 51 - Patch. Warwick Allison also ported NetHack to use the Qt inter- - face. - Warren Cheung combined SLASH with the Wizard Patch to pro- - duce Slash'em, and with the help of Kevin Hugo, added more fea- - tures. Kevin later joined the DevTeam and incorporated the best - of these ideas in NetHack 3.3. The final update to 3.2 was the bug fix release 3.2.3, which was released simultaneously with 3.3.0 in December 1999 just in @@ -3159,142 +3349,84 @@ Michael Allison, David Cohrs, Alex Kompel, Dion Nicolaas, and Yitzhak Sapir maintained and enhanced 3.4 for the Microsoft Windows platform. Alex Kompel contributed a new graphical inter- - face for the Windows port. + face for the Windows port. Alex Kompel also contributed a Win- + dows CE port for 3.4.1. + Ron Van Iwaarden maintained 3.4 for OS/2. - NetHack 3.4 March 20, 2002 + Janne Salmijarvi and Teemu Suikki maintained and enhanced + the Amiga port of 3.4 after Janne Salmijarvi resurrected it for + 3.3.1. + NetHack 3.4 February 12, 2003 - NetHack Guidebook 49 - Ron Van Iwaarden maintained 3.4 for OS/2. + NetHack Guidebook 52 - Janne Salmijarvi and Teemu Suikki maintained and enhanced - the Amiga port of 3.4 after Janne Salmijarvi resurrected it for - 3.3.1. - Christian ``Marvin'' Bressler maintained 3.4 for the Atari + + Christian ``Marvin'' Bressler maintained 3.4 for the Atari after he resurrected it for 3.3.1. - There is a NetHack web site maintained by Ken Lorber at + There is a NetHack web site maintained by Ken Lorber at http://www.nethack.org/. - - - - - - - - - - - From time to time, some depraved individual out there in - netland sends a particularly intriguing modification to help out - with the game. The Gods of the Dungeon sometimes make note of - the names of the worst of these miscreants in this, the list of + From time to time, some depraved individual out there in + netland sends a particularly intriguing modification to help out + with the game. The Gods of the Dungeon sometimes make note of + the names of the worst of these miscreants in this, the list of Dungeoneers: + Adam Aronow Irina Rempt-Drijfhout Mike Gallop + Alex Kompel Izchak Miller Mike Passaretti + Andreas Dorn J. Ali Harlow Mike Stephenson + Andy Church Janet Walz Norm Meluch + Andy Swanson Janne Salmijarvi Olaf Seibert + Ari Huttunen Jean-Christophe Collet Pasi Kallinen + Barton House Jochen Erwied Pat Rankin + Benson I. Margulies John Kallen Paul Winner + Bill Dyer John Rupley Pierre Martineau + Boudewijn Waijers John S. Bien Ralf Brown + Bruce Cox Johnny Lee Richard Addison + Bruce Holloway Jon W{tte Richard Beigel + Bruce Mewborne Jonathan Handler Richard P. Hughey + Carl Schelin Joshua Delahunty Rob Menke + Chris Russo Keizo Yamamoto Robin Johnson + David Cohrs Ken Arnold Roderick Schertler + David Damerell Ken Arromdee Roland McGrath + David Gentzel Ken Lorber Ron Van Iwaarden + David Hairston Ken Washikita Ronnen Miller + Dean Luick Kevin Darcy Ross Brown + Del Lamb Kevin Hugo Sascha Wostmann + Deron Meranda Kevin Sitze Scott Bigham + Dion Nicolaas Kevin Smolkowski Scott R. Turner + Dylan O'Donnell Kevin Sweet Stephen Spackman + Eric Backus Lars Huttar Stephen White + Eric Hendrickson Malcolm Ryan Steve Creps + Eric R. Smith Mark Gooderum Steve Linhart + Eric S. Raymond Mark Modrall Steve VanDevender + Erik Andersen Marvin Bressler Teemu Suikki + Frederick Roeber Matthew Day Tim Lennan + Gil Neiger Merlyn LeRoy Timo Hakulinen + Greg Laskin Michael Allison Tom Almy + Greg Olson Michael Feir Tom West + Gregg Wonderly Michael Hamel Warren Cheung + Hao-yang Wang Michael Sokolov Warwick Allison + Helge Hafting Mike Engber Yitzhak Sapir - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NetHack 3.4 March 20, 2002 - - - - - - NetHack Guidebook 50 - - - - Adam Aronow Helge Hafting Mike Engber - Alex Kompel Irina Rempt-Drijfhout Mike Gallop - Andreas Dorn Izchak Miller Mike Passaretti - Andy Church J. Ali Harlow Mike Stephenson - Andy Swanson Janet Walz Norm Meluch - Ari Huttunen Janne Salmijarvi Olaf Seibert - Barton House Jean-Christophe Collet Pat Rankin - Benson I. Margulies Jochen Erwied Paul Winner - Bill Dyer John Kallen Pierre Martineau - Boudewijn Waijers John Rupley Ralf Brown - Bruce Cox John S. Bien Richard Addison - Bruce Holloway Johnny Lee Richard Beigel - Bruce Mewborne Jon W{tte Richard P. Hughey - Carl Schelin Jonathan Handler Rob Menke - Chris Russo Joshua Delahunty Robin Johnson - David Cohrs Keizo Yamamoto Roland McGrath - David Damerell Ken Arnold Ron Van Iwaarden - David Gentzel Ken Arromdee Ronnen Miller - David Hairston Ken Lorber Ross Brown - Dean Luick Ken Washikita Sascha Wostmann - Del Lamb Kevin Darcy Scott Bigham - Deron Meranda Kevin Hugo Scott R. Turner - Dion Nicolaas Kevin Sitze Stephen Spackman - Dylan O'Donnell Kevin Smolkowski Stephen White - Eric Backus Kevin Sweet Steve Creps - Eric Hendrickson Lars Huttar Steve Linhart - Eric R. Smith Mark Gooderum Steve VanDevender - Eric S. Raymond Mark Modrall Teemu Suikki - Erik Andersen Marvin Bressler Tim Lennan - Frederick Roeber Matthew Day Timo Hakulinen - Gil Neiger Merlyn LeRoy Tom Almy - Greg Laskin Michael Allison Tom West - Greg Olson Michael Feir Warren Cheung - Gregg Wonderly Michael Hamel Warwick Allison - Hao-yang Wang Michael Sokolov Yitzhak Sapir - - Brand and product names are trademarks or registered trademarks + Brand and product names are trademarks or registered trademarks of their respective holders. - - - - - - - - - - - - - - - - - NetHack 3.4 March 20, 2002 + NetHack 3.4 February 12, 2003 diff -Naurd ../nethack-3.4.0/doc/nethack.6 ./doc/nethack.6 --- ../nethack-3.4.0/doc/nethack.6 Wed Mar 20 23:42:40 2002 +++ ./doc/nethack.6 Mon Feb 24 15:25:05 2003 @@ -1,4 +1,4 @@ -.TH NETHACK 6 "12 March 2002" +.TH NETHACK 6 "9 August 2002" .UC 4 .SH NAME nethack \- Exploring The Mazes of Menace @@ -302,4 +302,4 @@ .PP -Dungeons & Dragons is a Trademark of TSR Inc. +Dungeons & Dragons is a Trademark of Wizards of the Coast, Inc. diff -Naurd ../nethack-3.4.0/doc/nethack.txt ./doc/nethack.txt --- ../nethack-3.4.0/doc/nethack.txt Wed Mar 20 23:42:40 2002 +++ ./doc/nethack.txt Mon Feb 24 15:25:05 2003 @@ -200,8 +200,9 @@ - Dungeons & Dragons is a Trademark of TSR Inc. + Dungeons & Dragons is a Trademark of Wizards of the Coast, + Inc. - 12 March 2002 NETHACK(6) + 9 August 2002 NETHACK(6) diff -Naurd ../nethack-3.4.0/doc/window.doc ./doc/window.doc --- ../nethack-3.4.0/doc/window.doc Wed Mar 20 23:42:41 2002 +++ ./doc/window.doc Mon Feb 24 15:25:05 2003 @@ -118,7 +118,8 @@ int nhgetch() -- Returns a single character input from the user. -- In the tty window-port, nhgetch() assumes that tgetch() will be the routine the OS provides to read a character. - Returned character _must_ be non-zero. + Returned character _must_ be non-zero and it must be + non meta-zero too (zero with the meta-bit set). int nh_poskey(int *x, int *y, int *mod) -- Returns a single character input from the user or a a positioning event (perhaps from a mouse). If the @@ -157,6 +158,10 @@ Place this value in the global "yn_number" and return '#'. -- This uses the top line in the tty window-port, other ports might use a popup. + -- If choices is NULL, all possible inputs are accepted and + returned, preserving case (upper or lower.) This means that + if the calling function needs an exact match, it must handle + user input correctness itself. getlin(const char *ques, char *input) -- Prints ques as a prompt and reads a single line of text, up to a newline. The string entered is returned without the @@ -478,11 +483,11 @@ | font_size_status | WC_FONTSIZ_STATUS | wc_fontsiz_status |int | | font_size_text | WC_FONTSIZ_TEXT | wc_fontsiz_text |int | | hilite_pet | WC_HILITE_PET | wc_hilite_pet |boolean | - | large_font | WC_LARGE_FONT | wc_large_font |boolean | | map_mode | WC_MAP_MODE | wc_map_mode |int | | player_selection | WC_PLAYER_SELECTION| wc_player_selection|int | | popup_dialog | WC_POPUP_DIALOG | wc_popup_dialog |boolean | | preload_tiles | WC_PRELOAD_TILES | wc_preload_tiles |boolean | + | scroll_amount | WC_SCROLL_AMOUNT | wc_scroll_amount |int | | scroll_margin | WC_SCROLL_MARGIN | wc_scroll_margin |int | | splash_screen | WC_SPLASH_SCREEN | wc_splash_screen |boolean | | tiled_map | WC_TILED_MAP | wc_tiled_map |boolean | @@ -499,6 +504,7 @@ | | | wc_backgrnd_status |char * | | | | wc_foregrnd_text |char * | | | | wc_backgrnd_text |char * | + | mouse | WC_MOUSE_SUPPORT | wc_mouse_support |boolean | +--------------------+--------------------+--------------------+--------+ align_message -- where to place message window (top, bottom, left, right) @@ -518,12 +524,12 @@ font_status -- port should use a font by this name for status window. font_text -- port should use a font by this name for text windows. hilite_pet -- port should mark pets in some special way on the map. -large_font -- port should use a large font. map_mode -- port should display the map in the manner specified. player_selection -- dialog or prompts for choosing character. popup_dialog -- port should pop up dialog boxes for input. preload_tiles -- port should preload tiles into memory. +scroll_amount -- scroll this amount when scroll_margin is reached. scroll_margin -- port should scroll the display when the hero or cursor is this number of cells away from the edge of the window. splash_screen -- port should/should not display an opening splashscreen. @@ -541,6 +547,7 @@ -- port should use these colors for window foreground/background colors. Syntax: menu fore/back message fore/back status fore/back text fore/back +mouse_support -- port should enable mouse support if possible Whenever one of these settings is adjusted, the port is notified of a change to the setting by calling the port's preference_update() routine. The port @@ -578,10 +585,11 @@ 2. Add the description to the paragraph below the chart. 3. Add the WC_ to the bit list in include/winprocs.h (if there is room). 4. Add the wc_ field(s) to the iflags structure in flag.h. - 5. Add an appropriate parser to parseoptions() in options.c. - 6. Add code to display current value to get_compopt_value() in options.c. - 7. Document the option in Guidebook.mn and Guidebook.tex. - 8. Add the bit name to the OR'd values in your window port's winprocs struct + 5. Add the name and value to wc_options[] in options.c + 6. Add an appropriate parser to parseoptions() in options.c. + 7. Add code to display current value to get_compopt_value() in options.c. + 8. Document the option in Guidebook.mn and Guidebook.tex. + 9. Add the bit name to the OR'd values in your window port's winprocs struct wincap mask if your port supports the option. V. New or respecified common, high level routines diff -Naurd ../nethack-3.4.0/Files ./Files --- ../nethack-3.4.0/Files Thu Mar 21 04:41:11 2002 +++ ./Files Mon Feb 24 15:25:05 2003 @@ -24,9 +24,9 @@ Guidebook.mn Guidebook.tex Guidebook.txt dgn_comp.6 dgn_comp.txt dlb.6 dlb.txt fixes22.0 fixes31.1 fixes31.2 fixes31.3 fixes32.0 fixes32.1 fixes32.2 fixes32.3 -fixes33.0 fixes33.1 fixes34.0 lev_comp.6 lev_comp.txt -nethack.6 nethack.txt recover.6 recover.txt tmac.n -window.doc +fixes33.0 fixes33.1 fixes34.0 fixes34.1 lev_comp.6 +lev_comp.txt nethack.6 nethack.txt recover.6 recover.txt +tmac.n window.doc include: (files for all versions) @@ -43,8 +43,8 @@ rect.h region.h rm.h skills.h sp_lev.h spell.h system.h tcap.h timeout.h tosconf.h tradstdc.h trampoli.h trap.h unixconf.h vault.h -vision.h vmsconf.h winami.h winprocs.h wintype.h -you.h youprop.h +vision.h vmsconf.h wceconf.h winami.h winprocs.h +wintype.h you.h youprop.h (file for tty versions) wintty.h (files for X versions) @@ -85,7 +85,7 @@ sys/amiga: (files for Amiga versions) -Build.ami Install.ami Makefile.ami Makefile.agc NetHack.cnf +Build.ami Install.ami Makefile.agc Makefile.ami NetHack.cnf amidos.c amidos.p amifont.uu amifont8.uu amigst.c amii.hlp amimenu.c amirip.c amisnd.c amistack.c amitty.c amiwind.c amiwind.p clipwin.c colorwin.c @@ -113,11 +113,11 @@ sys/msdos: (files for MSDOS version) -Install.dos Makefile.BC Makefile.GCC Makefile.MSC Makefile.SC -NHAccess.nh moveinit.pat msdos.c msdoshlp.txt ovlinit.c -pckeys.c pctiles.c pctiles.h pcvideo.h portio.h -schema1.BC schema2.BC schema3.MSC setup.bat sound.c -tile2bin.c video.c vidtxt.c vidvga.c +Install.dos Makefile.BC Makefile.GCC Makefile.MSC NHAccess.nh +moveinit.pat msdos.c msdoshlp.txt ovlinit.c pckeys.c +pctiles.c pctiles.h pcvideo.h portio.h schema1.BC +schema2.BC schema3.MSC setup.bat sound.c tile2bin.c +video.c vidtxt.c vidvga.c (files for running MSDOS binary under Windows) nhico.uu nhpif.uu @@ -160,7 +160,7 @@ (files for UNIX versions) Install.unx Makefile.dat Makefile.doc Makefile.src Makefile.top Makefile.utl README.linux depend.awk nethack.sh setup.sh -unixmain.c unixunix.c unixres.c +unixmain.c unixres.c unixunix.c (files for replacement cpp, apparently only needed by some UNIX systems) cpp1.shr cpp2.shr cpp3.shr (file for sound driver for 386 UNIX) @@ -173,10 +173,24 @@ spec_lev.com vmsbuild.com vmsfiles.c vmsmail.c vmsmain.c vmsmisc.c vmstty.c vmsunix.c +sys/wince: +(files for Windows CE and PocketPC) +Install.ce assert.h bootstrp.mak celib.c cesetup.bat +cesound.c defaults.nh errno.h fcntl.h hpc.vcp +keypad.uu mhaskyn.c mhaskyn.h mhcmd.c mhcmd.h +mhcolor.c mhcolor.h mhdlg.c mhdlg.h mhfont.c +mhfont.h mhinput.c mhinput.h mhmain.c mhmain.h +mhmap.c mhmap.h mhmenu.c mhmenu.h mhmsg.h +mhmsgwnd.c mhmsgwnd.h mhrip.c mhrip.h mhstatus.c +mhstatus.h mhtext.c mhtext.h mswproc.c newres.h +palmpc.vcp pocketpc.vcp resource.h smartphn.vcp stat.h +winMS.h wince.vcw winhack.c winhack.rc winhcksp.rc +winmain.c + sys/winnt: (files for Windows 9x, NT and Windows2000 version) -console.rc defaults.nh Install.nt Makefile.bcc Makefile.gcc -Makefile.msc mapimail.c nethack.def nhico.uu nhsetup.bat +Install.nt Makefile.bcc Makefile.gcc Makefile.msc console.rc +defaults.nh mapimail.c nethack.def nhico.uu nhsetup.bat ntsound.c nttty.c porthelp win32api.h winnt.c util: @@ -187,9 +201,10 @@ dgn_comp.l dgn_comp.y lev_comp.l lev_comp.y win/Qt: -(files for the Qt X11 widget library) -Install.Qt knethack.lnk knh-mini.xpm knh.xpm nhsplash.xpm -qt_clust.cpp qt_win.cpp qttableview.cpp tileedit.cpp tileedit.h +(files for the Qt widget library - X11, Windows, Mac OS X, or Qtopia) +Info.pli Install.Qt knethack.lnk knh-mini.xpm knh.xpm +nhicns.uu nhsplash.xpm qt_clust.cpp qt_win.cpp qttableview.cpp +tileedit.cpp tileedit.h qpe-nethack.control win/X11: (files for X versions) @@ -207,12 +222,13 @@ win/gnome: (files for GNOME versions) -README gnaskstr.c gnaskstr.h gnbind.c gnbind.h -gnglyph.c gnglyph.h gnmain.c gnmain.h gnmap.c -gnmap.h gnmenu.c gnmenu.h gnmesg.c gnmesg.h -gnomeprv.h gnopts.c gnopts.h gnplayer.c gnplayer.h -gnsignal.c gnsignal.h gnstatus.c gnstatus.h gntext.c -gntext.h gnyesno.c gnyesno.h gn_xpms.h mapbg.xpm +README gn_xpms.h gnaskstr.c gnaskstr.h gnbind.c +gnbind.h gnglyph.c gnglyph.h gnmain.c gnmain.h +gnmap.c gnmap.h gnmenu.c gnmenu.h gnmesg.c +gnmesg.h gnomeprv.h gnopts.c gnopts.h gnplayer.c +gnplayer.h gnsignal.c gnsignal.h gnstatus.c gnstatus.h +gntext.c gntext.h gnworn.c gnworn.h gnyesno.c +gnyesno.h mapbg.xpm win/share: (files for versions using optional tiles) @@ -235,8 +251,8 @@ mhstatus.h mhtext.c mhtext.h mnsel.uu mnselcnt.uu mnunsel.uu mswproc.c nethack.dsw nethackw.dsp petmark.uu recover.dsp resource.h rip.uu splash.uu tile2bmp.dsp -tilemap.dsp tiles.dsp tiles.mak uudecode.dsp winhack.c -winhack.h winhack.rc winMS.h +tilemap.dsp tiles.dsp tiles.mak uudecode.dsp winMS.h +winhack.c winhack.rc @@ -274,6 +290,8 @@ wizard2.lev wizard3.lev (tile files optionally generated for X ports at playground creation time) pet_mark.xbm rip.xpm x11tiles +(files generated for Qt interface on Mac OS X) +nethack.icns Info.plist include: (files generated by makedefs at compile time) diff -Naurd ../nethack-3.4.0/dat/history ./dat/history --- ../nethack-3.4.0/dat/history Wed Mar 20 23:42:30 2002 +++ ./dat/history Mon Feb 24 15:25:05 2003 @@ -139,7 +139,8 @@ Michael Allison, David Cohrs, Alex Kompel, Dion Nicolaas, and Yitzhak Sapir maintained and enhanced 3.4 for the Microsoft Windows platform. Alex Kompel -contributed a new graphical interface for the Windows port. +contributed a new graphical interface for the Windows port. Alex Kompel also +contributed a Windows CE port for 3.4.1. Ron Van Iwaarden maintained 3.4 for OS/2. @@ -158,39 +159,40 @@ the Dungeon sometimes make note of the names of the worst of these miscreants in this, the list of Dungeoneers: - Adam Aronow Helge Hafting Mike Engber - Alex Kompel Irina Rempt-Drijfhout Mike Gallop - Andreas Dorn Izchak Miller Mike Passaretti - Andy Church J. Ali Harlow Mike Stephenson - Andy Swanson Janet Walz Norm Meluch - Ari Huttunen Janne Salmijarvi Olaf Seibert - Barton House Jean-Christophe Collet Pat Rankin - Benson I. Margulies Jochen Erwied Paul Winner - Bill Dyer John Kallen Pierre Martineau - Boudewijn Waijers John Rupley Ralf Brown - Bruce Cox John S. Bien Richard Addison - Bruce Holloway Johnny Lee Richard Beigel - Bruce Mewborne Jon W{tte Richard P. Hughey - Carl Schelin Jonathan Handler Rob Menke - Chris Russo Joshua Delahunty Robin Johnson - David Cohrs Keizo Yamamoto Roland McGrath - David Damerell Ken Arnold Ron Van Iwaarden - David Gentzel Ken Arromdee Ronnen Miller - David Hairston Ken Lorber Ross Brown - Dean Luick Ken Washikita Sascha Wostmann - Del Lamb Kevin Darcy Scott Bigham - Deron Meranda Kevin Hugo Scott R. Turner - Dion Nicolaas Kevin Sitze Stephen Spackman - Dylan O'Donnell Kevin Smolkowski Stephen White - Eric Backus Kevin Sweet Steve Creps - Eric Hendrickson Lars Huttar Steve Linhart - Eric R. Smith Mark Gooderum Steve VanDevender - Eric S. Raymond Mark Modrall Teemu Suikki - Erik Andersen Marvin Bressler Tim Lennan - Frederick Roeber Matthew Day Timo Hakulinen - Gil Neiger Merlyn LeRoy Tom Almy - Greg Laskin Michael Allison Tom West - Greg Olson Michael Feir Warren Cheung - Gregg Wonderly Michael Hamel Warwick Allison - Hao-yang Wang Michael Sokolov Yitzhak Sapir + Adam Aronow Irina Rempt-Drijfhout Mike Gallop + Alex Kompel Izchak Miller Mike Passaretti + Andreas Dorn J. Ali Harlow Mike Stephenson + Andy Church Janet Walz Norm Meluch + Andy Swanson Janne Salmijarvi Olaf Seibert + Ari Huttunen Jean-Christophe Collet Pasi Kallinen + Barton House Jochen Erwied Pat Rankin + Benson I. Margulies John Kallen Paul Winner + Bill Dyer John Rupley Pierre Martineau + Boudewijn Waijers John S. Bien Ralf Brown + Bruce Cox Johnny Lee Richard Addison + Bruce Holloway Jon W{tte Richard Beigel + Bruce Mewborne Jonathan Handler Richard P. Hughey + Carl Schelin Joshua Delahunty Rob Menke + Chris Russo Keizo Yamamoto Robin Johnson + David Cohrs Ken Arnold Roderick Schertler + David Damerell Ken Arromdee Roland McGrath + David Gentzel Ken Lorber Ron Van Iwaarden + David Hairston Ken Washikita Ronnen Miller + Dean Luick Kevin Darcy Ross Brown + Del Lamb Kevin Hugo Sascha Wostmann + Deron Meranda Kevin Sitze Scott Bigham + Dion Nicolaas Kevin Smolkowski Scott R. Turner + Dylan O'Donnell Kevin Sweet Stephen Spackman + Eric Backus Lars Huttar Stephen White + Eric Hendrickson Malcolm Ryan Steve Creps + Eric R. Smith Mark Gooderum Steve Linhart + Eric S. Raymond Mark Modrall Steve VanDevender + Erik Andersen Marvin Bressler Teemu Suikki + Frederick Roeber Matthew Day Tim Lennan + Gil Neiger Merlyn LeRoy Timo Hakulinen + Greg Laskin Michael Allison Tom Almy + Greg Olson Michael Feir Tom West + Gregg Wonderly Michael Hamel Warren Cheung + Hao-yang Wang Michael Sokolov Warwick Allison + Helge Hafting Mike Engber Yitzhak Sapir diff -Naurd ../nethack-3.4.0/dat/opthelp ./dat/opthelp --- ../nethack-3.4.0/dat/opthelp Wed Mar 20 23:42:31 2002 +++ ./dat/opthelp Mon Feb 24 15:25:05 2003 @@ -7,6 +7,7 @@ autoquiver when firing with an empty quiver, select some suitable inventory weapon to fill the quiver [FALSE] BIOS allow the use of IBM ROM BIOS calls [FALSE] +cmdassist give help for errors on direction & other commands [TRUE] confirm ask before hitting tame or peaceful monsters [TRUE] DECgraphics use DEC/VT line-drawing characters for the dungeon [FALSE] eight_bit_tty send 8-bit characters straight to terminal [FALSE] @@ -17,6 +18,7 @@ ignintr ignore interrupt signal, including breaks [FALSE] legacy print introductory message [TRUE] lit_corridor show a dark corridor as lit if in sight [FALSE] +lootabc use a/b/c rather than o/i/b when looting [FALSE] mail enable the mail daemon [TRUE] null allow nulls to be sent to your terminal [TRUE] try turning this option off (forcing NetHack to use its own @@ -29,6 +31,7 @@ rawio allow the use of raw I/O [FALSE] rest_on_space count the space bar as a rest character [FALSE] safe_pet prevent you from (knowingly) attacking your pet(s) [TRUE] +showrace show yourself by your race rather than by role [FALSE] silent don't use your terminal's bell sound [TRUE] sortpack group similar kinds of objects in inventory [TRUE] sound enable messages about what your character hears [TRUE] @@ -40,6 +43,8 @@ time display elapsed game time, in moves [FALSE] tombstone print tombstone when you die [TRUE] toptenwin print topten in a window rather than stdout [FALSE] +travel enable the command to travel to a map location via [TRUE] + a shortest-path algorithm, usually invoked by '_'. verbose print more commentary during the game [TRUE] @@ -72,9 +77,6 @@ display effect. on MSDOS without the termcap lib, whether or not to pause for visual effect. [TRUE] -Boolean option if TTY_GRAPHICS was set at compile time: -msg_window show previous messages in a screen-size window [FALSE] - Boolean option if USE_TILES was set at compile time (MSDOS protected mode only): preload_tiles control whether tiles get pre-loaded into RAM at the start of the game. Doing so enhances performance @@ -87,7 +89,7 @@ Compound options which can be set during the game are: -boulder override the default boulder symbol with another default:` +boulder override the default boulder symbol with another default: [`] disclose the types of information you want offered at the end of the game [all] fruit the name of a fruit you enjoy eating [slime mold] @@ -108,6 +110,13 @@ or overLoaded), you will be asked if you want to continue. [S] pickup_types a list of default symbols for kinds of objects to autopickup when that option is on [all] +runmode controls how often the map window is updated when performing + multi-step movement (various running modes or travel command): + teleport -- don't update map until movement stops; + run -- periodically update map (interval is seven steps); + walk -- update map after every step; + crawl -- like walk, but delay after making each step. + (This only affects screen display, not actual movement.) [run] scores the parts of the score list you wish to see when the game ends You choose a combination of top scores, scores around the top scores, and all of your own scores. [!own/3 top/2 around] @@ -115,7 +124,7 @@ in game play or the user interface, such as notification given for the 'Q' command that quitting is now done via #quit (e.g., use suppress_alert:3.3.1 to stop that and any other - notifications added in that version or earlier) default: (none) + notifications added in that version or earlier) default: [(none)] Compound options which may be set only on startup are: @@ -200,8 +209,16 @@ teleportation_trap level_teleporter magic_portal web statue_trap magic_trap anti_magic_trap polymorph_trap default: ^^^^^^^^^^^^^^^^^"^^^^ + windowtype windowing system to be used [depends on operating system] +Compound option if TTY_GRAPHICS was set at compile time: +msg_window the type of message window to use: + single -- One message at a time + full -- Full window with all saved top line messages + reverse -- Same as full, but messages printed most-recent-first + combination -- Two single messages, then as full + default: single Some sample options lists are: !autopickup,!tombstone,name:Gandalf,scores:own/3 top/2 around diff -Naurd ../nethack-3.4.0/dat/help ./dat/help --- ../nethack-3.4.0/dat/help Wed Mar 20 23:42:29 2002 +++ ./dat/help Mon Feb 24 15:25:05 2003 @@ -124,6 +124,7 @@ p Pay your shopping bill. P Put on an accessory (ring, amulet, etc). ^P Repeat last message (subsequent ^P's repeat earlier messages). + The behavior can be varied via the msg_window option. q Drink (quaff) a potion. Q Select ammunition for quiver. r Read a scroll or spellbook. diff -Naurd ../nethack-3.4.0/dat/wizhelp ./dat/wizhelp --- ../nethack-3.4.0/dat/wizhelp Wed Mar 20 23:42:35 2002 +++ ./dat/wizhelp Mon Feb 24 15:25:05 2003 @@ -11,9 +11,10 @@ ^X == show attributes including intrinsic attributes. #levelchange == change experience level -#light sources == show mobile light sources -#monpoly_control == control monster polymorphs -#poly == polymorph self +#lightsources == show mobile light sources +#monpolycontrol == control monster polymorphs +#panic == panic test +#polyself == polymorph self #seenv == show seen vectors #stats == show memory statistics #timeout == look at timeout queue diff -Naurd ../nethack-3.4.0/README ./README --- ../nethack-3.4.0/README Wed Mar 20 23:42:26 2002 +++ ./README Mon Feb 24 15:25:05 2003 @@ -1,51 +1,32 @@ - NetHack 3.4.0 -- General information + NetHack 3.4.1 -- General information -NetHack 3.4.0 is an enhancement to the dungeon exploration game NetHack. +NetHack 3.4 is an enhancement to the dungeon exploration game NetHack. It is a distant descendent of Rogue and Hack, and a direct descendent of NetHack 3.3. -There are a great number of bug fixes in this release, as well as -many changes and surprises beyond what you see listed below. -Here is a brief overview of some new additions and changes in the game. - -o Many, many bug fixes and tweaks to the core code and to several ports -o Enhanced config file processing and player selection prompts for some ports -o Stamina affects ability to throw heavy things -o Objects merge in containers -o Wish for "nothing", and genocide "none" to preserve your conduct -o Several small refinements to race/role separation -o Config file BOULDER option to specify the symbol for displaying boulders -o New travel command which is particularly helpful for mouse navigation on - handheld computers -o more feedback about skill advancement from #enhance command -o End-of-game disclose options can be individually tuned to your liking -o Mac: command-key shortcuts in the player selection dialog -o Amiga: screenmode requester -o Win32: new graphical interface contributed by Alex Kompel - -We've also included variations of enhancements contributed by members -of the NetHack community at large. Among them: - -o Scott Bigham's new T-shirt messages and his option to turn off - resistance display effects -o Malcolm Ryan's option for "autodig" -o Jay Tilton's full-screen message window display via control-P -o Dylan O'Donnell's patch for optionally starting with no pet -o Tom Friedetzky's blessed/uncursed/cursed selection patch for menustyle:full -o Jason Short's additonal lens uses -o Kelly Bailey's Gnomish Mines changes -o Ken Arnold's patch to display prices in your inventory - -Carried forward -o The Gnome toolkit interface is still considered an experimental option. - We have not enhanced the port ourselves, and so far we have not received - any contributions doing so from the NetHack community. +NetHack 3.4.1 is a bugfix release for 3.4.0. + * Fix a few fatal errors including one for reentering shops, one + involving land mines and boulders/statues, one for delayed + polymorph, and one for chest traps blowing up a ball and chain + * Fix a buffer overflow that could lead to security problems + * Hundreds of general bug fixes + * Several message and other glitches corrected + * Travel command adjustments and ability to disable travel command + * message recall window extensions (by Christian Cooper) + * win32: some interface improvements + * unix: improved tile support + * gnome: some fixes, and some enhancements by Dylan Alex Simon + * Windows CE port included (by Alex Kompel) A fuller list of changes for this release can be found in the file -doc/fixes34.0 in the source distribution. The text in there was written +doc/fixes34.1 in the source distribution. The text in there was written for the development team's own use and is provided "as is", so please do not ask us to further explain the entries in that file. +We've also added a trouble log (paniclog) that will keep a record of the +details behind a "dungeon collapses" message, or a "perhaps you better +quit" message to assist in getting the required information included in +bug reports to us. - - - - - - - - - - - @@ -77,17 +58,18 @@ o. A 'sys/os2' subdirectory, which contains files specific to OS/2. p. A 'sys/unix' subdirectory, which contains files specific to UNIX. q. A 'sys/vms' subdirectory, which contains files specific to VMS. - r. A 'sys/winnt' subdirectory, which contains files specific to Windows NT. - s. A 'win' directory, which contains subdirectories for files that + r. A 'sys/wince' subdirectory, which contains files specific to Windows CE. + s. A 'sys/winnt' subdirectory, which contains files specific to Windows NT. + t. A 'win' directory, which contains subdirectories for files that are windowing-system specific (but not operating-system specific). - t. A 'win/share' subdirectory, which contains files shared by some + u. A 'win/share' subdirectory, which contains files shared by some windowing systems. - u. A 'win/Qt' subdirectory, which contains files specific to Qt. - v. A 'win/X11' subdirectory, which contains files specific to X11. - w. A 'win/gem' subdirectory, which contains files specific to GEM. - x. A 'win/gnome' subdirectory, which contains files specific to GNOME. - y. A 'win/tty' subdirectory, which contains files specific to ttys. - z. A 'win/win32' subdirectory, which contains files specific to the + v. A 'win/Qt' subdirectory, which contains files specific to Qt. + w. A 'win/X11' subdirectory, which contains files specific to X11. + x. A 'win/gem' subdirectory, which contains files specific to GEM. + y. A 'win/gnome' subdirectory, which contains files specific to GNOME. + z. A 'win/tty' subdirectory, which contains files specific to ttys. + A. A 'win/win32' subdirectory, which contains files specific to the Windows Win32 API. The names of these directories should not be changed unless you are @@ -123,16 +105,23 @@ Atari ST/TT/Falcon running TOS (or MultiTOS) with GCC Commodore Amiga running AmigaDOS 3.0 or higher with SAS/C 6.x (but see Makefile.ami about DICE and Manx) - DEC Alpha/VMS (aka OpenVMS AXP), running V1.x through V7.0 - DEC VAX/VMS, running V4.6 through V7.0 + DEC Alpha/VMS (aka OpenVMS AXP), running V1.x through V7.1 + DEC VAX/VMS, running V4.6 through V7.1 HP 9000s700 running HP-UX 10.x, 11.x IBM PS/2 and AT compatibles running OS/2 - 2.0 and up with GCC emx Intel 80386 or greater (or clone) boxes running MS-DOS with DPMI. Intel 80386 or greater (or clone) boxes running Linux, BSDI, or - Windows 95/98/NT/2000 - Intel Pentium or better (or clone) running BeOS 4.5 + Windows 95/98/NT/2000/XP + Intel Pentium or better (or clone) running BeOS 4.5 Sun SPARC based machine running SunOS 4.x, Solaris 2.x, or Solaris 7 + NetHack 3.4 will also run on the following, but a cross-compiler hosted + on another platform, such as win32, is required to build from source. + + Pocket PC devices running Windows CE 3.0 and higher + H/PC Pro devices running Windows CE 2.11 and higher. + Palm Size PC 1.1 devices running Windows CE 2.11 + Previous versions of NetHack were tested on the following systems, and we expect that NetHack 3.4 will work on them as well: @@ -166,13 +155,13 @@ C compiler. With the demise of Windows NT on the DEC Alpha, no attempt has been - made to build NetHack 3.4.0 on that platform. + made to build NetHack 3.4.1 on that platform. - No attempt has been made to build or run NetHack 3.4.0 on Windows Me - or Windows XP at this point. It may work, but then again it may not. + No attempt has been made to build or run NetHack 3.4.1 on Windows Me + at this point. It may work, but then again it may not. A build for Intel 80286 machines and DOS "real mode" overlaid versions - has not been produced for 3.4.0. Nobody on the porting team has + has not been produced for 3.4.1. Nobody on the porting team has the time or the software to attempt the necessary tuning that will allow it to achieve the balance of having just the right amount of available memory, and still have acceptable performance. The sources necessary @@ -182,20 +171,19 @@ - - - - - - - - - - - -If you have problems building the game, or you find bugs in it, the -development team may be reached at - - nethack-bugs@nethack.org +If you have problems building the game, or you find bugs in it, we recommend +filing a bug report from our "Contact Us" web page at: + http://www.nethack.org/ When sending correspondence, please observe the following: o Please be sure to include your machine type, OS, and patchlevel. -o Never send binary files (e.g. save files or bones files) to the - nethack-bugs address. Whichever platform you are using, only a small - minority of the development team has access to it, and you will rapidly - annoy the others. If you have found a bug and think that your save file - would aid in solving the problem, send us a description in words of the - problem, your machine type, your operating system, and the version of - NetHack. Tell us that you have a save file, but do not actually send it. +o Never send us binary files (e.g. save files or bones files). Whichever + platform you are using, only a small minority of the development team has + access to it, and you will rapidly annoy the others. If you have found + a bug and think that your save file would aid in solving the problem, + send us a description in words of the problem, your machine type, your + operating system, and the version of NetHack. Tell us that you have a + save file, but do not actually send it. In the rare case that we think your save file would be helpful, you will be contacted by a member of the development team with the address of a specific person to send the save file to. @@ -205,17 +193,19 @@ o We don't give hints for playing the game. o Don't bother to ask when the next version will be out. You will not get a reply. -Alternatively, you may fill out the bug report form on our web -page at http://www.nethack.org/. -Patches especially should be directed to this address. If you've changed -something to get NetHack to run on your system, it's likely that others have -done it by making slightly different modifications. By routing your patches -through the development team, we should be able to avoid making everyone else -choose among variant patches claiming to do the same thing, to keep most of -the copies of 3.4 synchronized by means of official patches, and to maintain -the painfully-created file organization. (This process has been working since -the time when everyone just posted their own patches to 2.3. At that time, +If you don't have access to the world wide web, or if you want to submit +a patch for the NetHack source code via email directly, you can direct it +to this address: + nethack-bugs (at) nethack.org + +If you've changed something to get NetHack to run on your system, it's likely +that others have done it by making slightly different modifications. By routing +your patches through the development team, we should be able to avoid making +everyone else choose among variant patches claiming to do the same thing, to keep +most of the copies of 3.4 synchronized by means of official patches, and to +maintain the painfully-created file organization. (This process has been working +since the time when everyone just posted their own patches to 2.3. At that time, there were no archived bug-fixes to give to people who got 2.3 after its initial release, so the same bugs kept being discovered by new batches of people.) We have been successful in preventing this from happening since the 3.0