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
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 falling asleep when reading dull spellbook ignored sleep resistance
33 getpos() complaint about invalid movement keystroke didn't describe meta-chars
35 'realtime' value in xlogfile was incorrect if 'checkpoint' option was active
36 make a previously-discovered scroll written with marker while blind have its
37 label known so it can be read while blind
38 #name or C for discoveries list that spanned multiple pages would exit on
39 space instead of advancing to next page (workaround: use '>' instead)
40 don't show the old level when you die going down the stairs because of an
42 new high score with ", while helpless" attribute appended would erroneously
43 result in ", while helpless" being appended to all scores
44 allow bright aliases for colors in menucolors
45 avoid hearing yelps when you are deaf
46 make corpse visible if stethoscope told you about it being there
47 sceptre of might database entry word change
48 avoid "spellbook of novel" on discoveries list after object ID of novel
49 add novel to discoveries list after reading one
50 putting gold into hero-owned container on shop floor gave free credit
51 stack splitting for dipping large quantities of potions was done poorly
52 dipping fruit juice into enlightenment gave different result than the inverse
53 make travel walk up to a trap and stop when the trap blocks the only
54 way forward, instead of trying to go straight line
55 travel will displace pets rather than stop
56 do not autopickup unpaid items in shops
57 death due an unseen gas spore's explosion resulted in "killed by a died"
58 allow optional parameter "true", "yes", "false", or "no" for boolean options
59 actually make the castle chest not trapped
60 level-drain resistance wasn't shown during enlightenment if it was conferred
61 by worn/wielded equipment or by lycanthropy
62 wizard mode enlightenment now shows more reasons for various intrinsics
63 rehumanizing after being poly'd into vampire left hero with ability to sense
65 Warn_of_mon wouldn't have been able to sense giant ants if any creature were
66 to have that ability, caused by using 0 instead of NON_PM for 'none'
67 tone down energy vortex's drain energy attack
68 fix message typo if tame mind flayer dies trying to eat Medusa's brains
69 use alternate rejection message if attempting to name an unnameable monster
70 with the name it already has
71 cockatrice corpse no longer leaves multiple statues for shape-shifted vampire
72 alter name of monster causing hero's death if name contains characters that
73 could cause confusion when using record, logfile, or xlogfile later
74 teleporting or polymorphing a sink via ring drop shouldn't depend upon being
76 change "unlockable chest" to "broken chest" so that it won't be misunderstood
77 ("capable of being unlocked" vs intended "not capable of being locked")
78 use doname instead of xname when using '/' or ';' to look at objects on map
79 when a pet moves reluctantly, name the top item of the pile it is reluctant
80 to step on if the hero sees or remembers any object(s) at that spot
81 ensure sufficient messages are given to clarify the transition from detected
82 vampire bats to fog clouds in Vlad's tower
83 fix "killing by kicking something weird" when kicking an object causes death
84 guard macros available for mextra fields similar to those for oextra fields
85 compile-time option for an alternate paniclog format for public server use
86 make monsters forget where they stepped when fleeing or teleporting
87 requiver pickup_thrown objects if quiver is empty
88 make mimics mimicing walls or trees also block light
89 stepping onto lava destroyed non-fireproof water walking boots but left other
90 vulnerable boot types intact
91 damage and death reasons when eating globs referred to them as corpses
92 fix death reason when petrified (avoid redundant 'while getting stoned')
93 use appropriate place name for drum of earthquake shakes
94 fix unmapped branch stairs on sokoban level
95 redraw map when hilite_pile is toggled to display the highlighting
96 make commands that accept a count prefix for item selection
97 show "Count:" like command repeating does
98 make vault guard accept names starting with number
99 fix weight of containers in special levels
100 make the raven medusa level shortsighted
101 fix possible segfault in lev_comp when map was too tall
102 fix "the ice is bridged with ice" when freezing castle's moat or Medusa's sea
103 make monsters and pets avoid poison gas clouds if it would damage them
104 covetous monsters may choose to teleport to downstairs or ladders
105 doppelganger posing as Rider would never change shape
106 since doppelganger posing as Rider could never revert to innate form,
107 protection from shape changers turned it into genuine Rider
108 don't create globs of ooze/slime/pudding with bknown flag set so pre-known to
110 do allow globs with same curse/bless state to merge even when that state is
111 known for one and unknown for the other; result will have bknown clear
112 make glob merging on floor behave the same as glob merging in inventory
113 track age of merged globs
114 support globs for edibility temporary intrinsic
115 restore ability to gain intrinsics from black puddings (pass globs to cpostfx)
116 eating tainted black pudding (glob in 3.6.0, corpse in 3.4.x and 3.3.x)
117 referred to it as "meat" (because it's not vegetarian food)
118 fix pile mark after killing a monster carrying a potion which is destroyed
119 don't list suit as likely candidate for Take-off if cloak blocks it
120 only list known blank scrolls and known blank spellbooks as likely candidates
121 when choosing an item to write on for applied magic marker
122 make status hilites use same color names as menucolors
123 limit monster spell aggravate monsters to either outside or inside of the
125 prevent revived unique from inheriting a user-defined name
126 make hurtling out of water bubble on the Plane of Water handle entering water
127 fix floor descriptions on the Planes when levitating
128 fix warning glyph description when monster symbol coincided the warning symbol
129 allow the same color names for status hilites and menucolors
130 override MSGTYPE=norep while executing the ':' command
131 if a chameleon took vampire form, it would stop periodically changing shape
132 corpses obtained from tipping an ice box wouldn't rot away
133 suppress "you climb up the stairs" message if verbose option is off
134 physical damage from mind flayer attack was being inflicted twice
135 adjust pending movement points when polymorphing into a slower creature
136 damage inflicted by burning glob of green slime gave wrong messages
137 monsters fleeing up the upstairs on level 1 were supposed to escape the
138 dungeon but ended up arriving on Plane of Earth
139 monster hitting fire-dealing monster with weapon triggered passive damage to
140 weapon every time, when hero doing so only had 1/6 chance per hit
141 hitting steam vortex with flammable weapon would damage the weapon with fire
142 if a non-cursed spellbook being read becomes cursed and hero recognizes that
143 (bknown is set), interrupt reading
144 if a non-cursed spellbook being read becomes cursed and hero doesn't notice,
145 don't leave it flagged as in-use (hence to be deleted during the
146 next save/restore cycle) if contact-poison cursed book effect occurs
147 stolen_value, used when breaking shop items from outside the shop among other
148 times, could describe the shopkeeper as "it" when not seen
149 when two or more shopkeepers were visible at once, 'p' command could be used
150 to probe map for locations of other shopkeepers and arbitrary monsters
151 vortexes and other unsolid monsters need not avoid webs
152 barbarian and samurai can achieve basic in their special spell's skill
153 scalpel and tsurugi can now split puddings; bashing with darts or arrows can't
154 jumping while punished could leave ball and chain in the wrong place
155 improve Deaf message handling for the minetown watch and shops
156 issues with Warning when you're adjacent to an undetected hider; clearly you
157 are aware a monster is present so this causes you to search it out
158 allow lookup of names like Hachi when selecting monsters from the map
159 lookup "More Info?" prompt will now tell you what it will look for on 'y'
160 using 'R' on armor would bypass some restrictions imposed by 'T' (inner layer
161 could be taken off from under outer layer, embedded scales could be
162 attempted but triggered "select_off" impossible)
163 when examining hidden monsters (probing, persistent monster detection), tell
164 how they're hidden (under an object, on the ceiling, etc)
165 some quest text corrections
166 use a much tighter upper bound when summoning nasties; old method could
167 theoretically create 200 critters at a time
168 if a long worm inherited inventory from a previous shape, and if an egg or
169 figurine in that inventory hatched or auto-activated, messages were
170 given when hero could see any tail segment even if head was unseen,
171 making it seem as if worm's inventory was kept in the visible segment
172 Wizard will now steal any quest artifact from hero, not just own role's
173 prevent a hostile renegade Angel of <lawful god> from delivering taunt
174 messages which mention threats of retribution from that god
175 a few types of monster (barrow wight, Nazgul, erinys) have weapon attacks that
176 don't deal physical damage, so special damage like stoning via wielded
177 cockatrice corpse wouldn't be inflicted
178 non-item-using monsters who happened to be carrying scroll or wand of fire or
179 a fire horn could use it to cure themselves of being turned into slime
180 when looting multiple containers, add 'n' for "loot next container", change
181 'q' and ESC from "done with this container" to "done looting"
182 change looting to choose ":iobrs nq" action from a menu for menustyle:Partial
183 wand/spell/breath zaps that reached the edge of the level on the Plane of Air
184 and "vanished into the aether" left temporary display effects on screen
185 stop amulets and other items which aren't affected by erosion damage from
186 being subjected to erosion damage
187 grammar bit: polyself w/ gender change yielded "you turn into a Elvenking"
188 some blindness cures ignored u.ucreamed
189 some instances of stun or confusion timers were being overridden rather than
190 incremented when new stun or confusion damage was suffered
191 female gnome who gains level can grow up into male-only gnome lord; give an
192 an alternate message instead of prohibiting the promotion
193 kicked weapon which successfully hits monster vanishes from play
194 unseen landmine explosion could result in "The <monst-type> statue crumbles."
195 when using the 'O' command for regexp options (autopickup exceptions,
196 menucolors, message types), provide opportunity to add more than one
197 at a time [after 'add', return to add/list/remove menu]
198 commands invoked by uppercase meta characters: M-A, M-C, M-N, M-O, M-R, M-T
199 were missing from '? c' list of game commands (dat/hh)
200 tweak Baalzebub's lair and clean up the map display for it
201 symbol set definitions didn't recognize S_darkroom and S_vibrating_square
202 wizard mode enlightenment was reporting "very fast innately" (which is not
203 possible) for very fast hero who was innately fast
204 when attacking a monster with a rust or corrosion or acid passive
205 counter-attack, grease wasn't protecting the attacker's weapon
206 the Bell of Opening now correctly reports when it opens a trapdoor/hole
207 knocking can no longer send a monster through a trapdoor/hole and desaddle it
208 game no longer gets confused when you break an unpaid shop item while inside
210 shopkeepers now correctly handle nested containers and gold in containers
211 for menustyle traditional, 'D' followed by (B|U|C|X)&m presented a menu of
212 everything, not just invent subset matching specified BUCX categories
213 for menustyles traditional or combination, 'A' (or object ID) followed by i
214 displayed an inventory of everything rather than just worn items (or
215 not fully identified items)
216 exploding chest trap would destroy uchain while still worn if uball carried
217 if monster shapechange message "<foo> turns into <bar>!" was given, <bar>
218 could be "it" (if <foo> sensed telepathically and <bar> is mindless)
219 automatic annotation for Ft.Ludios level got applied when a drawbridge became
220 mapped, but entry there is a secret door rather than a drawbridge
221 sortloot changed to group holy water and unholy water with water instead of
222 placing them among the h- and u-named items
224 post-3.6.0: fix "object lost" panic during pickup caused by sortloot revamp
225 post-3.6.0: more sortloot revisions
226 post-3.6.0: fix inventory menu for response of '?' to getobj (more sortloot
228 post-3.6.0: rings covered by non-cursed gloves not listed as 'R' candidates
231 Platform- and/or Interface-Specific Fixes
232 -----------------------------------------
233 tty: M-N gave "Unknown command 'M-" with "'." finishing the sentence on the
234 line below it, leaving bogus '.' displayed on the top row of the map
235 tty: specifying all four of role, race, gender, and alignment still prompted
236 for confirmation with "Is this ok?" before starting play
237 tty: responding with <return> or <enter> during role, race, &c selection
238 behaved same as <escape> to quit; now it will pick [random] instead
239 tty: rename struct variable 'filter' (role.c) and function 'winch()' (wintty.c)
240 to avoid conflicts with <curses.h>
241 tty: skip selector letter and selection indicator (-,+,#) during menu coloring
242 tty: '>' no longer closes a menu window
243 unix/X11: in top level Makefile, some commented out definitions of VARDATND
244 misspelled pilemark.xbm (as pilemark.xpm)
245 unix: options file with CR+LF line ends and an invalid option line resulted in
246 "ad option line: "whatever-the-line-was
247 because embedded carriage return character changed cursor's position
248 unix: race condition with parallel make: src/Makefile might start building
249 makedefs before finishing monst.o and objects.o; if so, util/Makefile
250 can build them too, and they might be clobbered by simultaneous write
251 unix: Makefile.{src,utl} ignored CPPFLAGS which is expanded by the default .c
252 rule by GNU make so if user had a value for that in the environment,
253 it would apply to some files but not others; explicitly override it
254 win32gui: getversionstring() was overflowing the provided Help About buffer
255 win32gui: guard against buffer overflow in in mswin_getlin()
256 win32gui: handle menu_color attribute
257 MacOSX: initial binary release was built from out of date source code that
258 had 'BETA' and 'DEBUG' inappropriately enabled
259 MacOSX: force TIMED_DELAY build option on so that 'runmode' run-time option
261 X11: core bug for '`' (backtick) and #terrain commands was only noticed by
262 X11 interface: impossible "add_menu: called before start_menu"
263 X11: enable a scroll bar in menu windows
264 X11: support pre-selected entries in menu windows
265 X11: make the extended command menu be easier to use and look a little nicer
266 X11: make the getline text entry widget display a bigger text entry area
267 X11: color didn't work when the map was displayed as text rather than tiles
272 naming Sting or Orcrist now breaks illiterate conduct
273 different feedback for reading a scroll of mail created by writing with marker
274 reading non-cursed scroll of enchant weapon uncurses welded tin opener
275 if hero has no jumping ability but knows the jumping spell, the #jump command
276 will attempt to cast the spell
277 allow moving cursor to monsters with 'm' (nearest first) and 'M' (furthest
278 first) when asked for map location, or to objects with 'o' and 'O'
279 allow picking a used inventory letter from menu when #adjusting
280 zapping wand of opening at yourself, unlock carried boxes
281 dissolve iron bars by force-fighting with wielded potion of acid
282 poison breath leaves a trail of poison gas
283 allow knife and stiletto as possible tin opening tools
284 wizard mode #wizintrinsic command
285 additional tribute passages for The Colour of Magic, The Light Fantastic,
286 Equal Rites, Mort, Sourcery, Wyrd Sisters, Pyramids, Guards! Guards!,
287 Eric, Moving Pictures, Reaper Man, Witches Abroad, Snuff, and
289 compile-time options SIMPLE_MAIL and SERVER_ADMIN_MSG for public server use
290 database entries for Cleaver, Sunsword, Frost and Fire brands, and
292 allow showing coordinates when picking a position on the map and
293 autodescribe option is on
294 new status line conditions Stone Strngl Deaf Lev Fly Ride
295 allow some extra color name aliases for menucolors and status hilites
296 add extended command #kick
297 when choosing an inventory item and '-' for bare-hands/fingers/no-ammo is a
298 choice, include that in the inventory menu if player types '?' or '*'
299 feedback from probing of long worm now includes number of segments it has
300 monk starts with 'shuriken' pre-discovered (despite language issue...)
301 item-using monster on or next to a fire trap can use it to be cured of
303 wizard mode ^G can now specify "male" or "female" when creating a monster
304 REPRODUCIBLE_BUILD is new config.h setting to fetch build date+time from
305 environment instead of using current date+time, so that later rebuild
306 could duplicate the original (disabled by default; tested for Unix)
307 default value for vibrating square symbol changed from yellow '^' to purple '~'
308 allow symbol set values to be specified via char within single quotes
309 add symbols set "plain", same as default except it uses '+' for corner walls
310 extend wizard-mode '#stats' command
313 Platform- and/or Interface-Specific New Features
314 ------------------------------------------------
315 tty: menu_overlay -option to clear screen and align menus to left
316 tty: compile-time option to output escape codes for tile data hints
317 unix: compile-time option MSGHANDLER to pass messages to external program
318 unix: add CHECK_PLNAME-option to sysconf to make WIZARDS, EXPLORERS, and
319 SHELLERS check player's character name instead of login name
320 X11: new NetHack*highlight_prompt resource to control whether the persistent
321 prompt line between the map and message windows for the NetHack*slow
322 configuration will be highlighted when it's expecting input
323 X11: NetHack*extcmd_height_delta resource can be used to adjust initial size
324 of the extended commands menu
325 X11: status display split into three columns to accomodate Stone/Deaf/Lev/&c;
326 NetHack*status_condition.foreground, .background, and .showGrip
327 resources replaced by status_condition[1-3].*
330 NetHack Community Patches (or Variation) Included
331 -------------------------------------------------
332 Malcolm Ryan's improved tin opener
333 Ray Chason's keyboard may stop responding after locking or unlocking a door when
334 using altkeyhandler=nhraykey.dll
335 Ray Chason's fix: window interfaces that support transparency may give away unseen
337 Ray Chason's xprname should honor iflags.menu_tab_sep
338 Ray Chason's punctuation for "That foo is really a mimic."
339 Ray Chason's proper background tiles for lava and water
340 Ray Chason's MS-DOS port restored to functionality with credit to Reddit user
341 b_helyer for the fix to sys/share/pcmain.c
342 Ray Chason's MSDOS port support for some VESA modes
345 Code Cleanup and Reorganization
346 -------------------------------
347 removed some unused variables and dead code
348 the level generator no longer uses the native pRNG