'whatdoes' command and new file: dat/keyhelp
[aNetHack.git] / doc / fixes33.0
blob119de07bb1f32e7ff2e9dfeb83e0e470fef952ee
1 General Fixes and Modified Features
2 -----------------------------------
3 objects falling down a level don't cause everything at destination to scatter
4 randomize visible trap glyphs during hallucination
5 don't match statue entry when looking up statue trap [after trap detection]
6 do match statue entry when looking up "statue of a <foo>" when foo happens
7         to precede statue in the database; likewise for figurines
8 initialize random number generator before processing user configuration file
9         (random role selection always selected tourist)
10 support "character:X" and "role:X" in NETHACKOPTIONS as well as in config file
11 allow colon as an alternative to equals sign for `OPTIONS:whatever' and
12         equals sign as an alternative to colon for `pickup_types=?!="$'
13 make rndexp (blessed gain level) be safe for 16 bit integer configurations
14 don't add player's weapon proficiency bonus for weapon attacks by monsters
15 create quest artifact crystal balls with 5 charges instead of 0
16 store ghost names in the same manner as other monster names (fix pet bug)
17 boost kobold shaman level to 2 (was 1, too low to ever cast a spell)
18 boost ogre king level to 9 (was 7, same as ogre lord)
19 throwing quest artifact to quest leader won't cause anger; also, artifact
20         will be caught and thrown back instead of being explicitly ignored
21 boost level of fake players in endgame to match their rank titles
22 don't lose odd hit points (integer division truncation) when splitting HP
23         for cloned monsters
24 update status line when cloning yourself halves your hit points
25 suppress clone's initial inventory for poly'd player just as for monsters
26 update the documention describing the O command
27 polyself: immediately update vision when reverting to human from eyeless form
28 use right pronoun when a mind flayer's attack is blocked by a monster's helmet
29 tins of lizard meat are never rotten, just like the corresponding corpses
30 tattered capes should not match ape entry in database
31 booze should not match ooze entry in database
32 lowered drawbridge should not match werecritter entry
33 lengthen option file line length to 4*BUFSZ
34 make zaps of death at polymorphed players work properly
35 change way invisibility works, add remembered invis monsters and 'F' command
36 don't list pick-axe and unicorn horn as likely candidates for charging
37 give more accurate message when nymph steals multi-turn armor from female char
38 fix splitting merged group of wielded weapons for menu mode version of #loot
39 if a buried container rots away, bury rather than destroy any contents
40 the 'W'ear command now only shows armor you can actually wear at this instant,
41         instead of all armor you're not currently wearing
42 wishing for a genocided monster egg gets a dead egg, not a generic egg
43 "Unfortunately it is still genocided" printed only if monster is in range
44         (particularly important for lifesaved monster genocided off-level).
45 message for monster growing into genocided monster only printed if in range
46 include number of attached candles when formatting candelabrum's name
47 support attaching already lit candles to candelabrum
48 range of candlelight varies with number of candles
49 dropping ring of hunger onto sink won't falsely claim that undestroyed objects
50         like the Amulet have vanished
51 winged gargoyle can't wear body armor
52 self probing and stethoscope display speed with same detail as enlightenment
53 throwing attacks can trigger reprisals similar to hand-to-hand and zap attacks
54 'A' now works in dropping like when picking up
55 make setting bear traps and land mines be a multi-turn occupation
56 make lava be properly lit on special levels
57 add orig.female flag to handle E quest monster situation
58 clean up inconsistent quest text
59 in initial legacy message, use "goddess" when appropriate
60 allow FIRSTNEMESIS message to actually be printed
61 taking a peaceful monster's weapon with applied bullwhip will anger victim
62 applying an unpaid magic lamp will charge a low lighting fee instead of the
63         djinni release fee
64 teleporting a Rider will usually bring it near you instead of sending it away
65 Riders can open locked doors without a key, just like the Wizard
66 Riders, angels, and elves won't avoid stepping on Elbereth/scare monster when
67         deciding where to walk
68 Riders and angels will ignore the sanctuary effect of temples
69 mind flayers cannot suck out brains by hitting long worm tails
70 don't ignore object age when #offering a partially eaten corpse
71 inability to pick up is not as general as nolimbs (blobs may pick up with
72         pseudopods and purple worms by swallowing)
73 wishing for a magic lamp produces an oil lamp, not a no-charges, possibly lit,
74         magic lamp
75 blobs may not ooze under doors if their inventory can't be squeezed through
76 peaceful/tame monsters will not use bullwhips on the player
77 ghosts were not inheriting player gender in bones files
78 cannot wish for tins of untinnable (due to insubstantiality) monsters
79 flying monsters cannot fall down stairs
80 prevent divine retribution from destroying a wand which is being broken
81 fix resuming to read a spellbook which has become blank since the prior read
82         attempt got interrupted
83 make recharging cancelled wands behave like recharging other cancelled objects
84 prevent "late" pline calls from triggering a crash when the RIP window was
85         displayed at end of game (observed when bones file rename failure
86         under Win95 was reported to wizard mode users)
87 cannot shatter soft weapons (whips, rubber hoses)
88 being punished on the Plane of Water doesn't trigger a panic when air bubbles
89         try to move the ball&chain or you around
90 seen-invisible monsters are consistently visible but transparent, rather
91         than looking like normal monsters
92 kicked object message for hitting another object no longer claims it "stops"
93 kicked object hits objects (plural) if quan>1 but there is nothing else there
94 kicking an object which is embedded in a closed door behaves like one in rock
95 can't kick object out of a known pit, but could when pit hadn't been seen yet
96 pets, shopkeepers, unique monsters, trolls, and Riders retain
97         their characteristics when killed and brought back to life
98 being polymorphed into a black light makes you hallucination resistant
99 don't attempt to perform panic save if the game is already over
100 don't leave old game's timers, light sources, and shop data in place if
101         aborted restore attempt reverts to starting new game [eventual panic]
102 Magicbane carried by mplayers has a lower enchantment than other artifacts
103 if pets take longer to untame than to starve, make them go wild anyway
104 split up erosion to allow both rust and acid (or fire and rot)
105 rust/fire/corrosion/rot now work in all cases (monster/monster, monster/you)
106 upon arrival to quest, mark return portal as seen
107 can't be blinded by light while asleep
108 can't put boulders or big statues into containers
109 engulfers which engulf a pile engulf 'several objects'
110 polyself: use right set of hit points for hunger and strength loss
111 polyself: likewise when checking for troubles during prayer
112 polyself: stop mimicking gold immediately if shape change occurs
113 polyself: change monster type when sex change occurs for succubus or incubus
114 Y2K fix: use 4 digit year values for the dates in the score file
115 when changing levels, update the screen to show the new level sooner
116 when changing levels, a monster might displace you from the stairs upon arrival
117 petrify polymorphed player who has protected hands but is using a non-hand
118         attack on a cockatrice
119 fix bug where barehanded AT_WEAP by polymorphed player on cockatrice worked
120 prevent multiple purchases of clairvoyance at temple from overflowing the
121         intrinsic's timed subfield and becoming permanent
122 when cursed, greased or oilskin cloak might fail to protect against grabbing
123 when any corpse wielded by a monster rots away, unwield it to avoid "bad
124         monster weapon restore"
125 hallucination affects priest and minion names
126 don't try to make the word "aklys" singular
127 bullwhip can't yank welded weapon from target
128 eroded T-shirts now display the eroded shirt text consistently
129 fix "killed by kicking something weird" when kicking a fountain
130 disallow fruit names whose prefixes are valid for food (uncursed, numbers, etc.)
131 properly handle wishing for fruits which start with other prefixes
132 avoid rn2(0) divide by 0 for empty inventory when trying to crawl out of water
133 don't let randomly placed monsters on special levels prevent explicitly
134         placed monsters who target that location from being created (a web
135         trap's spider resulted in no quest nemesis)
136 don't let randomly placed stairs on special levels be covered by explicitly
137         placed features such as fountains
138 substitute random monsters when special level monsters have been genocided
139 fix intrinsic blockage by worn items so that wielding a mummy wrapping or
140         cornuthaum won't have the same special effect as wearing one
141 magic markers created via polymorphing tools are flagged as being recharged
142 unseen rust monster eating messages, and make tame rust monsters consistent
143         with wild ones with regard to rustproofed items
144 pager: guard against '%' in output from being treated as a printf formatting
145         directive (using '/' or ';' to look at food yields "% blah blah")
146 getpos: support shifted movement letters in number_pad as per help text
147 getpos: properly truncate diagonal movements at map edge
148 using #name to call an object type something could be used to distinguish
149         fake amulet of yendor (appeared in discoveries list) from real (didn't)
150 upon quest completion, leader now IDs quest artifact and also tells player
151         that Bell of Opening is necessary if character doesn't already have it
152 remove unwanted quote marks from quest message R 70
153 make polymorphed objects be likely to retain magic state: non-magic items
154         usually yield other non-magic items, magic items yield magic ones
155 make artifact mirrors unlikely to break when used to hit monsters
156 make sure that nemeses don't leave corpses if the message says there's no body
157 fix wizard-mode problem with generating Master of Thieves (was singularizing it)
158 allow weapon-using monsters who ignore gems to throw darts
159 make flint stones be the preferred ammo for sling wielding monsters
160 gaining/losing telepathy via polymorph (i.e. mind flayer) redisplays monsters
161 prayer result of ``escape from solid rock'' isn't inhibited by teleport
162         restrictions (attempting to fix all troubles got stuck in a loop)
163 fix surviving level teleport to a negative destination from somewhere other
164         than the main dungeon (was corrupting the level maps)
165 surviving level teleport to a negative destination ("you float down to earth")
166         escapes the dungeon instead of arriving on level 1
167 dying due to level teleport directly to heaven won't leave bones
168 kicking shades with blessed boots, punching with blessed gloves or when wearing
169         silver rings, does the appropriate damage to them
170 add artifacts to ending score and display
171 prevent used objects like scrolls and potions which immediately cause the
172         character's death from remaining in final inventory (disclosure+bones)
173 blessed genocide of '@' will list the player's role during genocide disclosure
174 moved skill definitions to their own file (skills.h) and embedded them in
175         the object table.
176 increased the maximum number of branches supported by dgn_comp.
177 increased the number of characters permitted in a role name.
178 the number of bits available for properties are expanded.
179 water demons should not chat about being freed.
180 since hallucinating players see monsters constantly change anyway, don't print
181         message when werecritter changes
182 artifacts which do fire/cold/electric damage to their targets can destroy
183         carried objects which are susceptible to that type of damage
184 some artifacts are now unaligned in order to be more accessible to all types
185         of characters
186 wizard mode ^F command reveals floor traps along with the map
187 pager: '/' was not finding data.base entries for shopkeepers, mimics, or
188         race/role spit when picking from the screen
189 small monsters like hobbits and gnome zombies couldn't wear cloaks/wraps
190 make sure non-erodable objects aren't eroded or erodeproof (could happen by
191         wishing or object polymorph)
192 consistently let iron non-weapons rust, etc.
193 handle more spelling variations ("boots of speed",&c) when granting wishes
194 fix 3.2.0 change which flags the castle and priest quest levels as graveyards
195 when stepping on a spot where "there are several objects here" (so many
196         objects that they aren't automatically shown to the user), report any
197         dungeon feature such as stairs just like when there are fewer objects
198 report "file empty?" rather than "version mismatch" when that's the reason
199         why a data file fails its validation check
200 to-hit bonuses don't accumulate for monsters with multiple weapon
201         attacks
202 skill definitions moved to skills.h
203 skills are stored in the objects[] table.
204 intrinsics and extrinsics are now >32 bit
205 number of roles no longer limited to 26 letters
206 renamed typename() to obj_typename()
207 add "You hear a nearby zap" when monster is close
208 fixed a bug that would print of "a Book of the Dead" instead of "The"
209 fixed a bug so there is no delay when a rolling boulder trap is
210         triggered completely out of sight
211 fixed emergency_disrobe() so it will drop gold
212 fixed a missing case that occurs (rarely) when praying during a
213         full moon and your god is very pleased
214 ask for confirmation before praying;  no more accidental Alt-P
215 more guilt messages when you do something which lowers alignment
216 mplayers get more suitable equipment for their role
217 allow spaces before <option-name>= in the options file
218 dragon scales/scale mail of all colors now work when worn by monsters (in
219         3.2.x, only gray conferred any special benefit)
220 when shopkeeper takes cash from dead player's corpse, clear `been robbed'
221         status if there's enough gold to cover the amount so that next
222         player who loads level as bones data won't start out owing money
223 merged scrolls of scare monster crumble to dust together, matching the
224         existing feedback (was destroying one and leaving the rest)
225 properly disallow wishing for venom and allow wishing for iron balls by class
226 drum of earthquake can't destroy the high altars
227 potion of oil can't be ignited while underwater
228 zapping a wand of digging upwards while underwater won't dislodge a rock
229         from the ceiling
230 add "born" field so monster extinction limits the number created, not killed
231 allow "okonomiyaki", etc. to pluralize properly (Ranma 1/2 is popular)
232 fix off-by-one bug that disabled the check to see if you tried to name your
233         fruit after a previously existing corpse or egg
234 avoid a "glorkum" message if an object conveying a warning is stolen before 
235         the warning message is delivered
236 flags.made_amulet flag was never being set
237 make sure proper message is given when tinning cockatrice while a flesh golem
238 fix punctuation on cancelled cobra's dry rattle message
239 leash cannot choke monsters that do not breathe
240 rothes are now brown, harder to confuse with much more powerful grey quadrupeds
241 defer level change for every schedule_goto() call, not just while monsters
242         are moving (player's move could cause an engulfer to expel character
243         onto a level changing trap, then attempt to access stale monster and
244         possibly trigger relmon panic or crash)
245 fix obscure worm bug which did not consider the tail tip to be visible.  Bug
246     produced "You miss it" on 3.2 and a blatantly obvious 'I' in prerelease 3.3.
247 water prayer: treat already blessed potions as `other' rather than as `water'
248 water prayer: potions being blessed glow light blue rather than amber;
249         hallucination affects the color seen when changed potions glow
250 fix Death/Sandman #9 joke (should be 8) and make sure the message can be seen
251 zapping Death with wand of death multiple times could cause hit points to wrap
252 when pet attacks monster that attacks back, be sure it's in range (could be a
253         worm attacked on the tail)
256 Platform- and/or Interface-Specific Fixes
257 -----------------------------------------
258 micro: -uwizard-{class} counts as -uwizard when allowing debug mode
259 micro (assorted): readmail()--don't show fake mail text when blind; also,
260         update the "report bugs to" message to specify devteam@nethack.org
261 msdos: fix overlay separations in weapon.c
262 msdos: fix problem breaking compile without REINCARNATION
263 msdos: fix dependency in djgpp Makefile (wintty.c -> hack.h)
264 tty: try to use terminfo sgr0 (aka termcap me) attribute to turn off all
265         text attributes, instead of just using "rmso" (aka "se") attribute.
266 tty: change name of nethack's termcap.h to be tcap.h
267 tty: ^P at a long prompt printed an extra newline (and then wrapped oddly)
268 tty: get repeat to work properly on extended commands
269 tty/ASCIIGRAPH: rogue level uses PC Rogue colors and symbols
270 nt: in TTY port, non-English keyboard layouts that depended on AltGr-+ sequence
271         were getting "Unknown command 'M-\'" for '\','@','$','{','[',']','}'.
272 tty and X11: avoid crashing trying to display long (>128 char) menu items
273 X11: avoid setuid install problems by changing uid to real uid while
274         opening the X11 connection.
275 unix: compress/uncompress detects failure of the compressor, such as for
276         filesystem full or missing compressor, and no longer deletes the
277         valid file.  In the uncompress case, such as uncompressing the save
278         file, a message is generated as well.
279 dlb: handle situation where lseek(,,SEEK_END) doesn't yield the size of the
280         contents of a file (specifically, VMS "variable length" record format)
281 vms: install.com couldn't handle the `copy readonly files' step when DLB
282         wasn't enabled
283 mac: added unix tty-ish menu flexability
284 mac: stoped using OLDROUTINENAMES
285 mac: added dlb support
286 mac: Increased the maximum number of menu items, so the inventory
287         won't get cut off at the bottom.
288 mac: Changed the behavior of Cmd-Q so it uses the new #quit command.
289 mac: Will only dispatch events if the window system is initialized.
290         This fixes a bug that would crash the system if the user had an
291         invalid option in the NetHack Defaults file.
292 mac: Added an appropriate message when eating an apple.
293 mac: Change the askname dialog for the new role patch.
294 mac: Add a gray background to all dialogs.
295 mac: Replace some improper calls to InitCursor().
296 mac: Remove a whole bunch of unused code.
297 mac: Added Balloon Help messages.
298 mac: Pop-up menus display the 3-letter file code instead of a single
299         letter.
300 mac: Pop-up menus and text item have a 3-dimensional look.
303 General New Features
304 --------------------
305 incorporate the "wizard patch"
306 `#quit' command added
307 `*' command added; displays inventory of all equipment currently in use
308 add Stone To Flesh spell
309 wands eventually explode if rechaged too many times
310 show IDed Amulet of Yendor + invocation tools in own section of discoveries
311         list; likewise for IDed artifacts
312 add infravision
313 add Eyes of the Overworld
314 add lenses
315 split players race from role in life
316 cursed figurines cam spontaneously transform when carried
317 `in_use' struct obj field is unconditional rather than just #if !NO_SIGNAL
318 add the secondary weapon slot, e(x)change command, #twoweapon
319         command, and "pushweapon" option.
320 add the quiver slot, (Q)uiver command, (f)ire command, and
321         "autoquiver" option (defaults to false).
322 add the "pickup_burden" option which controls when the user
323         is asked for confirmation when picking up an item.
324 pole-weapons can be applied at a distance, and similarly used by monsters.
325 '/' command's pick-a-location input (getpos) supports shortcuts to bypass the
326         "more info?" prompt; ':' for '.'+'y', ',' for '.'+'n', ';' for ','+ESC
327 monsters can throw cockatrice eggs at players
328 prayer trouble "stuck in wall" takes boulders into consideration
329 crysknives can be "fixed"
330 vampires now #chat back
331 new monsters: chickatrice,pyrolisk,fox,coyote,winter wolf cub,dingo, 
332         gas spore,flaming sphere,shocking sphere,lynx,panther,raven, 
333         glass piercer,mastodon,woodchuck,centipede,master mind flayer, 
334         pony,horse,warhorse,silver dragon,lichen,storm giant,arch-lich,
335         dwarf mummy,green slime,disenchanter,monkey,dwarf zombie,ghoul, 
336         paper golem, gold golem,glass golem,prisoner,jellyfish,piranha,
337         shark
338 new objects: amulet of unchanging,silver dagger,silver spear, 
339         silver dragon scales/mail,robe,alchemy smock,kicking boots, 
340         kelp frond,eucalyptus leaf,scroll of earth,spell of drain life,
341         potion of acid,potion of full healing,potion of polymorph,
342         potion of sleeping,ring of free action,ring of gain constitution,
343         ring of increase accuracy,ring of slow digestion,grappling hook,
344         ring of sustain ability,wand of enlightenment,saddle,various gems
345 add Monk role
346 the old Elf role is replaced by the Ranger
347 add Human, Elf, Dwarf, Gnome, and Orc races
348 add multishot ammunition
349 add graves, iron bars, trees, and arboreal levels
350 dwarvish mattocks can be used to dig
351 add leprechaun, cockatrice, and anthole special rooms
352 add the Sokoban dungeon
353 implement talking artifacts
354 members of the clergy (aligned/high/player priests and monks) are 
355         generated with a robe instead of chain mail.
356 new tin of meat types
357 tinning kits and cameras have charges
358 blessed magic mapping detects secret doors
359 starting spells are known at start of game
360 pre-discoveries are listed with an *
361 voluntary challenges with #conduct
362 add a funny message when eating tridents and flint stones
363 allow debug-mode level teleport to the sanctum
364 some #monster commands now consume energy
365 trees can be kicked as a possible source of fruit
366 Wile E. Coyote references when using '/' on a coyote
368 Platform- and/or Interface-Specific New Features
369 ------------------------------------------------
370 WinNT: implement mail support
371 WinNT: console mouse support added to TTY port