1General Fixes and Modified Features 2----------------------------------- 3discarding a tin without eating should not count towards food conduct 4expand 'nethack.cnf' in dat/help to include new names on some platforms 5using 'C' to name a steed produces a "pony tail" 6stopping reading a spellbook when "too much to comprehend" left in_use set 7conduct: eating meat{ball,stick,ring,huge chunk} counts as eating meat 8don't select gems--aside from rocks and known glass or flint--via autoquiver 9skilled slingers can shoot multiple rocks with one shot, like other archers 10orcs shooting orcish arrows from orcish bows get multishot bonus, like elves 11have 'Q' offer gems/stones as likely quiver candidates when wielding a sling 12'Q' command--don't offer tools as likely quiver candidates 13spell hunger effect for wizards of high intelligence was not computed correctly 14fix "killed by the [master] mind flayer" bug 15redisplay correct trap glyphs when hallucination ends 16monsters under Conflict cannot attack other monsters that are already dead 17monsters that steal gold from monsters should teleport 18fix mummy wrappings worn by monsters to block invisibility 19applying a weapon or wieldable tool would sometimes give spurious messages 20 about two-weapon combat 21applying a weapon or wieldable tool might not always end two-weapon combat 22receiving a divine gift artifact while wielding two weapons would unrestrict 23 two-weapon skill instead of the skill for the artifact's type 24throwing and kicking while wielding two weapons exercised two-weapon skill 25when wielding two weapons, ')' command should show both 26giants cannot "easily pick up" boulders on the Sokoban level 27W command would let you wear an arbitrary item in your body armor slot if that 28 was empty & uncovered and you carried extra armor for any filled slot 29W command would list entire inventory if you answered '?' to the "what do 30 you want to wear?" prompt when all unworn armor couldn't be worn 31#looting and applying containers with menustyle != traditional would do bad 32 things if you split a merged stack in quiver or secondary weapon slot 33save/restore while mounted or stuck could cause a game crash or other errors 34baby gray dragons should not be visible to infravision 35dying from a failed saddle attempt should name the monster without using 36 hallucination 37spurious "Bummer, you've hit the ground" when hallucinating and dismounting 38constitution of <3 and >18 (possible in 3.3 because the ring of gain 39 constitution was added) was not handled properly 40potion and wand of invisibility (on yourself) should not print message if you 41 are already invisible, even if you can see invisible 42reviving tame monsters ended up tame but not peaceful and would attack you 43wishing for "rotproof" item is recognized as synonym for erodeproof 44your pair of boots "are" not affected when kicking rust monster should be "is" 45use article "a", not "an", with "eucalyptus leaf" 46fix crash if reviving troll has been genocided 47shouldn't see candles flicker when blind 48gas clouds use cloud symbol 49unchanging suppresses amulet of change, intrinsic lost by life-saving 50missing lucern hammer, silver dagger, silver spear in monster weapons 51buckled boots are brown 52Scorpius and centipedes are not web-makers 53race placeholders are M2_NOPOLY 54Monk species/leader/guardians are M1_HERBIVORE 55leader/nemesis flags fixed with |= instead of = 56freezing spheres won't leave corpses 57artifacts should add to ending score even if they are inside a bag 58being killed by a gas spore should not be treated as burning (most noticeable 59 problem was that the death message did not include "killed by") 60remove a double period from "Caught himself in his own fireball.." 61automatic dog names restricted to dogs 62chatting with a monster that teleports after the chat (succubus, bribable 63 demon) would put an 'I' symbol at the monster's destination 64stethoscope/probing should reveal identity of invisible monster, not use "it" 65wand of probing zapped at 'I' square with no monster should clear the 'I' 66cursed potion of invisibility drunk by monster should reveal 'I' 67kicked monster that evades kick by moving to unseen square should not leave 68 'I' in original position of monster 69closing a door on an invisible monster reveals the 'I' 70gas spores are recognized as having passive damage for purposes of pet attack 71since iron armor can now corrode, don't call all corroded armor "bronze armor" 72properly handle attacking a black pudding with a corrodeable weapon 73do not print "You still cannot see" when blind and removing lenses 74remove possibility of crashes when unseen monster engulfs items 75object shattered by wand should use plural verb when object is plural 76don't anger monsters when hitting them with invisibility or helpful unholy water 77for initial inventory, don't give out spellbooks in restricted spell skills 78for tourists' initial inventory, put darts in quiver rather than wield them 79artifact discoveries sometimes showed undiscovered object types (for example, 80 Snickersnee as "katana" when katana was still known as "samurai sword") 81"iron bars" singularization exception should not also catch "candy bars" 82if a monster kills a monster by throwing acid, don't credit the kill to you 83leave two-weapon combat mode if either weapon is stolen or otherwise unwielded 84use worse of (two weapon skill, current weapon skill) when figuring skill 85 bonuses and penaltys while fighting with two weapons 86never give back-stabbing or weapon-shattering bonus when using two weapons 87engulfing monster will not engulf your pony while you are riding 88arch-lich usually starts with an athame or quarterstaff 89do not say that "an" Asmodeus reads a scroll 90'?' command--short options help sometimes included garbage output 91'?' command--longer options help omitted several recent options 92eating an amulet of restful sleep now works properly 93getting hit by a potion of sleeping now works properly 94sleeping is reported by enlightenment 95detect unseen / secret door detection refreshes unseen monster (`I') glyphs 96monsters won't pick up objects in water (especially kelp) 97unseen check for monsters in explosions 98fixed "petrified by an " 99silver arrows cost a little more than other arrows 100javelin back in its own class 101dipping weapons in potion of oil now works properly 102freed prisoners become peaceful 103monk titles shortened so they aren't cut off 104elven Priests get their starting musical instrument 105you can now correctly ride centaurs 106fixed steed getting teleported (e.g. by Quantum mechanic) 107fix stethoscope/probing speed reporting, and slowing attack on player 108blessed detect monsters increments (not sets) the timeout, and produces a 109 message if no monsters are on the level 110put "Elbereth" under the sokoban prize so that monsters don't eat it 111a weak race can still have a high strength if polymorphed into a strong monster 112make dingos non barking canines 113suppress zap up/down message for stone to flesh on non-stone levels 114fix missing spaces on sokoban level that made level impossible without cheating 115use case-insensitive comparison for wishing (needed for Master Key of Thievery) 116avoid commas in the player name because they confuse the record file 117note Sliming when using probing/stethoscope on yourself 118fix inconsistency: reflecting medusa's gaze while invisible didn't work, 119 reflecting floating eye's gaze did 120Medusa should not drink potion of invisibility (the code only checked for wands) 121restore confirmation prompt for kicking pets and peaceful monsters 122ask for confirmation about kicking steed when kicking while mounted 123converting secondary weapon into an artifact (naming, dipping) stops #twoweapon 124a fully ID'd object converted into an artifact is no longer fully ID'd 125polymorphing an object by dipping in potion while inside a shop will only 126 anger the shopkeeper if the object is shop merchandize 127make {wand,spellbook,potion} of polymorph immune to being polymorphed 128turning undead should count as calling on a deity for purposes of conduct 129fix "monster trail" problem caused by reading a scroll of magic mapping while 130 engulfed 131don't give Slow_digestion-related message when non-digesting engulfer expels you 132vary vampire's chat responses according to time of day, tameness, and player 133 form 134added fish_parts to mbodypart/body_part 135fixed do-while loop test criteria in create_mplayers() 136fix crash if reviving troll has been completely drained by Stormbringer, et al 137a stinking cloud should not kill a monster more than once 138player stops riding when nymph steals saddle 139don't ask for name for eaten ring of slow digestion if already identified 140don't let engulfed lifesaved monster beat you up while supposedly being 141 totally digested 142lev_comp: honor class in OBJECT entries (user's '+',"identify" made scroll) 143fix uninitialized buffer/unprintable characters error when eggs hatch 144accept "aluminium" as variant spelling for "aluminum" 145don't die from lava while praying 146correctly display gems for the final score even when blinded 147throwing a boomerang from {wielded,secondary,quiver} weapon slot will have 148 it be restored to that slot if caught upon return 149don't allow iron balls to pass through iron bars 150fix "What weird role is this? (E)" for names taken from 3.2.x score records 151make spell of jumping work properly when restricted in escape spells 152save traits of petrified monsters; animated statues are like revived corpses 153unmoving monsters seen by infrared are removed from/displayed on the screen 154 when they leave/enter direct line-of-sight 155Sting and Orcrist get their anti-orc bonus against orc player characters 156buffer overrun caused by many long names in a single message 157polymorph can't indirectly transform scrolls of mail into blank scrolls via 158 paper golem creation 159don't let savebones() name a ghost without checking for sufficient space 160don't report "killed by ghost of Foo called Foo" on tombstone or in record 161when breaking create monster wands, don't place monsters inside solid rock 162don't allow tainted cockatrice corpses to prevent stoning if you eat one 163oil isn't seen as dimly glowing if you're blind 164properly consider hallucination and blindness when printing sliming messages 165don't allow the player to jump through iron bars or walls (the latter only 166 when wearing the Eyes of the Overworld) 167don't allow the player to hurtle through iron bars 168work around race condition between breaking a wand of teleportation, 169 teleport control and autopickup 170rust traps should affect scrolls 171lev_comp returns error if level cannot be fully written out 172blank scrolls/spellbooks don't count as reading material 173fix seduction attacks to treat characters polymorphed into golems as neuter 174chaotic sacrificing on a chaotic altar may crash if demon creation fails 175failed demon summoning might cause monsndx panic 176avoid possible crash when casting fireball spell while engulfed or near the 177 edge of the map 178prevent observation of dust clouds in rogue level doorways when blind 179cans of grease will no longer rust 180skip already dead monsters when scanning the full monster list; avoids 181 monsndx panic and other potential trouble 182skip already dead shopkeepers when checking for tended shops 183level teleport high in the air while lifesaved should result in an escape 184the "stoned" flag wasn't reset when a monster was lifesaved from turning to 185 stone, so the next monster you killed would always turn to stone 186wooden harp is not a magical object 187player characters got left at 10 when "normal" speed was increased to 12 188time it takes a monster to change armor doesn't depend on whether you see it 189character can't be totally digested on first turn of being swallowed 190level 25 engulfer would trigger divide by 0 crash via evaluating rnd(0) 191wielded egg that hatched wasn't cleaning up worn objects and might cause crash 192mirror shouldn't show location of unseen monsters 193cloth headwear was being reported as leather when fire damaged 194modify moveloop so that time (moves) is not relative to the player's speed 195fix moveloop to account for player not accumulating enough movement points 196 to move in a turn -- this fixes the reported "time is wrong when 197 burdened" problem 198monsters should not teleport on levels that disallow teleportation 199consider existing poison resistance when printing message while eating 200don't allow various spells/effects to turn monsters into genocided species 201don't crash on abusing guardian angel (accessing edog) 202call useupall() rather than useup() for organic items burned by lava 203revive any Rider corpse which gets teleported 204wishing for gold should affect conduct 205gold detection should detect gold golems 206grease should affect the secondary weapon in two-weapon mode 207falling drawbridge, eating cockatrice eggs, delayed self-genocide all caused 208 monsters to be fully named instead of using "it". 209change the You_hear message if hero is asleep 210various inventory changes did not immediately update when perm_invent was set 211avoid crash when multiple, cascading explosions occur 212pets are no longer permanently weakened by a brush with starvation 213doeat() doesn't leave rotten food half-set-up for resumption 214don't allow trying to resume eating a revived rider corpse 215shopkeepers, priests and peaceful monsters should get angry when you cast 216 stinking cloud on them 217when crowning a neutral wizard who knows finger of death but isn't carrying 218 its spellbook, don't drop his weapon (crash likely) 219similar greased and non-greased objects would merge together into one stack 220monster reading scroll of earth may be allowed an extra attack 221change message for failed attempt to mount steed while punished 222fix multi-shot throwing for darts and shuriken 223update monster multi-shot throwing to match player throwing 224prevent inappropriate use of "lungs" in creatures that have none 225change several instances of 'pline("The ' to 'pline_The("' 226monk characters kick as characters rather than as kicking monsters 227fix kicking shades by character polymorphed into kicking monster 228fix articles in some Sokoban trap messages and eliminate some 229 superfluous messages 230restoring with damaged subroom shops on non-current level could dereference 231 stale shk pointer 232prevent removal of levitation in sokoban pits from causing you to 233 "float gently to the ground" 234peaceful/tame mindflayer now mindblasts hostile monsters and vice versa (the 235 check was backwards) 236fix suppression of stone-to-flesh on unique monster statues 237kill player when drain life induces negative HPs 238rumors used as engravings should not refer to fortune cookies 239magic-resistant players/monsters unhurt by monsters zapping wands of striking 240fix time problem where disrobing took too long 241saddle that comes with a knight's initial horse should be known to player 242iron golems are sensitive to more ways of getting wet with water 243prevent odd contents of initial tourist tins and eggs (the contents were 244 mostly from the quest level, producing many cave spider eggs) 245breaking a wielded wand doesn't leave it wielded 246if nymph hits monster on first attack and teleports away, suppress second attack 247kicking a mimic should reveal its presence 248using 'F' command on a pet with safepet should not produce "thin air" message 249polymorphing into slime or fire creature removes Slimed; becoming a new man 250 resets the Slimed timer 251throwing cockatrice corpse barehanded should stone the player 252avoid "petrified by petrification" on tombstone 253avoid "turning into green slime" on tombstone (KILLED_BY didn't work if Slimed) 254since unchanging prevents sliming, make it reset any sliming already present 255avoid "You turn into a female succubus" redundancy 256player hit by potion of acid should take damage like monster 257"You are protected" in enlightenment display should include u.uspellprot 258chameleons that change into a non-moving, non-attacking form shouldn't get stuck 259fix bug where monsters didn't wield bow (etc.) before shooting arrows (etc.) 260medium size is too large for giant bats (it allows leaving plate mails when 261 killed) 262player polymorphed to a ghoul resists sickness just like a ghoul monster 263player in werecritter beast form shouldn't polymorph into "human" 264player wearing scales of genocided dragon was getting duplicate "you feel 265 dragon-ish" messages when polymorphing 266fix luck timeout for full moon and friday 13th 267monsters must wield polearms before using them, just like players 268when saving bones data, shopkeepers will claim dropped objects inside shops 269pets will now wear objects they pick up 270pets will now wield pick-axes when necessary 271limbless pets are no longer able to carry objects 272monsters cannot consider a mattock for digging if they are wearing a shield 273avoid a case where monsters keep switching between pick-axe and weapon 274override hallucination when reporting pets that ascended or escaped with player 275avoid duplicate pickup() calls when landing after falling through a hole 276added squeaky board traps to Lord Surtur's lair entrances 277cursed lenses no longer considered a major problem by deity 278prevent "seeing an image of someone stalking you" when Blind 279disallow potion of polymorph / ring of polymorph control starting combo 280disallow starting with blank paper 281tools shouldn't charge beyond 127 charges 282getting money from a fountain should set the looted flag 283pole-weapons won't bash and will advance skill when on steed 284blessed genocide of polymorphed unchanging player should kill 285picking up nothing should take no time 286quiver command should take no time 287potions should not be autoquivered as worthless glass 288players should not get double-billed when using or altering items 289silver dragons should have same resistance as other dragons 290golems should be un (reverse-)genocidable 291player should get blamed for destroying Minetown fountains by Excalibur dipping 292player should not get blamed for others destroying Minetown fountains 293digesting ghosts and shades as a purple worm should be nonvegan but vegetarian 294eating brains as a mind flayer should be nonvegetarian 295eating eggs should be nonvegan but vegetarian 296eating tripe, meat sticks, chunks of meat should be nonvegetarian 297headstones now implemented through engraving 298luck penalty for the remaining forms of "creative NetHacking" in sokoban 299don't penalize a turn if player cancels #ride direction 300Ranger quest is no longer a rip-off of the old Elf quest 301several Hello() messages were inappropriate for various monsters 302storm giants should talk 303monk leader and guardians should use clerical spells 304monks shouldn't start with scrolls of enchant weapon 305movement rate when saddled was miscalculated 306items under lava shouldn't been seen or picked up 307clicking in status line during `/' shouldn't cause getpos error 308huge chunk of meat should count as dogfood 309"Pardon me" when moving directly into peaceful monster 310shouldn't glow amulet and save life of digested monsters 311"<monster> gets angry!" only when you can see the square 312"Never hit with a wielded weapon" conduct should only count 313 weapons and weptools 314lynxes should not have cold attacks 315Naming a specific object asks "What do you want to name *this* ___" 316"Having fun sitting on the floor" shouldn't over fountain 317"ball lightning" changed to "ball of lightning" 318"poisoned by a poisoned crude arrow" should be "killed by a poisoned 319 orcish arrow" 320shouldn't see invisible monsters oozing under a door 321fix apostrophe for invisible seen-invisible crumbling-to-dust liches 322amulet of change when polymorphed into single-gender monster could produce 323 inconsistent role name for Priest(ess) and Cave(wo)man 324prevent Fire Brand from "burning" a water elemental 325snatching cockatrice corpse gloveless by applying bullwhip will now stone 326inventory description of wielded two-handed weapon uses "weapon in hands" 327inventory description of secondary weapon explicitly lists it as non-wielded 328 to reduce confusion about two weapon combat 329Bell of Opening removes attached iron ball when performing opening magic 330chatting to a monster who responds with "I'm trapped" reveals the trap 331Make tmp_at() work when called in the midst of a previous tmp_at() sequence 332Make the messages for attempting to wear lenses over a blindfold more clear 333Prevent buffer overflow when reading engravings that are BUFSZ in length 334paralyzation message on steed should not say your feet are frozen to the floor 335avoid buffer overflows and associated security problems from getenv(), 336 program name, and user name 337 338 339Platform- and/or Interface-Specific Fixes 340----------------------------------------- 341Mac: legacy message was being truncated 342Mac: black background left mess on backspace 343Mac: backgrounds set too early on game startup 344Mac: tty window positions not remembered after move 345Mac: tty window turned B&W when moved to bottom of screen 346Mac: tty quit command fixed 347Mac: remnants of previous hunger status now cleared 348MFLOPPY: add checkspace option to avoid problems with >2GB free space 349MSDOS: fix clearlocks() to look for the right file names, 350 and not LEVELS.* (MFLOPPY only) 351MSDOS: remove djgpp stuff from the Microsoft C Makefile 352MSDOS: change NetHack.cnf to defaults.nh in NHAccess.nh comments 353MSDOS: add missing files to gcc 'make spotless' 354NT: WIN32 specific code in tty_nh_poskey() was missing the 355 necessary code to clear window flags so after hitting ESC 356 messages that should have displayed did not 357Linux: set MAILPATH properly 358Linux: don't use control characters on Rogue level with IBM graphics 359DEC UNIX: set MAILPATH properly, type lex functions properly, avoid conflict 360 with curses over naming 361Qt: remove intermediate files on 'make spotless' 362Qt: modify makefile to allow use with BSD make and FreeBSD 363Qt: have player selection dialog come up when name specified 364Qt: use default menu accelerators and allow remapping 365X11: fix memory leaks is reading from dialogs 366X11, tty: avoid crashing when displaying empty menus, as from 'i' with 367 perm_invent and no inventory 368tty: when given the choice of ANSI color (AF) vs standard color (Sf), choose 369 ANSI since there is some disagreement as to the correct color order 370 for Sf, but no such disagreement for AF. 371tty: add workaround for termcap misfeature in some Linux distributions which 372 affects DECgraphics display 373Amiga: minimal functionality restored 374Amiga: recover created empty (and unused) save.info files 375Amiga: ^P works properly 376Amiga: windowcreating modified for better adaptivity 377Amiga: changed from intuition menus to gadtools menus 378Amiga: changed default colors in tilemode to those of gfxfile 379Amiga: window backfill works 380Amiga: playerselection adopted from tty-port 381Amiga: linesplitting in msg/inv/menu windows fixed 382Amiga: obey user configured pens in nethack.cnf 383Atari: tty port rescued from oblivion, Gem windowing added 384 385 386General New Features 387-------------------- 388gold/glass golems, glass piercers now resist acid 389added sharks, piranha, jellyfish, prisoners, and iron bars to special levels 390piranha can appear in swamp rooms 391hero falls off steed when fumbling or falling down stairs 392artifacts speak when applied 393engraving "x" is not literacy 394demons and vampires engrave in blood 395shopkeepers don't like riding customers 396can #chat down to steed 397own race in Gnomish Mines replaced with random monsters 398differentiate between light/gaze-induced blindness and other causes of blindness 399yellow dragon scale mail provides acid resistance 400polymorphed player digests engulf victims more slowly if Slow_digestion 401Conflict now affects steed's desire to keep its rider 402undead turning of bones level player corpse causes ghost to reunite with 403 the corpse 404control-x in regular mode displays name, role, race, gender, and your deities. 405wizard mode can wish for pools of lava 406pythons now have infravision to emulate real pythons heat sense organ 407M-2 added as a shortcut for #twoweapon 408general file location mechanism 409you can choose to #loot the saddle from something now 410message changes for silver dragon scale mail glowing silver and pit vipers 411 falling into pits 412support explicit `race=random', `alignment=random', and `gender=random' 413 in startup options 414manes now grow up into lemures 415potions of healing and sickness affect Pestilence in the opposite way to 416 their effect on other monsters 417introduction of a new method of warning where you sense the danger level of 418 monsters on the level by displaying it at the monster's location 419introduction of a new method of warning for specific monsters the way Sting 420 does for Orcs; you sense their presence anywhere on the current level 421artifacts can belong to specific races and won't be given as gift when "hated" 422Archeologists get a penalty for breaking "historic" statues 423hatching eggs in male player's inventory have chance of "Daddy?" 424steeds affected by more types of wands zapped down 425opening/knock versus steed drops saddle 426unwearing your steed's saddle (e.g. stolen, opening) causes dismount 427yet another funny message when whipping a horse corpse 428yet another funny message when mounting when hallucinating 429Bell, Book, and Candelabrum added to final score like artifacts 430new keywords coaligned and noncoaligned for altars (and monsters/priests) 431 in special level descriptions 432quest start levels get coaligned altars if their roles have multiple 433 alignments, and goal levels get noncoaligned altars 434ice vortices and freezing spheres are infravisible 435 436 437Platform- and/or Interface-Specific New Features 438------------------------------------------------ 439X11, tty, Amiga: offer for player selection only choices consistent with those 440 already made by config file/command line (e.g., only offer roles that 441 are compatible with specified race) 442tty: eight_bit_tty option 443Amiga: implement menu_* accelerators and counting 444mac: the "record" file is created if it does not exist 445