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