fix #H5188 - getting an artifact break illiterate
[aNetHack.git] / doc / fixes36.1
blobf0986f9a2beaa52dd2082e56de49080c7ef0ca77
1 $NHDT-Branch$:$NHDT-Revision$ $NHDT-Date$
3 General Fixes and Modified Features
4 -----------------------------------
5 doc/*.6 man pages and corresponding doc/*.txt text copies were out of date
6 data.base entry for "lava" had wrong first name for Don Woods' attribution
7 cursed genocide of "none" sent in monsters, but "that's enough tries" didn't
8 update MAXPLAYERS documentation in sysconf file and accept 0 for 'no limit'
9 wizard mode: don't include feedback about named fruit for ^X and enlightenment
10 looking at distant objects while wearing the Eyes of the Overworld made their
11         up-close descriptions known when not intended
12 message when cursed wand zapped by a monster happens to explode was suppressed
13         if hero was deaf, even though that message has no audible component
14 support explicit 'symset:default' and 'symset:Default symbols' in options
15 crash during startup if player name set as 'player' in defaults
16 crash during startup if defaults file has a long line
17 any existing vampire shape-shifted into critter (fog cloud, bat, wolf) became
18         an unkillable critter if vampires were genocided
19 unlike in previous versions, an uncursed scroll of enchant armor failed to
20         uncurse the piece of armor being enchanted (change was unintentional)
21 slice of {pizza,cake,&} pluralized as "slouse of ..." due to false match
22         with "lice" (discovered pre-3.6.0-release)
23 change dipping prompt to not ignore 'called' and 'named' attributes of item
24         to be dipped
25 avoid 'the unlabeled {scroll,spellbook} fades' when blank item is hit by water
26 wrong message given when high priest on astral plane rejects being assigned a
27         name (got the one for unique monsters instead of the one for priests)
28 negative intrinsic protection shouldn't confer MC=1, "you are warded" (not
29         possible from divine protection but is possible from eating rings)
30 make a slight adjustment to the quickmimic() sense wording
31 fix typo in passage 1 of The Colour of Magic
32 fix typos in passages 2 and 6 of Thud!
33 falling asleep when reading dull spellbook ignored sleep resistance
34 getpos() complaint about invalid movement keystroke didn't describe meta-chars
35         accurately
36 'realtime' value in xlogfile was incorrect if 'checkpoint' option was active
37 make a previously-discovered scroll written with marker while blind have its
38         label known so it can be read while blind
39 #name or C for discoveries list that spanned multiple pages would exit on
40         space instead of advancing to next page (workaround: use '>' instead)
41 don't show the old level when you die going down the stairs because of an
42         iron ball
43 new high score with ", while helpless" attribute appended would erroneously
44         result in ", while helpless" being appended to all following entries
45 allow bright aliases for colors in menucolors
46 avoid hearing yelps when you are deaf
47 make corpse visible if stethoscope told you about it being there
48 sceptre of might database entry word change
49 avoid "spellbook of novel" on discoveries list after object ID of novel
50 add novel to discoveries list after reading one
51 putting gold into hero-owned container on shop floor gave free credit
52 stack splitting for dipping large quantities of potions was done poorly
53 dipping fruit juice into enlightenment gave different result than the inverse
54 make travel walk up to a trap and stop when the trap blocks the only
55         way forward, instead of trying to go straight line
56 travel will displace pets rather than stop
57 discard travel cache when moving to a different dungeon level
58 do not autopickup unpaid items in shops
59 death due an unseen gas spore's explosion resulted in "killed by a died"
60 allow optional parameter "true", "yes", "false", or "no" for boolean options
61 actually make the castle chest not trapped
62 level-drain resistance wasn't shown during enlightenment if it was conferred
63         by worn/wielded equipment or by lycanthropy
64 wizard mode enlightenment now shows more reasons for various intrinsics
65 rehumanizing after being poly'd into vampire left hero with ability to sense
66         humans and elves
67 Warn_of_mon wouldn't have been able to sense giant ants if any creature were
68         to have that ability, caused by using 0 instead of NON_PM for 'none'
69 tone down energy vortex's drain energy attack
70 fix message typo if tame mind flayer dies trying to eat Medusa's brains
71 use alternate rejection message if attempting to name an unnameable monster
72         with the name it already has
73 cockatrice corpse no longer leaves multiple statues for shape-shifted vampire
74 alter name of monster causing hero's death if name contains characters that
75         could cause confusion when using record, logfile, or xlogfile later
76 teleporting or polymorphing a sink via ring drop shouldn't depend upon being
77         able to see it happen
78 change "unlockable chest" to "broken chest" so that it won't be misunderstood
79         ("capable of being unlocked" vs intended "not capable of being locked")
80 use doname instead of xname when using '/' or ';' to look at objects on map
81 when a pet moves reluctantly, name the top item of the pile it is reluctant
82         to step on if the hero sees or remembers any object(s) at that spot
83 ensure sufficient messages are given to clarify the transition from detected 
84         vampire bats to fog clouds in Vlad's tower
85 fix "killing by kicking something weird" when kicking an object causes death
86 avoid accessing mextra fields which haven't been allocated
87 compile-time option for an alternate paniclog format for public server use
88 make monsters forget where they stepped when fleeing or teleporting
89 requiver pickup_thrown objects if quiver is empty
90 make mimics mimicing walls or trees also block light
91 stepping onto lava destroyed non-fireproof water walking boots but left other
92         vulnerable boot types intact
93 damage and death reasons when eating globs referred to them as corpses
94 fix death reason when petrified (avoid redundant 'while getting stoned')
95 use appropriate place name for drum of earthquake shakes
96 fix unmapped branch stairs on sokoban level
97 redraw map when hilite_pile is toggled to display the highlighting
98 make commands that accept a count prefix for item selection
99         show "Count:" like command repeating does
100 make vault guard accept names starting with number
101 fix weight of containers in special levels
102 make the raven medusa level shortsighted
103 fix possible segfault in lev_comp when map was too tall
104 fix "the ice is bridged with ice" when freezing castle's moat or Medusa's sea
105 make monsters and pets avoid poison gas clouds if it would damage them
106 covetous monsters may choose to teleport to downstairs or ladders
107 doppelganger posing as Rider would never change shape
108 since doppelganger posing as Rider could never revert to innate form,
109         protection from shape changers turned it into genuine Rider
110 don't create globs of ooze/slime/pudding with bknown flag set so pre-known to
111         be "uncursed"
112 do allow globs with same curse/bless state to merge even when that state is
113         known for one and unknown for the other; result will have bknown clear
114 make glob merging on floor behave the same as glob merging in inventory
115 track age of merged globs
116 support globs for edibility temporary intrinsic
117 restore ability to gain intrinsics from black puddings (pass globs to cpostfx)
118 eating tainted black pudding (glob in 3.6.0, corpse in 3.4.x and 3.3.x)
119         referred to it as "meat" (because it's not vegetarian food)
120 fix pile mark after killing a monster carrying a potion which is destroyed
121 don't list suit as likely candidate for Take-off if cloak blocks it
122 only list known blank scrolls and known blank spellbooks as likely candidates
123         when choosing an item to write on for applied magic marker
124 make status hilites use same color names as menucolors
125 limit monster spell aggravate monsters to either outside or inside of the
126         Wizard's tower
127 prevent revived unique from inheriting a user-defined name
128 make hurtling out of air bubble on the Plane of Water handle entering water
129 fix floor descriptions on the Planes when levitating
130 fix warning glyph description when monster symbol coincided the warning symbol
131 override MSGTYPE=norep while executing the ':' command
132 if a chameleon took vampire form, it would stop periodically changing shape
133 corpses obtained from tipping an ice box wouldn't rot away
134 suppress "you climb up the stairs" message if verbose option is off
135 physical damage from mind flayer attack was being inflicted twice
136 adjust pending movement points when polymorphing into a slower creature
137 damage inflicted by burning glob of green slime gave wrong messages
138 monsters fleeing up the upstairs on level 1 were supposed to escape the
139         dungeon but ended up arriving on Plane of Earth
140 monster hitting fire-dealing monster with weapon triggered passive damage to
141         weapon every time, when hero doing so only had 1/6 chance per hit
142 hitting steam vortex with flammable weapon would damage the weapon with fire
143 if a non-cursed spellbook being read becomes cursed and hero recognizes that
144         (bknown is set), interrupt reading
145 if a non-cursed spellbook being read becomes cursed and hero doesn't notice,
146         don't leave it flagged as in-use (hence to be deleted during the
147         next save/restore cycle) if contact-poison cursed book effect occurs
148 stolen_value, used when breaking shop items from outside the shop among other
149         times, could describe the shopkeeper as "it" when not seen
150 when two or more shopkeepers were visible at once, 'p' command could be used
151         to probe map for locations of other shopkeepers and arbitrary monsters
152 vortexes and other unsolid monsters need not avoid webs
153 barbarian and samurai can achieve basic in their special spell's skill
154 scalpel and tsurugi can now split puddings; bashing with darts or arrows can't
155 jumping while punished could leave ball and chain in the wrong place
156 improve Deaf message handling for the minetown watch and shops
157 issues with Warning when you're adjacent to an undetected hider; clearly you
158         are aware a monster is present so this causes you to search it out
159 allow lookup of names like Hachi when selecting monsters from the map
160 lookup "More Info?" prompt will now tell you what it will look for on 'y'
161 using 'R' on armor would bypass some restrictions imposed by 'T' (inner layer
162         could be taken off from under outer layer, embedded scales could be
163         attempted but triggered "select_off" impossible)
164 when examining hidden monsters (probing, persistent monster detection), tell
165         how they're hidden (under an object, on the ceiling, etc)
166 some quest text corrections
167 use a much tighter upper bound when summoning nasties; old method could
168         theoretically create 200 critters at a time
169 if a long worm inherited inventory from a previous shape, and if an egg or
170         figurine in that inventory hatched or auto-activated, messages were
171         given when hero could see any tail segment even if head was unseen,
172         making it seem as if worm's inventory was kept in the visible segment
173 Wizard will now steal any quest artifact from hero, not just own role's
174 prevent a hostile renegade Angel of <lawful god> from delivering taunt
175         messages which mention threats of retribution from that god
176 a few types of monster (barrow wight, Nazgul, erinys) have weapon attacks that
177         don't deal physical damage, so special damage like stoning via wielded
178         cockatrice corpse wouldn't be inflicted
179 non-item-using monsters who happened to be carrying scroll or wand of fire or
180         a fire horn could use it to cure themselves of being turned into slime
181 when looting multiple containers, add 'n' for "loot next container", change
182         'q' and ESC from "done with this container" to "done looting"
183 change looting to choose ":iobrs nq" action from a menu for menustyle:Partial
184 wand/spell/breath zaps that reached the edge of the level on the Plane of Air
185         and "vanished into the aether" left temporary display effects on screen
186 stop amulets and other items which aren't affected by erosion damage from
187         being subjected to erosion damage
188 grammar bit: polyself w/ gender change yielded "you turn into a Elvenking"
189 grammar bit when hallucinating: "you kill poor goblin" ('the' missing for pet)
190 some blindness cures ignored u.ucreamed
191 some instances of stun or confusion timers were being overridden rather than
192         incremented when new stun or confusion damage was suffered
193 female gnome who gains level can grow up into male-only gnome lord; give an
194         an alternate message instead of prohibiting the promotion
195 kicked weapon which successfully hits monster vanishes from play
196 unseen landmine explosion could result in "The <monst-type> statue crumbles."
197 when using the 'O' command for regexp options (autopickup exceptions,
198         menucolors, message types), provide opportunity to add more than one
199         at a time [after 'add', return to add/list/remove menu]
200 commands invoked by uppercase meta characters: M-A, M-C, M-N, M-O, M-R, M-T
201         were missing from '? c' list of game commands (dat/hh)
202 tweak Baalzebub's lair and clean up the map display for it
203 symbol set definitions didn't recognize S_darkroom and S_vibrating_square
204 wizard mode enlightenment was reporting "very fast innately" (which is not
205         possible) for very fast hero who was innately fast
206 when attacking a monster with a rust or corrosion or acid passive
207         counter-attack, grease wasn't protecting the attacker's weapon
208 the Bell of Opening now correctly reports when it opens a trapdoor/hole
209 knocking can no longer send a monster through a trapdoor/hole and desaddle it
210 game no longer gets confused when you break an unpaid shop item while inside
211         a different shop
212 shopkeepers now correctly handle nested containers and gold in containers
213 for menustyle traditional, 'D' followed by (B|U|C|X)&m presented a menu of
214         everything, not just invent subset matching specified BUCX categories
215 for menustyles traditional or combination, 'A' (or object ID) followed by i
216         displayed an inventory of everything rather than just worn items (or
217         not fully identified items)
218 exploding chest trap would destroy uchain while still worn if uball carried
219 if monster shapechange message "<foo> turns into <bar>!" was given, <bar>
220         could be "it" (if <foo> sensed telepathically and <bar> is mindless)
221 automatic annotation for Ft.Ludios level got applied when a drawbridge became
222         mapped, but entry there is a secret door rather than a drawbridge
223 sortloot changed to group holy water and unholy water with water instead of
224         placing them among the h- and u-named items
225 sortloot changed to place diluted potion of foo after potion of foo instead
226         of listing all diluted potions followed by all non-diluted ones
227 digging down on a grave converted the terrain to floor but did not create a
228         pit and uncover the grave's contents; digging again--on floor--did
229 when feel_location removed a remembered-unseen-monster glyph from a known
230         water location while hero was levitating, the map was redrawn showing
231         floor instead of water at that spot
232 Vlad's tower2 and tower3 didn't show up in wizard-mode ^O output or ^V? menu
233 remove extra space from "All of your  <stack-of-potions> boil and explode."
234         (also applies to potions freezing and to scrolls burning)
235 effects of cursed potion of levitation were skipped if already levitating
236 when engulfed, having swallower be killed by angry deity trying to zap hero
237         no longer violates pacifist conduct (other penalties--reduced luck or
238         alignment--still apply if target is something you shouldn't kill)
239 likewise when a monster kills inself trying to prevent turning to stone or
240         into slime that's been caused by the player, pacifism is not affected
241 metabolism adjustments: hero poly'd into metallivore form still needs to eat;
242         being fainted or unconscious from other than sleep now consumes
243         nutrition at lower rate, like being asleep already did;
244         starvation threshold shortened due to slower food use while fainting
245 after using detection magic or #terrain while underwater, then leaving water
246         and saving while on land, save would flag you as underwater again and
247         then restore would limit the map display accordingly; next move would
248         notice, retify things, and report "you are on solid land again"
249 change #terrain used while underwater to view the regular map rather than the
250         crippled underwater one
251 can see or feel adjacent lava or ice when underwater
252 farlook when underwater now reports "land" for adjacent non-{water,lava,ice}
253         and "unreconnoitered" for non-adjacent anything, instead of "dark part
254         of a room" for the former and either dark-room or "unexplored" for the
255         latter depending upon whether the spot had previously been scouted
256 monster who accidentally killed itself by zapping wand of fire or fire horn
257         at self to prevent turning into slime was not properly killed off;
258         it wouldn't benefit from an amulet of life saving and would trigger
259         impossible "dmonsfree: N removed doesn't match M pending"
260 resurrecting a shopkeeper corpse caused crash (replmon -> replshk -> inhishop
261         -> no eshk data for temporary monster being replaced with revived shk)
262 new character with OPTIONS=role:Valk,race:!human,align:!lawful yielded
263         "Shall I pick your Dwarven Valkyrie's for you?" where !human forces
264         dwarf and dwarf forces lawful, contradicting align:!lawful
265 new character with OPTIONS=role:Valk,race:random yielded
266         "Shall I pick your Valkyrie's race and alignment for you?" instead
267         of honoring race:random without asking
268 while in shop, undead turning at self causing carried, hero owned corpse to
269         resurrect claimed it belonged to shopkeeper
270 while in shop, stone-to-flesh at self causing carried, hero owned figurine
271         or statue to animate claimed it belonged to shopkeeper
272 reviving one of a stack of N corpses in a shop charged a usage fee for all N;
273         remaining N-1 were owned by hero if carried but by shop if on floor
274 gremlin wailing in agony should wake up nearby monsters
275 add more lighting variance to the second bigroom variant
276 when getpos was picking a location, typing '^' to move to the next known trap
277         skipped some detected traps if their location was unseen
278 describe detected door traps and chest traps as trapped door and trapped chest
279         instead of bear trap; bear trap tile is still used on map though
280 thrown potion that killed peaceful monster would cause "the <mon> gets argry"
281         after the message about it being killed
282 when poly'd into a hider and engulfed, attempt to hide via #monster was blocked
283         but feedback said "can't hide while held" rather than "while engulfed"
284 various monster/object/food/gold/trap detections were inconsistent in how they
285         behaved if performed while engulfed or underwater
286 show in inventory which monster a leash is attached to
287 using /? to look up something by name, supplying multiple spaces (with no
288         other characters) as the name triggered impossible "singular of null?"
289 add support for the 'altmeta' option to the 'what-does' command ('&' or '?f')
290 when wielded weapon becomes untouchable (after alignment change or polymorph)
291         hero could be 'blasted by its power' twice in succession
292 at startup, if sysconf had been read but user's own config file couldn't be
293         read, sysconf got processed again as if it contained user's options
294 don't give "you cannot pass through the bars" when travel is testing possible
295         paths in the vicinity of iron bars
296 if blind and no gloves, using 'm<dir>' to move and then 'e' could be used to
297         locate cockatrice corpse without fatal touching (by declining to eat)
298 it's cannabilism for a were<foo> to eat a <foo> corpse
299 conduct: wishing for an artifact and not getting it because it already exists
300         counts as wishing for an artifact, just like when not getting it
301         because of quest restrictions or too many artifacts in play does
302 avoid ring of poison resistance as starting equipment for orcish wizard
303 gelatinous cube shouldn't be able to eat a scroll of scare monster
304 make fireballs or cones of cold cast at skilled or higher not go through walls
305 prevent flying monsters from hovering over unreachable underwater objects
306 lembas wafer gives increased nutrition to elves, reduced nutrition to orcs;
307         cram ration gives increase nutrition to dwarves
308 when #tip's terse object drop format got interrupted by a regular message,
309         it continued using "obj2, obj3, ..." for subsequent objects, where
310         the sentence grammar no longer made sense (the interrupting message
311         still follows the comma of a partial sentence--attempting to fix that
312         seems hopeless; leaving it is better than always using verbose format)
313 for #tip inside shop, credit was incorrectly given for spilled gold if that
314         gold's stale location coordinates didn't happen to be inside the shop
315 when confused scroll of light summoned lights, player would be asked what to
316         call the scroll even if scroll of light was already identified
317 if a visible monster becomes invisible, mark its spot with the 'remembered,
318         unseen monster' glyph ('I' character or '?' tile)
319 monsters can throw cockatrice eggs at hero, but there was no handling for eggs
320         when the missile hit an intervening monster
321 clarify that shape-shifted vampires revert to vampire form when petrified or
322         digested; when back in 'V' form, they're vulnerable to such damage
323 when poly'd into an engulfer which does digestion damage, a kill resulting in
324         a level gain gave "welcome to level N+1" before "you digest <victim>"
325 any corpse eaten by omnivorous hero always tasted "terrible"
326 eating the corpse of a unique non-named monster (Wizard of Yendor, Oracle,
327         Chromatic Dragon, others) gave "The the <monster corpse> tastes ..."
328 when escaping the dungeon, change "you were here" annotation in dungeon
329         overview to "you left from here"
330 option parsing will crash if 'playmode' option is present without a value
331 any item drained of enchantment was blamed on the player as far as shop
332         billing was concerned, even if caused by disenchanter attack
333 if user supplied a specific monster name when asked to choose a monster class,
334         first prefix match was picked rather than best match ("titan" yielded
335         S_quadruped due to being preceded by "titanothere" in mons[])
336 change ing_suffix() to not double final 'w' when adding 'ing' ('t=' yielded
337         "You mime throwwing something.")
338 using 'D' to drop when not carrying anything finished (after doing nothing)
339         without giving any feedback for menustyles "full" and "partial"
340 "you hear a distant <musical note> squeak" might actually be nearby
341 differentiate symset and roguesymset option menu prompts
342 don't show monster vs. monster attack message, if the message refers to
343         a monster that cannot be sensed by the hero
344 umber hulk gazing at hidden mimic forces mimic to unhide
345 show some timed hero properties in wizard-mode #timeout
346 give quest guardians some equipment
347 hero polyed into ghoul can only eat non-veggy corpses or eggs
348 kicking activates statue traps
349 pets start with apport equal to your charisma
350 sometimes generate the random mazes with wide corridors, thick walls,
351         or with dead ends changed to loops
352 put throne room gold in the chest
353 wielding Trollsbane prevents trolls from reviving
354 wielding Demonbane prevents demons summoning friends
355 wielding Dragonbane confers reflection
356 wielding Ogresmasher grants 25 constitution
357 Elbereth must now be on a square by itself to function
358 Elbereth now erodes based on attacks by the player, not monsters scared
359 novels are made of paper, not gold
360 movement speeds are made less predictable by using random rounding, rather
361         than via adding a random offset
362 some death by the-poison-was-deadly situations left stale non-zero HP shown
363         on the status line during final disclosure
364 when sitting at a trap spot: You sit down. You step on a level teleporter.
365         (likewise for polymorph trap, and similar issue for web)
366 show all statusline information in #attributes
367 add option status_updates to prevent bottom of screen status line updates
368 fix achievement recording bug with mines and sokoban prizes
369 g.cubes would eat globs of green slime without harm; engulf those instead
370 fix up true rumor about rock moles vs boots
373 Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository
374 ------------------------------------------------------------------
375 fix "object lost" panic during pickup caused by sortloot revamp
376 more sortloot revisions
377 fix inventory menu for response of '?' to getobj (more sortloot revamp fallout)
378 rings covered by non-cursed gloves not listed as 'R' candidates
379 in baalz_fixup, move any monster away from the two fake pool spots
380 switching farlook from xname to doname was giving away information for items
381         located via object detection (quantity of detected gold)
382 changing doname to use "some" instead of precise quantity when an item's
383         dknown flag is not set could result in blind hero getting
384         "There is a some jackal corpses here.  Eat one?" and
385         "You can only lift some of the some jackal corpses.  Continue?"
386 catch up win/Qt/qt_win.cpp on 18-Dec-2015 change to formatkiller()
387 fix for long lines in config file (28-Jan-2016) made 'O' command's 'list' and
388         'remove' menu choices in interactive handling for menu colorings,
389         message types, and autopickup exceptions subject to buffer overflow
390 when picking a destination for #jump, '$' to show valid dest. is more accurate
391 enchant armor gave "your pair of boots/gloves glow", should have been "glows"
392 when autopickup is overridden in a shop, always-pick-up exceptions and
393         pickup_thrown still picked unpaid items up
394 the fix for giving an alternate grow up message when a monster becomes a new
395         form with the opposite sex (female gnome into male gnome lord, for
396         example) had the logic wrong
397 DUMPLOG: genocided and extinct species was always a blank line;
398         vanquished creatures was just a blank line if nothing had been killed
399 DUMPLOG: RIP tombstone was printed for characters who survived (ascended,
400         escaped dungeon, quit, trickery or panic)
401 artifact creation violated illiterate conduct when artifact name was assigned,
402         behavior intended only for creating Sting or Orcrist via naming
405 Platform- and/or Interface-Specific Fixes
406 -----------------------------------------
407 tiles: wrinkled spellbook had a spurious brown pixel on far right edge of tile
408 tiles: when statues are displayed as corresponding monsters, total_tiles_used
409         in generated src/tile.c had incorrect value
410 tty: M-N gave "Unknown command 'M-" with "'." finishing the sentence on the
411         line below it, leaving bogus '.' displayed on the top row of the map
412 tty: specifying all four of role, race, gender, and alignment still prompted
413         for confirmation with "Is this ok?" before starting play
414 tty: responding with <return> or <enter> during role, race, &c selection
415         behaved same as <escape> to quit; now it will pick [random] instead
416 tty: rename struct variable 'filter' (role.c) and function 'winch()' (wintty.c)
417         to avoid conflicts with <curses.h>
418 tty: skip selector letter and selection indicator (-,+,#) during menu coloring
419 tty: '>' no longer closes a menu window
420 tty: if color is disabled and use_inverse is enabled, display lava in inverse
421         video so that it is visually distinguishable from water
422 tty: if "--More--" was written to leftmost column (beginning of second line)
423         while hero was swallowed, cursor would end up in wrong place (at end
424         of status line instead back on map) after message line was cleared
425 tty: long message lines which wrap when shown on the top line might be
426         re-displayed incorrectly by ^P for msg_window={full,combo,reverse}
427 unix/X11: in top level Makefile, some commented out definitions of VARDATND
428         misspelled pilemark.xbm (as pilemark.xpm)
429 unix: options file with CR+LF line ends and an invalid option line resulted in
430         "ad option line: "whatever-the-line-was
431         because embedded carriage return character changed cursor's position
432 unix: race condition with parallel make: src/Makefile might start building
433         makedefs before finishing monst.o and objects.o; if so, util/Makefile
434         can build them too, and they might be clobbered by simultaneous write
435 unix: Makefile.{src,utl} ignored CPPFLAGS which is expanded by the default .c
436         rule by GNU make so if user had a value for that in the environment,
437         it would apply to some files but not others; explicitly override it
438 win32gui: getversionstring() was overflowing the provided Help About buffer
439 win32gui: guard against buffer overflow in in mswin_getlin()
440 win32gui: handle menu_color attribute
441 MacOSX: initial binary release was built from out of date source code that
442         had 'BETA' and 'DEBUG' inappropriately enabled
443 MacOSX: force TIMED_DELAY build option on so that 'runmode' run-time option
444         is functional
445 Qt: could issue impossible "Destroy called before we know if Menu or Text"
446         followed by crash caused by deferencing a Null pointer if player quit
447         immediately after creating character and declined to disclose anything
448 X11: core bug for '`' (backtick) and #terrain commands was only noticed by
449         X11 interface: impossible "add_menu: called before start_menu"
450 X11: enable a scroll bar in menu windows
451 X11: support pre-selected entries in menu windows
452 X11: make the extended command menu be easier to use and look a little nicer
453 X11: make the getline text entry widget display a bigger text entry area
454 X11: color didn't work when the map was displayed as text rather than tiles
455 X11: use grayscale monster tiles for statues
456 X11/USE_XPM: [post-3.6.0 issue] the 'tiles' bug of incorrect total_tiles_used
457         for STATUES_LOOK_LIKE_MONSTERS broke XPM manipulation of tiles data
460 General New Features
461 --------------------
462 naming Sting or Orcrist now breaks illiterate conduct
463 different feedback for reading a scroll of mail created by writing with marker
464 reading non-cursed scroll of enchant weapon uncurses welded tin opener
465 if hero has no jumping ability but knows the jumping spell, the #jump command
466         will attempt to cast the spell
467 allow moving cursor to monsters with 'm' (nearest first) and 'M' (furthest
468         first) when asked for map location, or to objects with 'o' and 'O'
469 allow picking a used inventory letter from menu when #adjusting
470 zapping wand of opening at yourself, unlock carried boxes
471 dissolve iron bars by force-fighting with wielded potion of acid
472 poison breath leaves a trail of poison gas
473 allow knife and stiletto as possible tin opening tools
474 wizard mode #wizintrinsic command
475 additional tribute passages for The Colour of Magic, The Light Fantastic,
476         Equal Rites, Mort, Sourcery, Wyrd Sisters, Pyramids, Guards! Guards!,
477         Eric, Moving Pictures, Reaper Man, Witches Abroad, Snuff,
478         Raising Steam, and The Shepherd's Crown
479 compile-time options SIMPLE_MAIL and SERVER_ADMIN_MSG for public server use
480 database entries for Cleaver, Sunsword, Frost and Fire brands, and
481         polymorph trap
482 allow showing coordinates when picking a position on the map and
483         autodescribe option is on
484 new status line conditions Stone Strngl Deaf Lev Fly Ride
485 allow some extra color name aliases for menucolors and status hilites
486 add extended command #kick
487 when choosing an inventory item and '-' for bare-hands/fingers/no-ammo is a
488         choice, include that in the inventory menu if player types '?' or '*'
489 feedback from probing of long worm now includes number of segments it has
490 monk starts with 'shuriken' pre-discovered (despite language issue...)
491 item-using monster on or next to a fire trap can use it to be cured of
492         turning into slime
493 wizard mode ^G can now specify "sleeping", "male" or "female" when
494         creating a monster
495 REPRODUCIBLE_BUILD is new config.h setting to fetch build date+time from
496         environment instead of using current date+time, so that later rebuild
497         could duplicate the original (disabled by default; tested for Unix)
498 default value for vibrating square symbol changed from yellow '^' to purple '~'
499 allow symbol set values to be specified via char within single quotes
500 add symbols set "plain", same as default except it uses '+' for corner walls
501 extend wizard-mode '#stats' command
502 'Q' to ready an item for quick-throwing ('f') now allows the wielded weapon to
503         be moved to quiver; if quantity is more than 1, it offers to split the
504         stack and leave 1 wielded, otherwise it requires confirmation
505 'Q' will accept an item count to manually split a stack as part of it being
506         quivered, provided the stack isn't already in the quiver slot
507 during end of game disclosure, the vanquished monsters list can be sorted in
508         one of several ways by answering 'a' to "disclose vanquished monsters?"
509 when #terrain is displaying a censored version of the map (no monsters, &c),
510         moving the cursor will display farlook's brief autodescribe feedback
511 when monster/object/trap detection temporarily clears the map to highlight the
512         results of such detection, farlook autodescibe can be used to view it
513 interrupt a multi turn action if hp or pw is restored to maximum
514 pressing d or D when cursor positioning targets doors and doorways
515 pressing x or X when cursor positioning targets possibly unexplored location
516         (potentially useful when using '_' [not mouse] to invoke travel)
517 swallowers can't re-engulf hero immediately after spitting him/her out
518 werejackals can summon foxes and coyotes; werewolves can summon wargs
519 allow taming monkeys and apes with bananas
520 GENERICUSERS is now a sysconf statement instead of compile-time option
521 fountains are bright blue
522 ray bounceback chance depends on the wall type
523 undead #turning takes less time at higher experience level
524 peacefuls may react when you attack other peacefuls
525 prevent diagonal jumping through open doorways
526 different liquids when hallucinating
527 when moving a cursor for travel target, show if there is no known travel
528         path to that location, if "autodescribe" is on
529 show the reason why travel was interrupted if mention_walls is on
530 random horses have a tiny chance of being generated saddled
531 give feedback just before timed levitation runs out
532 travel accepts 'm' (request menu) prefix
533 pressing a or A when cursor positioning shows menu of "interesting" features
534 wizard-mode command #wizmakemap to recreate the current level
537 Platform- and/or Interface-Specific New Features
538 ------------------------------------------------
539 tty: menu_overlay -option to clear screen and align menus to left
540 tty: compile-time option to output escape codes for tile data hints
541 unix: compile-time option MSGHANDLER to pass messages to external program
542 unix: add CHECK_PLNAME-option to sysconf to make WIZARDS, EXPLORERS, and
543         SHELLERS check player's character name instead of login name
544 X11: new NetHack*highlight_prompt resource to control whether the persistent
545         prompt line between the map and message windows for the NetHack*slow
546         configuration will be highlighted when it's expecting input
547 X11: NetHack*extcmd_height_delta resource can be used to adjust initial size
548         of the extended commands menu
549 X11: status display split into three columns to accomodate Stone/Deaf/Lev/&c;
550         NetHack*status_condition.foreground, .background, and .showGrip
551         resources replaced by status_condition[1-3].*
552 X11: more terminal-like default resources
553 win32gui: save and load map colors from registry
556 NetHack Community Patches (or Variation) Included
557 -------------------------------------------------
558 Malcolm Ryan's improved tin opener
559 Ray Chason's keyboard may stop responding after locking or unlocking a door
560         when using altkeyhandler=nhraykey.dll
561 Ray Chason's fix: window interfaces that support transparency may give away
562         unseen parts of the map
563 Ray Chason's xprname should honor iflags.menu_tab_sep
564 Ray Chason's punctuation for "That foo is really a mimic."
565 Ray Chason's proper background tiles for lava and water
566 Ray Chason's MS-DOS port restored to functionality with credit to Reddit user 
567         b_helyer for the fix to sys/share/pcmain.c
568 Ray Chason's MSDOS port support for some VESA modes
569 Darshan Shaligram's pet ranged attack
570 Jason Dorje Short's key rebinding
571 Maxime Bacoux's new dumplog
574 Code Cleanup and Reorganization
575 -------------------------------
576 removed some unused variables and dead code
577 the level generator no longer uses the native pRNG