Files
nethack/doc/fixes35.0
nethack.rankin 2ba506b385 version feedback (trunk only)
Show the 'v' output (full version number plus build date-time) as
the first line of '#version' output (build time configuration settings).
It isn't simple to do that when generating dat/options (there's some
port-specific tweaking going), so do it at run-time by processing that
file one line at a time instead of passing it through a pager routine.

     This also inserts an "About NetHack" entry as the first choice in
the menu for '?', the way that most Windows programs have interactive
help organized.  Picking that gives the same output as using #version.

'make depend' manually updated for Unix and VMS (add dlb.h to version.*).
2011-09-23 07:33:18 +00:00

565 lines
34 KiB
Plaintext

$RCSfile$ $Revision$ $Date$
General Fixes and Modified Features
-----------------------------------
change the dreaded "Stop eating?" to "Continue eating?" with default "no"
setmangry should not be called when a monster enters a bones region
bad capitalization of msg when charging for something that catches light
missing opthelp for use_inverse
Never say "It moves only reluctantly"
expert fireball/cone of cold could not target a monster seen only with
infravision or ESP
display "lotus juice", not "lotu juice" for the fruit juice name
only humanoid angelic minions should get/use sword and armor
paper, straw and wood golems resist cold
the options lootabc, showrace, travelcmd, and runmode are now saved
use mons[] array offsets in mnum field in save file rather than storing
the ptr and calculating the distance from beginning of array
two-weapon combat makes two attacks instead of having one attack hit with
each weapon
apply weapon skill to-hit bonus or penalty to bare-handed attacks
only give monk's "cumbersome armor" message when the armor penalty causes
an attack to miss
dust vortex-induced blindness should kick in immediately when blindfold
is removed or glop is wiped off
prayer/unicorn-horn won't fix blindness while still engulfed in a dust
vortex since it will just return immediately
being confused and reading cursed scroll of charging drains your energy
class genocide recognizes species name as an example of the class to
genocide (Martin Snyder)
internals: use Is_box rather than explicitly checking what it checks
fix some unreachable messages (either make then reachable or remove them)
can quiver coins when GOLDOBJ is defined
make #loot behave same for GOLDOBJ as for !GOLDOBJ
for GOLDOBJ, can pick gold up into $ when all 52 letters are in use, and
can pick non-gold up into unused letter when gold uses one of 52 slots
grammar, spelling and other typos
keep various delayed killers separate to avoid mixed up messages
don't place randomly-placed aquatic monsters in lava on special levels
hiding monsters don't hide under cockatrice/chickatrice corpses
"sound" option renamed to "acoustics"
deafness now a full-fledged attribute
water should flow into pits from broken wand of digging and drum of earthquake
objects that fall thru trapdoors, et al, can break on impact
support engraving in blood in special level files
many instances of physical damage were not taking Half_physical_damage
into account when reducing your hitpoints
make it possible for the code to recognize your starting pet throughout the
game via is_starting_pet(mon) macro
healers notice when a wand of undead turning revives a monster so the
wand is then identified
update display if bestowed a spellbook while unable to see invisible self
use small pool of static buffers for mon_nam() and Monnam()
Acknowledge Schroedinger's cat at end of game
grammar fixes for applying stethoscope to corpses and statues
player polymorphed as a ceiling hider cannot reach the floor, but
automatically unhide on #sit
trappers do not hide on the ceiling
non-magical whistles do not work underwater
try to restrict whistles and musical instruments to monsters that can blow
thrown potions can sometimes hit a steed's saddle
sync default documentation of "null" option with the code
tripping over a cockatrice corpse didn't petrify, even when not wearing boots
do not call swamps on the Juiblex level "moat" when freezing or drowning;
likewise for Plane of Water when drowning
keep score from wrapping around and becoming negative by capping it
kicked objects do not slide when on the air or water levels
when a giant carrying a boulder dies in a pit, ensure that the corpse is
buried under the filled pit
when blind and levitating > shouldn't say "stairs" if player has not seen them
a slow-moving monster hidden under a rotting corpse was not immediately
displayed when the corpse rotted away
mimic that ends up on the rogue level should not mimic a closed door
mimic should not mimic a boulder while on a pit or hole or closed door
reviving invisible troll could appear visible until it moves
adjust some of the shop repair messages
charge for reviving a shop owned corpse or reanimating a shop owned statue
filled trap doors on castle can be re-dug
message order when swapping places with a pet (e.g. into a trap), also use
different term instead of "displace"
flyers can get out of pits more easily than non-flyers
allow use of the < command to try to exit a pit
clean up messages when you stop levitation while riding a flying steed
account for all attacks when determining max_passive_dmg
dipping in acid can erode the dipped object
various actions--such as enchanting--performed on an unpaid shop object
either force the hero to buy the item (when its value is lowered) or
increase the current bill (when its value is raised)
adjust health threshold where wounded hero will be healed by successful prayer
prevent lose-level+regain-level cycle from arbritrarily boosting HP and Pw
prevent polymorphing into "new man" at low level from magnifying HP and Pw
losing a level while polymorphed affects hero's current monster HP as well as
underlying normal HP
mind flayer brain eating is subject to certain fatal targets and to cannibalism
mind flayer can't eat brains of ghost or shade
corpses of unique monsters in bones behaved incorrectly if revived or eaten
fix pluralization for "this tin smells like mother-in-laws" when hallucinating
force user-specified fruit name to be singular
avoid false matches when looking up fruit names ("grapefruit" isn't "grape")
handle pluralization of man-at-arms and singularization of men-at-arms
assigning an artifact name is rejected on objects with similar description to
corresponding artifact's type rather than just those of the same type
adjust feedback for gas spore explosion when hallucinating
traps detected by scroll or crystal ball overlooked carried or buried chests
can't wish for a trapped box/chest/tin by specifying "poisoned"
grammar bit if killed by stealing a cockatrice corpse from a monster
being petrified by swallowing a cockatrice violates foodless conduct
devouring Medusa whole is fatal
eating pet won't continue eating after becoming paralyzed or falling asleep
randomize shopkeeper names when hallucinating
fix wording for "leprechaun steals gold from between your feet" when mounted
fix monsndx panic which happened after currently moving monster expelled
swallowed hero onto magic trap and was made tame by its effect; taming
no longer replaces monster
reduced message verbosity when re-entering a temple
reduced message verbosity when monster with multiple attacks missed wildly
putting on a never seen ring while blinded won't make the ring a discovery
zapping a never seen wand while blinded won't make the wand a discovery
zapping an unID'd wand of teleportation at self will discover it (usually)
zapping unlocking magic at self while punished will remove attached chain
don't see objects or read engraving when hero changes location (random
teleport) or position (levitation timeout) while asleep or fainted
polymorphed spellbooks may turn blank or be too faint to read
avoid inappropriate message when using a cursed lamp while blind
player polymorphed as a guardian naga spit the wrong kind of venom
put #define for potion occupant chance and cursed wand zap chance in one place
candles should not be fireproof
recognize most instances where hallucinatory monster name should be treated
as a personal name (to avoid "the Barney") instead of a description
avoid giving misleading or redundant feedback when reading scrolls
custom arrival message for special levels could be delivered too soon
custom arrival message for special levels now supports quest text substitution
prevent scroll of charging that has already disappeared from showing in the
picklist of things to charge
doors break instead of absorbing the blast of a broken wand of striking
avoid "Something's in the way" message with unidentified wand of locking
better handling for Fort Ludios and endgame in wizard mode's `^V ?' menu
no free lunch for gelatinous cubes eating scrolls of mail
eating gold in front of the vault guard will make the guard angry
calculate engulf time differently for non-digestion attacks than for digestion
preform autopickup and/or report on objects at the spot when a failed #untrap
attempt causes the hero to move onto a trap's location
thrown silver weapon hitting silver-hating poly'd hero got double silver damage
wielded silver weapon hitting silver-hating poly'd hero lacked silver message
don't welcome the hero to Delphi if the Oracle was angered before first entry
shopkeeper polymorphed into animal form can no longer speak
don't give attribute adjustment messages ("you feel wise") unless the current
value actually changes
meditating monsters stop meditating when affected by something which wakes
sleeping mosnters
monsters capable of hiding can't do so when trapped or while holding you
limit recursive calls to spoteffects (poly'd hero fell into water, reverted
to human because of it, fell into same water, then crawled out twice)
ensure that the punishment ball and chain make it into the save file after being
temporarily orphaned from the normal chains in the swallowing code
charge for thrown wand that shatters into a thousand pieces in a shop
wielded light source susceptible to water gets extinguished when weapon rusts
don't discover unknown bag of tricks when monster it releases is undetected
make region ttl field a long instead of short to get rid of lint warnings
about a possible loss of data
pushing a boulder onto a level teleporter trap could issue repeat messages
if shopkeeper or priest gets teleported while inside his shop or temple,
give locations inside that room preference when choosing destination
tame/peaceful grabber/engulfer will release hero after conflict ends
any grabber will release hero if it moves away while confused/stunned/afraid
make changes in hallucination be reflected by changes in mimickery feedback
add Unaware pseudo-property to suppress various messages while unconscious
missile which kills engulfer will now be placed prior to hero's return to map
bugles affect all monsters to some extent
nurses are affected if player is polymorphed as a cockatrice
getting a particular rotten food result can't make attempting to eat a
corpse of one of the Riders be survivable
pad shortest rumors to improve distribution of delivered rumors
wake up sleeping steed when putting on saddle or mounting
stop wielding cockatrice corpse which triggered own death followed by life-save
format various prompts to avoid "Query truncated" entries in paniclog
for inventory display, include cost info on hero-owned containers holding
shop goods
shops now claim ownership of items created by using an unpaid horn of plenty
shopkeepers shouldn't refer to non-male character as "cad"
tweak levitation timeout if trap is being triggered on same turn it is to end
if Rider corpse revival fails, usually try again later instead of rotting away
worn item transformed by polymorph remains worn if feasible
can't dip or apply grease to a worn item that's covered by another worn item
hero poly'd into stone golem and wielding cockatrice corpse casts stone-to-
flesh at self to become flesh golem will revert to stone if no gloves
demon lords/princes can't be summoned to the elemental or Astral planes
same-race sacrifice can't damage high altars
allow corpses on floor to be offered at high altars
allow hero to attempt to offer the Amulet at ordinary altars
shooting range for crossbow isn't affected by strength; multi-shot volley is
right-handed boomerang throw travels counterclockwise
monsters can use ranged attacks over/around boulders, same as hero
can't drop part of a stack of N weapons welded to hero's hand
pickup still accepts m as command prefix, but now rejects F,g,G,M,numpad 5
scatter piles of kicked gold rather than move the entire pile at once
#jump attempt fails if mounted on sleeping steed; jumping spell still works
if normal game save file is restored via `nethack -X', restore in normal
mode--with save file deletion--and require confirmation ala 'X'
command to make deferred switch into explore mode
stethoscope applied to hiding mimic will bring it out of hiding
rephrase "<artifact> evades your grasp" message if artifact is already held
artifacts which subsequently evade your grasp/control after already being
worn or wielded become unworn/unwielded
hero with lycanthropy is vulnerable to silver in both human and beast form
changing alignment or shape triggers a check for equipment evading hero's grasp
passive fire effects can damage attackers' weapons
wielded bow shouldn't affect outcome of kicked arrows
ranged polearm hit can divide puddings and can use confuse monster effect
charge for kicked shop-owned food if it gets used up taming a monster
give better feedback when thrown shop-owned food gets used up taming a monster
effect of negative AC on damage received was calculated differently than
normal when deciding whether hero poly'd into pudding would split
unicorn horn produced by revived monster will polymorph as if non-magic
stone-to-flesh on any golem statue or golem figurine creates flesh golem
stone-to-flesh which activates shop-owned figurine entails shop charges
make giants be less likely to be randomly generated in Sokoban
bear traps dish out some damage on initial entrapment
bear traps and webs are harmless to water elementals
hero with polymorph control and inflicted with lycanthropy can specify own
werecritter or human werecritter monster types as polymorph target
hero undergoing semi-controlled polymorph won't also undergo sex change
when doppelgangers taking on new shape don't specifically pick nasty monster
or role monster, bias the random form towards humanoid
salamanders can use green slime corpses to cure themselves of petrification
feedback about summoned monsters may use singular when it should use plural
rogue's backstab bonus doesn't apply for throwing attacks
hiding monsters who are unhidden when hero leaves a level can hide upon return
touching a pile of objects while blind affects hero even when the pile is
big enough to give "there are many objects here" and not list them
explosion while engulfed only affects engulfer and hero, not adjacent monsters
eliminate case-sensitivity when converting words from singular to plural and
vice versa, so some failing wishes like "Gauntlets of Power" now work
breath attack directed at self by poly'd hero always hits
override non-silver vs shades for artifacts which deal extra damage to undead
assorted mirror fixes--mainly visibility issues
some monsters can't be strangled; self-polymorph can stop/restart strangulation
re-adjust gem generation probabilities when revisiting existing dungeon levels
kick evasion shouldn't move monsters through walls
kick evasion and jousting/staggering blows shouldn't move grid bugs diagonally
#untrap didn't check whether hero could reach the ground
digging/chopping a closed drawbridge message mentioned digging a "wall"
attacking via applied polearm now honors the "confirm" option
engulfer under influence of conflict or confusion could swallow monster at
water/lava/trap spot and not be affected by destination til next move
unicorn horn restoration no longer overrides sustain ability characteristic
hider monster revived from corpse would start out hidden (even if own corpse
was only object around to hide under)
fix sequencing issues with dropping #invoked Heart of Ahriman
applying an unpaid stack of potions of oil forced hero to buy all of them
instead of just the one which got split off and lit
sometimes when hero is forced to buy an unpaid shop item its price changed
monster could attack with a polearm even after attempt to wield that failed
sometimes got "you trip over it" after intervening messages following the
one which described "it"
wizard mode: WIZKIT wishes could overflow inventory's 52 slots
when loading bones files, censor suspect characters from player-supplied
strings such as pet and fruit names
can't swap places with tame grid bug when moving diagonally
can't move diagonally through a long worm's body (can still fight that way)
require confirmation to read a scroll of mail if doing so will be the first
violation of illiteracy conduct
using F to force an attack towards a boulder gave "you attack thin air"
random "treasure drop" upon monster's death bypassed dropping side-effects
melted ice on Valkyrie quest should be pool, not moat
some variations of attempting to use open or close commands on a drawbridge
didn't give drawbridge-specific feedback
tin contents can now sometimes be accessed on the same turn that the tin
starts being opened; when not, the opening feedback is more accurate
Nth adjustment of feedback when observing a pet eating
monsters who want the Amulet won't attack temple priests to try to get it
it was possible to generate an object of 0 gold pieces by dropping 2**32 gold
wizard mode's sanity_check option missed nested containers and migrating mons
always update map display and use up turn if open or close command attempted
while blind reveals change in door state or discloses non-door spot
secret door detection's trap finding is no longer blocked by water or clouds
on the Planes of Water and Air
potion thrown by monster which hit a long worm's tail gave feedback about
hitting its head
implement energy vortex's previously unused energy drain attack
changing alignment type resets alignment record to 0 (nomimally aligned)
while polymorphed, suppress attribute gain/lose earned by pre-poly exercise
wizard mode #monpolycontrol prompting asked about "it" when monster was unseen
reprompt if player fails to make a menu choice during inventory identification
seen eels who were stuck in isolated pools would never re-hide
can no longer get both strength and resistance from eating one giant corpse
aborting key/lock pick usage via ESC at direction prompt no longer uses a move
when probing from inside an engulfer, "not carrying anything" overlooked hero
wearing or removing an amulet of restful sleep clobbered permanent sleepiness
if attempt to select a co-aligned artifact for first divine gift fails because
none is available, choose one from among nonaligned artifacts
if breaking a wand of polymorph causes hero to drop items, don't transform them
give "shuddering vibrations" feedback if breaking a poly wand uses up items
if polymorph causes a monster to drop items, they won't be used up via
shuddering vibrations or as golem creation fodder
monsters who ate green slime corpses weren't turned into green slime
"hand slip" while naming an object would never pick 'z' as a substitute letter
hero would "gladly take off <armor>" for nymph or succubus even while asleep
concealed mimic wasn't revealed if kicking attmpt yielded a clumsy miss
too accurate feedback given to a blinded hero when a monster summons insects
message sequencing for fatal explosions was confusing if feedback was given
for carried items being destroyed
when dipping something in holy/unholy water, only learn its new bless/curse
state if hero sees it glow
describe lit Sunsword as shining rather than glowing
prevent poly'd shopkeepers from taking on forms that can't handle objects
attempting to move direction 'u' as a grid bug performed #untrap command;
the other diagonals reported "unknown command" instead of "you can't"
mimic posing as statue or corpse now picks and maintains particular monst type
when levitating, don't show '>' as a likely direction for digging
poly'd or mimicking hero who was hidden from monsters would still be treated
as a normal target for their ranged attacks
hero would remain stuck to an adjacent monster after rehumanizing if he had
been attacked while hiding via #monster when poly'd into a small mimic
attacking via applied polearm never scuffed engraving underneath hero
auto-wielding a polearm took no time if ESC was used to cancel target choice
applying a bullwhip while at very edge of map could target beyond edge,
potentially leading to a panic or crash
prevent temple priests and minions from wearing helms of opposite alignment
'D' drop command didn't handle 'u' choice correctly if the only unpaid items
were inside containers
pearl rings shouldn't rust
shouldn't be able to read a worn T-shirt when it's covered by a worn suit
simplify hero placement on Castle level when climbing up stairs from Valley
spell attack by low-Int hero could inflict negative damage
some wand/spell/breath zaps that hit a secret door failed to reveal it
wand explosion feedback about adjacent door was phrased as if for a wand zap
improve the message sequencing when a thrown poisoned weapon loses is poison
attempting to open, close, or lock/unlock a door while confused or stunned
uses up a move regardless of whether direction choice finds a door
grammar fixes for vault guard messages given after player assigns guard a name
wearing cloak of displacement auto-discovered it even when hero couldn't see
wearing elven cloak auto-discovered it even when already stealthy
putting on ring of stealth never auto-discovered it
forgetting spells due to amnesia now sets memory retention to zero instead
of removing them from hero's list of known spells
shouldn't have been able write scrolls by guessing type name when they're
only partly known via name assignment
scrolls given names can be written by assigned name as well as by description
fix writing feedback "the spellbook warps strangely, then turns parchment"
make stone artifacts usually resist stone-to-flesh
when reading an unknown scroll and learning it, discovery of teleporation was
too late if hero happened to land on another scroll of teleportation
using an unlocking tool on a closed door which was actually a mimic reported
that there was no door to unlock instead of exposing the mimic
purple worm could end up in wall or solid rock when swallowing ghost or xorn
enhance life-saving by preventing subsequent poison from being fatal upon
rescue from death due to spiked pit, dart trap, or poisoned missile
don't create mail daemons when populating special levels with random demons
teleport control and polymorph control are ineffective while hero is stunned
don't report "fried to a crisp" for disintegration from divine wrath
spellcasting monsters' spell selection became less likely to choose harder
spells as their level got higher (including Wizard's "double trouble")
Eye of the Aethiopica, Eyes of the Overworld, and Sceptre of Might must be
worn or wielded rather than just carried to convey magic resistance
Mitre of Holiness and Tsurugi of Muramasa convey Protection when worn/wielded
effectiveness of magic cancellation by worn armor has been reduced
Protection improves the effectiveness of magic cancellation
if an angry shopkeeper chased the hero to a different level and then got paid
off, he'd dismiss kops on that other level but not on his shop level
dying in lava and being life-saved or leaving bones would destroy ring of
fire resistance if it happened to be made of wood, and also burn up
scrolls of fire and spellbook of fireball
surviving in lava boils away carried potions, but dying in lava and being
life-saved or leaving bones would keep them intact
when applicable, give "your body rises from the dead as an <undead>..."
even when bones data isn't being saved
have shk claim ownership of worn saddle dropped by dying pet if hero is
not within the same shop at the time of the drop
for poly'd hero hiding on ceiling who gets attacked, make attacker's position
be an eligible location for hero when vacating hero's spot for attacker
to prevent ending up far away under crowded conditions
for poly'd hero hiding on ceiling, attack by sea monsters won't move them
into hero's position unless it is over water or they're already on land
for poly'd hero hiding on ceiling, attack by long worm might fill hero's
destination with worm's tail, so double check and maybe choose again
when shop prices are adjusted, handle roundoff (integer truncation) better
for hero poly'd into a monster form that lacks a weapon attack but has a claw
attack, use wielded weapon even when claw attack isn't the very first
rename the SLEEPING property and Sleeping attribute to SLEEPY and Sleepy, resp.
give alternate message for "<mon> turns to flee" when mon can't move
all statues in a cockatrice nest were for giant ant if 'record' was empty
when dying outside all shops on a level with multiple shopkeepers and one takes
hero's stuff, choose one who is owed money over first one on fmon list
Platform- and/or Interface-Specific Fixes
-----------------------------------------
unix: new -wwindowtype option
unix: don't clobber old level files if 2nd hangup/disconnect occurs while
reconnected user is responding to the "destroy old game?" prompt
win32gui: better handling of "more" prompt for messages that would have scrolled
off the window
win32gui: set correct checkmark on "Lock Windows" menu item on startup
win32gui: redraw message window on resizing (it does not update properly otherwise)
win32gui: fixed copy/paste error in read registry settings function
win32gui: improved calculation of the size of the menu window
win32gui: made auto-arrange windows on/off option (it was reset automatically
which was unintuitive and in some cases annoying
win32gui: fix a possible crash with AltGr-4 WM_KEYDOWN handling
win32gui: use whatever alternate tile set is loaded in the menus
win32tty: prevent early error messages from flashing by too fast and not seen
win32tty: work around problem where display symbols were wrong or unrecognizable
on systems where the default language for non-Unicode programs was not
set to "US English" - courtesy Ray Chason
win32tty: work around problem where some characters did not show up if the
console code page was other than 437
platforms that support hangup: SAFERHANGUP to avoid losing objects in transit
between lists when hangup occurs, and also avoid cheats due to
well-timed hangups to stop a long melee
X11: support dynamic switching of map mode via tiled_map option
X11: added support for hilite_pet to text map mode
General New Features
--------------------
burying a punishment ball no longer ends your punishment
#tip command (with M-T shortcut) to empty a container's contents onto floor
add clicklook option to allow looking at things on the display by clicking
right mouse button when floating mouse pointer over them
Izchak's lighting store is now able to stock oil for your lamp
provide core support for saving of messsage history in save file
the following actions can now be continued after save/restore: digging,
eating, studying, removing armor
hero-created and monster-created ice will eventually melt away
extend Warning to include ice danger
wishing for particular variety of tin contents (deep fried, broiled, etc.)
debug-mode wishing for random monster(s) via '*'
debug-mode viewing of fully identified object descriptions without
actually identifying the objects
health-food store that stocks monk-appropriate foods in mine town when monk
give more information about your attributes in debug mode
polywarn to give intrinsic monster detection of limited species while polymorphed
rocks can skip on the water sometimes allowing them to pass over water creatures
vampires can now shapeshift into bats and fog clouds; the latter can be done at
will to slip through locked doors
shapeshifted vampire will transform back to vampire form after you defeat it and
continue to fight in its native form
container lknown flag for locked/unlocked/broken awareness
container cknown flag for container content awareness
plname is stored in the save file on all platforms now
introduce support for negation of role, race, align, gender values to eliminate
them from random selection and the pick list of startup choices
some intelligent pets will avoid cannibalism
keep track of which monsters were cloned from other monsters
cloned and revived monsters become worth fewer points than ordinary ones
number_pad:3 run-time option to use inverted phone keypad layout for movement
number_pad:-1 to swap function of y and z keys; z to move NW, y to zap wands
display spell retention information in the spell menu
tame ghouls can eat old eggs
new effect for reading a scroll of light while confused
allow digging an adjacent pit with wand of digging while trapped in a pit
#terrain command for debug mode
digging can activate or disarm some types of traps
some monsters can eat tins in addition to corpses to cure some ailments
add Roderick Schertler's pickup_thrown patch
add ability to sort the list when viewing known spells with '+' command
describe magic cancellation from worn armor in enlightment/end-of-game feedback
disclose half physical and/or spell damage in enlightment/end-of-game feedback
rephrase see invisibility enlightenment feedback when unable to see at all
add atmospheric sound messages for temples
sometimes give announcement message when monsters teleport to hero's vicinity
obsolete config file keywords: GRAPHICS, OBJECTS, TRAPS, EFFECTS
deprecated options: IBMGraphics, DECGraphics, boulder
new options: symset, roguesymset for choosing a symbol set from the symbols file
new config file keyword: SYMBOLS for overriding character symbol values by name
opening magic frees from bear traps and webs, activates trap doors
closing magic activates bear traps and webs
locking converts a hole into a trap door; striking does the opposite
add Malcolm Ryan's Statue Glyphs patch
lembas and cram never rot unless cursed
multiple squeaks for squeaky boards
include time, user ID, and play mode in paniclog entries
add oracle and rumor regarding priestly donations
anti-magic traps have alternate effect on targets who have magic resistance
the Amulet can be offered to Moloch
javelins and spears now share the same weapon skill
all stackable weapons are capable of being thrown/shot for multi-shot volleys
worm teeth and crysknives have become stackable
improved container interface
acid can destroy iron bars
OPTIONS=playmode:normal|explore|debug to choose mode without command-line
score bonus for ascending is reduced or denied for changing alignment
player can give a monster class when asked for type of monster to poly into
likewise when asked about type for #monpolycontrol
both controlled self-polymorph and #monpolycontrol accept ESC, "*" or "random"
when asking for type of monster; ESC aborts #polyself command
scroll of taming/spell of charm monster now gives some feedback
doppelgangers can take on the shape of alternate roles' quest guardians
pile_limit option to control when to switch to "there are objects here"
vs listing objects on floor when hero goes over objects while moving
some monsters will use fire to prevent selves being turned into green slime
add `#vanquished' debug mode command
C and #name commands are now same and use menu to choose monster vs object
hallucination provides partial protection against gaze attacks
attempting to read "dull" spellbook might cause hero to fall asleep
dipping prompt is more precise
using F to attack wall/boulder/statue while wielding pick digs/breaks target
shapechangers shouldn't receive starting inventory of their initial shape
streamline old ^X output and integrate it with enlightenment feedback;
new ^X output includes expanded form of abbreviated bottom line info
"killed by X" becomes "killed by a chameleon imitating X" when appropriate
eating disenchanter corpses is now considered risky
make '[' command more precise when poly'd hero has embedded dragon scales/mail
fainting while wielding a cockatrice corpse will be fatal
Sunsword's light radius depends on its curse/bless state
Add M-C and M-R meta-key shortcuts for #conduct and #ride, respectively
can now use ESC to cancel out of prompts for playing musical instruments
being crowned gives an additional benefit: one extra skill slot/credit
chatting to a gecko or shopkeeper while hallucinating gives alternate message
mimic posing as door might steal hero's key when [un]locking is attempted
polymorphing into a dragon while wearing dragon scale mail will cause that
mail to revert to dragon scales
adopt/adapt/improve the Paranoid_Quit patch; default is paranoid_confirm:pray
paranoid_confirm:Confirm when requiring "yes" instead of y to confirm,
also require explicit "no" to reject
paranoid_confirm:quit yes vs y to quit or to enter explore mode
paranoid_confirm:die yes vs y to die in explore or wizard mode
paranoid_confirm:bones yes vs y to save bones when dying in wizard mode
paranoid_confirm:attack yes vs y to attack a peaceful monster
paranoid_confirm:pray y to confirm #pray; supersedes prayconfirm
paranoid_confirm:Remove always pick from inventory for 'R' and 'T'
flexibility for specifying "detect <foo>" vs "<foo> detection" when wishing
when a sokoban puzzle has been completed (last pit or hole filled in),
stop assessing luck penalties and lift most movement restrictions
'`' command to show discoveries for one class of objects
add "about nethack" to '?' menu as an alternate way to view 'v'+'#version'
Platform- and/or Interface-Specific New Features
------------------------------------------------
pcmain: check for dlb_init failure rather than relying on dungeon open failure
win32gui: support perm_invent
win32gui: menu option to add/remove windows captions
win32gui: support for saving/restoring message history
win32gui: added menu options "Copy ASCII Screenshot To Clipboard" and "Save
ASCII Screenshot To File"
win32tty: support for 'selectsaved' option for menu of existing save files
to choose from at game startup
tty: add window port routines for saving/restoring message history
tty: enhanced role, race, &c selection at start of new game
smartphone: added "Type Cmd" command that allows to type arbitrary commands
using phone keypad
smartphone: added Q(quiver) command to "Attack" layout
smartphone: fixed F command to prompt for direction
unix,vms: altmeta option to handle terminals which send "ESC c" for Alt+c
Code Cleanup and Reorganization
-------------------------------
removed OVLx section dividers previously used for TRAMPOLINE overlay system
move all flags that are system or port specific from flag struct to sysflags
struct which is used only if SYSFLAGS is defined
all fields in flags struct are unconditionally present
monst cham field now a short and uses mons[] index
rearrange some monster ordering to follow rule #2 listed at top of monst.c
change region player_flags to more appropriate unsigned int instead of boolean
remove remains of sync_hunger, which has been ifdef'd out for years
new mextra structure housing pointers to mname, egd, epri, eshk, emin, edog
consolidate vault.h, epri.h, eshk.h, emin.h and edog.h into new mextra.h
new oextra structure housing pointers to oname, omonst, omid, olong, and omailcmd
drawing symbols for DECGraphics, IBMGraphics, MACgraphics are now stored in an
external symbol file that can be changed without rebuilding
new hints-based configuration system
allow documentation to be specialized to the options in the game binary