Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $NHDT-Branch$:$NHDT-Revision$ $NHDT-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
- fix "You hear The food ration tumbles downwards" for blinded pit dropping
- silver arrows weren't causing silver damage on some silver-haters when wielded
- wizard mode: avoid division by 0 crash for level teleport in the endgame if
- confusion overrides teleport control
- don't #sit on an object in a pit if you're only on the precipice
- fix message when pushing a boulder into a pool while riding
- plural of "Nazgul" is "Nazgul" not "Nazguls"
- trap messages referring to named steed were awkwardly worded when hallucination
- overrode use of the name
- some actions such as eating corpses off the floor didn't check whether hero
- could reach the bottom of a pit
- usmellmon() instead of "It turns into it" during monster polymorph
- grammar of messages regarding eating artifacts
- avoid a message about an invisible monster looking much better
- player polymorphed as a xorn could not pick up items in pits
- non-magical whistles do not work underwater
- try to restrict whistles and musical instruments to monsters that can blow
- don't display "turns to flee" message for a mimicing mimic
- don't display "turns to flee" message for a monster who has just died
- dipping acid in a fountain could cause an explosion but not destroy the potion
- thrown potions can sometimes hit a steed's saddle
- if your blindfold glows and you're not otherwise blinded, you can see it
- 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
- added strsubst() to hacklib
- be consistent with use of "removing" rather than "lifting" for encumber
- messages associated with taking things out of a bag of holding
- when a giant carrying a boulder dies in a pit, ensure that the corpse is
- buried under the filled pit
- cursed scroll of destroy armor damaging cursed armor didn't adjust attributes
- add passive() flag that indicates uwep was destroyed during the turn
- polymorphed or shapechanged monster sometimes got erroneous hit points
- 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
- calculate weight of corpses on special levels correctly
- Sting could trigger premature display of orcs during savegame restore
- Sting now glows light blue again
- prevent "offering" or other words with similar ending from matching ring quote
- make cleric cast lightning blind as other lightning does
- change the wording slightly to use "one of " when a monster wielding
- multiple daggers thrusts them
- if you didn't see a rolling boulder fall into a pit, you only heard the sound
- of it doing so if you were blind
- fire trap was triggered twice in the same turn when melting ice was involved
- abandon the specialized djinn and ghost counters used for potion tuning and
- use the mvitals[].born field instead
- if you were Poison_resistant, only a *blessed* potion of sickness caused
- loss of hitpoints
- reviving invisible troll could appear visible until it moves
- adjust some of the shop repair messages
- shopkeeper removal of trap from shop doorway yields an open door instead of
- a closed one if an intact open door is present
- guarantee that hostile djinn released from bottles really are hostile
- handle lava when removing or losing water walking boots
- fix incomplete sentence occurring when unique monster's corpse fell down stairs
- fractured boulders or statues produced inconsistent object settings on the
- resulting rocks
- really fix rolling boulder bug C340-18, the previous "fix" reversed the test
- monster throwing greased weapon has same chance for slip/misfire as player
- killing a pet by displacing it into a trap now yields experience
- prevent a rolling boulder that is in motion from vanishing in bones files
- ensure that a sleeping steed doesn't answer a #chat
- eliminate two very minor anomalies when using Luck to adjust random numbers
- destroying a worn item via dipping in burning oil would not unwear/unwield
- the item properly, possibly leading to various strange behaviors
- avoid a panic splitbill when shopkeeper is trapped by the door
- grammar tidbit for message given when eating tainted meat is also cannibalism
- gas spores shouldn't be described as "unable to attack" while hero is praying
- incorrect screen display if engulfer gets turned to stone when trying to
- swallow while hero is poly'd into cockatrice
- panic on subsequent move if engulfer gets turned to stone and poly'd hero
- also has attached ball&chain
- give more specific messages when dropping weapons due to slippery fingers
- various helmet messages changed to distinguish between "helm" and "hat"
- helmets don't protect against cockatrice eggs thrown straight up
- breaking container contents in a shop didn't always charge for them
- some types of shop theft of a stack of items only charged for a single one
- some thefts weren't charged at all even though shopkeeper noticed
- wizard mode: WIZKIT wish for own quest artifact triggered crash at startup
- avoid "your steed is still eating" message when going through a magic portal
- cannot drink from fountain, sink or surrounding water while swallowed
- don't hallucinate anything for an exploding black light as it dies
- give blindness feedback when moving into/through stinking cloud
- fix case on monster name when monster reflects floating eye's gaze
- monsters "shrieking in pain" from a potion didn't wake anything up
- 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
- Master of Thieves as Tourist Nemesis still had STRAT_CLOSE
- co-aligned unicorns in bones could be hostile
- finding "something" posing as a statue while Blind should map_invisible()
- adding more candles than required to total 7 to a candelabrum which
- already had between 1 and 6 gave an ungrammatical message
- give correct message when a spellcasting monster summons other monsters
- correct experience calculation for monsters that cause nonphysical damage
- clean up messages when you stop levitation while riding a flying steed
- monsters evading a kick on noteleport levels would cause a "teleports" message
- interrupt current activity during certain stages of petrification or vomiting
- warning about bad food didn't recognize tin of Medusa meat
- eating tainted Medusa corpse caused food poisoning instead of petrification
- avoid potential stale pointer use after magic bag explosion
- nymphs and monkeys can't steal rings worn under gloves
- monkeys can't steal rings worn under cursed weapon
- succubi will remove hero's gloves before taking worn ring; incubi will do
- so before forcing ring to be put on
- mbodypart should return forehoof, not foreclaw, for horselike monsters;
- rear paws instead of rear claws for feet of d, f, r, and owlbear;
- hand, arm, leg, foot for yeti, sasquatch, monkey, ape, carnivorous ape
- further digging of an existing hole finishes in a single turn
- only prefix shopkeeper names with "Mr." or "Ms." when not a personal name
- account for all attacks when determining max_passive_dmg
- green slime should not affect noncorporeal monsters
- land mine explosion will destroy a drawbridge at same location
- avoid some more buffer overflows in query buffers containing object names
- avoid giving extra information about things that break out of sight
- dipping in acid can erode the dipped object
- avoid giving away wand type for near misses while blind
- avoid excessive repetition of "monsters are aware of your presence"
- monster's aggravation spell now affects meditating monsters
- handle pets sooner at end-of-game to avoid message delivery anomalies
- busy pet won't miss out upon ascension
- fix various places that "finally finished" could be displayed after the hero
- stopped doing something other than eating
- fix some cases where movement was disallowed but the hero was still conscious
- after destroying drawbridge, hero could appear to be in the wall
- sometimes shop items which hero is forced to buy could be sold back twice
- non-empty container dropped but not sold in a tended shop and then picked up
- after that shop became untended could be sold twice in another shop
- vision was not updated when polymorphing a statue into a boulder
- 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)
- `I u' when carrying single unpaid item listed its cost twice
- armor which auto-curses when worn by hero should do same if worn by monster
- limit how high accuracy, damage, or protection can become via eating rings
- when blinded hero detects a trap by touch, make sure it shows up on the map
- confused remove curse will cause loss of knowledge of items' curse/bless state
- with astral vision, the ";" command should only display "normal vision"
- for things that could be seen without astral vision
- reanimating a statue containing gold produced double gold
- probing the resulting double-gold monster caused "static object freed" panic
- cursed wand might explode if used to engrave
- fatal wish from magic lamp left functional magic lamp in bones data
- fatal wish granted by monster left that monster in bones data
- death due to dipping potion of acid into a pool left the potion in bones data
- clear prompt from screen after ESC is used to abort "In what direction?"
- minor interface changes for interactively manipulating autopickup exceptions
- chatting with quest leader who was brought back from the dead gave warnings
- becoming green slime or mimicking gold violates "never changed form" conduct
- when a monster grew into a higher form which had previously been genocided,
- the message explaining its fate was only given if it was sensed via ESP
- hero could still see for brief period after being blinded by potion vapors
- avoid crash when thrown potion hits bars before a monster
- don't give messages about seeing things happen while asleep
- adjust health threshold where wounded hero will be healed by successful prayer
- protect hero from mind flayer's remote mental blast during successful prayer
- recognize if hero has already entered Gehennom by means other than usual route
- so that prompt can be skipped if Valley's stairs are subsequently used
- once you've passed the Valley, drawbridge tune is no longer a prayer reward
- fix up grammar and punctuation in variants of shopkeeper's price message
- regression, bug fixed in 3.4.1 reintroduced in 3.4.3: Sunsword continued to
- emit light after monster who was wielding got killed
- weaken "farming" strategies
- don't suppress corpse if you kill your own steed
- fix typo in tourist quest leader's greeting
- fix grammar for graveyard sounds when polymorphed
- avoid divide by zero crash if Luck drops below -1 while a prayer is in progress
- make hero inflicted with lycanthropy immune to level drain just like monsters
- describe locomotion method accurately when flyers traverse ladders or holes
- when there were multiple boulders at a location, moving one of them sometimes
- resulted in line-of-sight anomalies
- unicorn can't catch gems if it is asleep or paralyzed
- fix grammar when choking on gold
- prevent lose-level+regain-level cycle from arbitrarily boosting HP and Pw
- prevent polymorphing into "new man" at low level from magnifying HP and Pw
- some messages which referred to "mirror" ought to have used "looking glass"
- incubi react to mirrors
- 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
- alignment of Angels was handled inconsistently
- corpses of unique monsters in bones behaved incorrectly if revived or eaten
- pets capable of digging could pass through walls and stone on the Rogue level
- don't generate mimics pretending to be closed doors when making Rogue level
- 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
- avoid inappropriate "the corridor disappears" when vault guard gets killed
- avoid inappropriate "the guard calms down" if vault guard's magic corridor
- reaches a spot where gold is embedded in the rock
- avoid having vault guard ask hero's name when hero is swallowed
- 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
- adjust message for gas effect from chest trap if hero resists hallucination
- cancelling non-shop objects in a shop's entrance would upset the shopkeeper
- 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
- identified touchstone can rub on gold like the data.base entry says
- restore the capability of rubbing any object against known touchstone
- being petrified by swallowing a cockatrice violates foodless conduct
- devouring Medusa whole is fatal
- tombstone's reason for death after being killed by mis-returning Mjollnir
- varied depending upon whether it was fully identified
- tombstone's reason for death from kicking an object could include so much
- detail about the object that is was too verbose
- several quest messages were worded inappropriately if the hero was blind
- a samurai quest guardian message used "ninja" where "ronin" was intended
- revive from fainting if vault guard or bribe-demanding demon approaches
- tame flaming spheres and shocking spheres shouldn't pick up items
- eating pet won't continue eating after becoming paralyzed or falling asleep
- can hear the opening or closing of an unseen drawbridge
- prevent "object lost" panic caused by accessing freed memory after worn
- non-fireproof water walking boots are destroyed by lava
- stop multi-turn running, searching, or resting early if levitation ends
- randomize shopkeeper names when hallucinating
- fix wording for "leprechaun steals gold from between your feet" when mounted
- Call command could be used to remotely identify which high priest is which
- large amorphous, whirly, noncorporeal, or slithy creatures can fit through
- tight diagonal gaps despite their size
- avoid "You summoned it!" for unseen monster produced by same-race offering
- 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
- recognize "mindflayer" as an alternative spelling for "mind flayer"
- 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
- treat mattock as blunt object when forcing locks
- restore capability to force locks with wielded statue
- only count successful statue creations against the monster limit in sp_lev.c
- don't see objects or read engraving when hero changes location (random
- teleport) or position (levitation timeout) while asleep or fainted
- unseen wand of striking zapped by unseen monster became known if it hit a door
- tweak knight quest messages
- guidebook grammar bits
- special level loader wasn't able to place random door in 1x1 room; could
- trigger divide-by-0 crash for user-developed custom levels
- polymorphed spellbooks may turn blank or be too faint to read
- make gender of quest leaders and nemeses consistent with data.base and
- quest messages
- Orion and Norn should be giant sized
- Orion, Norn, Cyclops and Lord Surtur should be able to tear webs
- avoid inappropriate message when using a cursed lamp while blind
- player polymorphed as a guardian naga spit the wrong kind of venom
- ensure monsters cannot teleport to or be created outside nonpassable bounds
- of special levels
- candles should not be fireproof
- put #define for potion occupant chance and cursed wand zap chance in one place
- 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
- monsters could end up off the left side of the Ranger quest start level
- 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
- worms don't have scales, krakens have tentacles, stalkers have a head
- you no longer "fry to a crisp" as a water elemental
- change leather spellbook to leathery; pertains to appearance, not composition
- more precise probing/stethoscope feedback when engulfed
- make baby long worms have lower level than full grown ones
- use "your kraken" instead of "a kraken" when searching reveals a tame
- hidden monster
- Magicbane should not produce "<something> are confused" message
- handle antholes more sensibly when ants aren't available
- avoid "Something's in the way" message with unidentified wand of locking
- cancelled nurses shouldn't say "Relax, this won't hurt a bit"
- check for hero location in digactualhole() before clearing u.utrap
- clear any pits that the hero digs in the vault guard's temporary corridor
- 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
- shattering a monster's weapon didn't work as intended for stack of N>1
- 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 reveal surface information that you can neither feel or see
- if the hero or a monster is already in a pit don't have them "fall into a chasm"
- from drum of earthquake
- monsters who ate lizard corpses to cure confusion would lose intrinsic speed
- monsters couldn't eat lizard corpses to cure being stunned
- code handling a monster's use of potion or food to cure stoning or confusion
- was accessing freed memory after the object had been used up
- properly handle destruction of equipment carried by monsters hit by
- disintegration breath; life-saving retained conferred properties of
- formerly worn items (loss of steed's saddle caused much confusion)
- don't exercise or abuse wisdom when rumors get used for random graffiti
- don't exercise wisdom twice for each minor oracle consultation
- don't welcome the hero to Delphi if the Oracle was angered before first entry
- create_object() created lizard corpses without timers and troll corpses with
- their revive timers, then changed the corpsenm field
- when a potion of acid was dropped into water and exploded, nethack would
- continue to use already freed memory and later might panic or crash
- when jumping over an already seen trap, use an() to get appropriate grammar
- fix bad grammar when putting on not-yet-seen Eyes of the Overworld while blind
- don't "walk quietly" while levitating
- shopkeeper polymorphed into animal form can no longer speak
- don't give attribute adjustment messages ("you feel wise") unless the current
- value actually changes
- fix message handling when multiple shopkeepers are present at end of game
- 'C' command can't name shopkeepers or temple priests and other minions
- when "of <deity>" is intentionally being suppressed, an aligned or high
- priestess would be described as an aligned or high priest
- specifying role and/or race along with an invalid alignment for it/them in
- NETHACKOPTIONS or config file would yield a prompt which misleadingly
- mentioned the rejected alignment when asking player to pick alignment
- temple donation can recover protection previously stolen by attrcurse attack
- even when protection amount is so big that no increment would be given
- meditating monsters stop meditating when affected by something which wakes
- sleeping monsters
- 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 save file after being
- temporarily orphaned from the normal chains in the swallowing code
- display the invisible monster glyph ('I') whenever an unseen monster forces
- poly'd hero out of hiding
- 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
- escape the deleted trap after performing the invocation while trapped
- use alternate phrasing when life drain attack affects non-living creature
- bypass "wait! there's a creature hidden there" when attacking a hidden monster
- sensed by ongoing monster detection
- remove makedefs.c dependency that time_t and long are the same size
- terminal window set to 21 lines can cause a crash during player selection
- menus; have bot() check for valid youmonst.data
- make region ttl field a long instead of short to get rid of lint warnings
- about a possible loss of data
- free storage used to hold region messages in free_region()
- honor pushweapon when applying a tool or weapon causes it to become wielded
- in the quest, if the locate level hasn't been reached yet, don't fall or
- randomly teleport past it
- fix phrasing in monster against monster attack feedback when attacker is
- wielding stacked weapons
- 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
- don't place hero on top of monster when arriving on level which is so full
- that the monster can't be moved out of the way
- 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
- have to see a divine gift in order to have it become a discovery
- honor the never-in-hell flag when selecting random monster type for corpses,
- eggs, figurines, and statues created in Gehennom
- hero is not subject to light-based blindness while fainted from hunger
- add Unaware pseudo-property to suppress various messages while unconscious
- engraving while underwater should use surface() which handles that case
- prevent obj_is_local panic during bones creation when splattered burning oil
- from a thrown potion of oil kills the hero
- don't leave lit potion intact when splattered burning oil from broken floor
- potion kills the hero
- fix region timeout detection, caused strange display of stinking cloud
- while wearing the Eyes of the Overworld
- try to keep migrating monsters from escaping the wizard tower
- affected monsters should always respect "Elbereth"
- try harder to keep dragged chain between ball and hero
- fireproof containers should not burn in lava
- missile which kills engulfer will now be placed prior to hero's return to map
- fix invalid pointer dereference after applying a wielded cream pie
- avoid drowned in a drowning and burned by burning if life-saving is inadequate
- 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
- reveal hidden monsters who change levels or are magically summoned
- hero can't carry an unlimited number of boulders when poly'd into a giant
- stop wielding cockatrice corpse which triggered own death followed by life-save
- format various prompts to avoid "Query truncated" entries in paniclog
- prevent very large number of objects in # inventory slot from causing
- buffer overflow
- !fixinv config was using arbitrary characters instead of # for invent overflow
- 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
- don't report death by petrification if cockatrice kills hero via HP loss
- Riders are immune to green slime
- Rider corpses can't be engulfed by gelatinous cubes
- if Rider corpse revival fails, usually try again later instead of rotting away
- wielding a cloak of magic resistance or gray dragon scales, or carrying one in
- alternate weapon or quiver inventory slot, conferred magic resistance
- to polymorphed hero
- wielding a potion of blindness or carrying one in alternate weapon or quiver
- slot conferred resistance against light-based blindness to any hero
- worn item transformed by polymorph remains worn if feasible
- zapping closing or breaking magic up or down from beneath an open drawbridge's
- portcullis failed if bridge orientation was north-to-south (Valk quest)
- can't dip or apply grease to a worn item that's covered by another worn item
- sinking into lava didn't track passage of time properly
- sinking into lava eventually burns away slime; sitting in it always does
- after escaping lava by foot, if hero doesn't move he'll fall back in
- suppress corpse from bones data if death is due to being dissolved in lava
- suppress "you rise from the dead" if game ends due to be turned into slime
- 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
- don't give erroneous "<mon> disappears" message for hero poly'd into quantum
- mechanic who hits engulfer while swallowed and blinded
- demon lords/princes can't be summoned to the elemental or Astral planes
- feedback from casting spell of protection was wrong in some situations
- can't engrave on floor while inside solid rock, wall, or closed door
- 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
- remove engravings at drawbridge location when it is opened, closed, or wrecked
- monster killed in midst of multi-shot volley throwing/shooting might cause
- freed memory to be accessed, potentially triggering a crash
- right-handed boomerang throw travels counterclockwise
- can't arm bear traps or land mines on Planes of Air or Water
- statues that "come to life" when trap activates shouldn't start out sleeping
- shopkeepers and priests wouldn't step on graves put in their rooms by bones
- can't throw if poly'd into form which lacks hands
- monsters can use ranged attacks over/around boulders, same as hero
- can't eat an artifact you're unable to touch
- attempting to kick beyond map edge performed an out of array bounds memory
- access; symptom seen was "show_glyph: bad pos" warning when blind
- attempting to engrave with an empty wand should always use a turn
- don't access freed memory after engraving "wrests one last charge" from wand
- a magic portal could be rendered inactive for the hero if a successful
- hangup save took place during level change; leaving the level by any
- means other than triggering the portal would reactivate it
- 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
- hero wasn't allowed to affix candles to the candelabrum while underwater
- non-unicorn horn healing magic which cures sickness now also cures vomiting
- vomiting/nauseated state is included in enlightenment feedback
- vomiting countdown actually triggered the final vomit code twice
- rats aren't capable of vomiting
- fireproof, non-rustable weapon would be revealed as fireproof by hitting a
- rust-causing target; ditto for fixed crysknife
- surviving choking while eating various foods (cockatrice egg, fortune cookie,
- wolfsbane, others) didn't carry through to those foods' side-effects
- shapechangers who take on mimic or hider form will mimic or hide when feasible
- avoid War message if tinning a Rider corpse fails
- prevent long messages from triggering access violation or segmentation fault
- due to buffer overflow in pline()
- cursed corpse wielded by a monster isn't welded to its hand or paw
- fix grammar errors in samurai quest, wakarimasu ka?
- fix spelling of Dr Dolittle
- hero's sleep resistance shouldn't protect steed from sleeping gas trap
- #jump attempt fails if mounted on sleeping steed; jumping spell still works
- dropped wielded, in use leash should remain in inventory, since it's in-use
- wielded, in use leash can't be snatched by whip-wielding monster
- when using two weapons at once, whip-wielding monster can target either one
- 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
- can't #force floor item while engulfed, levitating, or unskilled riding
- can't lock or unlock doors while engulfed
- if hero or monster standing on opened drawbridge survives its destruction,
- fall into water or lava instead of remaining on top
- don't give a speed change message when an immobile monster is seen to be hit
- by a wand of speed or slow monster
- when shopkeeper "gratefully inherits possessions" of hero who dies in shop
- doorway without owing the shop, move those items inside shop for bones
- dying in a shop while wielding two weapons could cause "Setworn: mask" warning
- make score file processing more bullet proof to avoid potential security issue
- 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
- towel equipped in weapon, alternate weapon, or quiver slot can be applied
- lit candle or potion of oil which burned out while equipped would leave stale
- weapon/alternate-weapon/quiver pointer that could cause panic or crash
- wielded/worn figurine which auto-transformed had same stale pointer bug
- likewise with casting stone-to-flesh on self for figurine of non-veggy monst
- format names of not yet id'd artifacts such that obj type shows for non-weapons
- 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
- make quest leader and nemesis be unlikely to be affected by traps
- 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
- use a more precise jumping path for far, non-straight line destinations
- 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
- increase damage bonus applies when kicking while polymorphed into a monster
- form which has a kicking attack, just like for other kicks
- feedback about summoned monsters may use singular when it should use plural
- if magically removing steed's saddle is fatal, don't leave it saddled in bones
- charging prompt used wrong criteria when deciding whether to list rings
- 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
- an orc (or gnome) will respond to #chat if hero is also an orc (or gnome)
- override non-silver vs shades for artifacts which deal extra damage to undead
- assorted mirror fixes--mainly visibility issues
- kicking at "empty space" has side-effects so should use current turn
- using weapon to kill tame engulfer from inside triggered "placing defunct
- monster onto map?" warning
- some monsters can't be strangled; self-polymorph can stop/restart strangulation
- nymphs could steal carried boulders
- amnesia of object discoveries would never forget the very last one
- 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
- code controlling item drops by small monsters still used pre-3.1.0 weight
- monsters who want the Amulet won't attack the Wizard to try to get it
- when loading bones files, censor suspect characters from player-supplied
- strings such as pet and fruit names
- opening or closing the castle drawbridge via music consumes a turn
- 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
- could get "suddenly you cannot see the <mon>" while invisible mon remained
- displayed due to telepathy or extended detection
- cutting a long worm in half would trigger segfault/accvio crash if the hit
- took parent down to 1 hit point or if long worms had become extinct
- cutting a level 0 long worm in half produced a new worm with 0 hit points
- 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
- blinded invisible hero can't see self as invisible via ';' or '/'
- 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
- a hangup save while picking up gold from shop floor could duplicate that gold
- 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 (nominally aligned)
- jellyfish do not technically have a head
- 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
- potion explosion during failed alchemy should awaken nearby monsters
- 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
- lit south wall of C quest leader's room contained dark gap at secret door spot
- when probing from inside an engulfer, "not carrying anything" overlooked hero
- archeologist shouldn't start with sling skill by carrying slingable touchstone
- 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
- ensure current_fruit gets set to the correct index when setting fruit
- option to existing entry whose fid is not the highest
- monsters already wearing suits can't put on shirts
- 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 attempt yielded a clumsy miss
- too accurate feedback given to a blinded hero when a monster summons insects
- if life-saved steed became untame, repeated "placing steed onto map?" warnings
- would be given as long as the hero remained mounted
- 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
- trying to move down while levitating said "you are floating high above floor"
- even when being stuck in floor or lava blocked full levitation
- 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
- hero poly'd into mimic and hiding as an object via #monster didn't unhide
- when polymorphing into non-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
- message "You hit the with all your might." could be issued if a boulder
- went away while it was being dug/broken with a pick-axe
- prevent "object lost" panic if/when drinking a wielded potion of polymorph
- causes hero's new form to drop weapon
- documentation tidbit: change Guidebook and in-game help for pickup_burden
- option to match game's 'O' command ("Unencumbered", not "Unburdened")
- writing while blind no longer possible for books, might fail for scrolls
- blanking items in pools while blind shouldn't reveal new obj description
- for ones which had been seen before becoming blind
- avoid infinite loop in topten output when killed by long-named monster
- grid bug could move diagonally 1 step using travel command
- 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 teleportation 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
- unpaid shop items stolen from hero by a monster remained on hero's shop bill
- #untrap toward known trap location containing concealed mimic would yield
- "{The mimic|It} {is in the way|isn't trapped}." but not reveal mimic
- some actions taken when blind would yield "Wait! That's a monster!" (for a
- mimic posing as a door) but not display the unseen monster glyph
- 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
- when polymorphed into an opposite sex monster, if you then become a new
- human while failing to polymorph into something else, you'd be told
- "you feel like a new man" for female or "a new woman" for male
- 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
- the weight of a non-cursed bag of holding was sometimes off by 1 unit
- for number_pad:2 (MSDOS compatibility), M-5 (Alt+5, or Shift+keypad5 using
- MSDOS/Windows keystroke hackery) didn't function as G movement prefix
- 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
- objects inside the Wizard's Tower can't be teleport to outside and vice versa
- 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
- unlit candelabrum would become unlightable if its candles had exactly 1 turn
- of fuel left and it was applied anywhere other than the invocation spot
- 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
- temporary loss of Dex from wounded legs will become permanent if it occurs
- while mounted and hero dismounts before steed's legs have healed
- 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
- poly'd hero can't hide on floor or ceiling when on Planes of Air or Water
- 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.
- character escape sequence handling during options processing was vulnerable
- to malformed escapes and could potentially be abused to clobber the
- stack and launch a buffer overrun attack
- 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
- hero poly'd into a critter without hands could still open tins
- if a vault guard was killed, his inventory would be dropped at <0,0>
- throwing gold to/at a vault guard will no longer be treated as an attack
- non-pit traps created in vault guard's temporary corridor would remain after
- the location reverted to solid rock
- using magic to light vault guard's temporary corridor would produce lit solid
- rock after reversion, and then yield lit corridor if dug out again
- if hero was blind, killing the vault guard while in his temporary corridor
- would leave hero encased in solid rock without informing player
- if hero dragged iron ball into temporary corridor and then killed vault guard,
- the portion of corridor currently in existence would become permanent
- on Plane of Water, restrict levitation and flying to air bubbles;
- elsewhere, restrict them such that they don't work inside solid rock
- wand/scroll/spell of light now hurts gremlins (lamp/candle light doesn't)
- ditto for hero in gremlin form (camera too)
- autosearch finds and transforms secret doors and corridors even while blind,
- but it wasn't updating the map to show them unless the hero could see
- fix message typo, "you sold some items inside <container> for N gold piecess"
- hangup save made during magic mapping or <foo> detection performed while
- underwater could put hero on top of the water after restore
- fix bug preventing stone-resistant monster w/o gloves from wielding cockatrice
- items conferring life drain resistance were affected by drain life spell
- 'a'pply command could be used to recognize undiscovered potions of oil
- fix replacing an existing bones file in wizard mode [load?y, unlink?n, die?y,
- save?y, replace?y] for configurations using external file compression
- theft of worn armor with wear/unwear delay would interfere with completion of
- wearing or unwearing some other armor which also imposed a delay
- (disrupted wear attempt for +N helm of brilliance would result in loss
- of N points of Int and Wis; gauntlets of dexterity had similar problem)
- #sit while swallowed would give the wrong message
- alchemical explosion or evaporation only used up one potion instead of all
- the potions being dipped
- feedback for reverse-genocide was plural even when just one monster was created
- fix message given when part of a stack of items in a monster's inventory is
- being destroyed
- add "Boing!" message when hero zaps resistant monster with striking/force bolt
- adjust gaze reflection message when your scales are embedded in your skin
- adjust turning-to-stone or -slime messages when you have no limbs
- wizard mode ^F on Plane of Water marked portal as seen but didn't display it
- magic mapping now displays furniture in preference to known or remembered traps
- or objects and known traps in preference to remembered objects
- restrictions on diagonal movement were ignored when crawling out of water
- when using magic whistle, prevent steed from being affected (trap interaction)
- declining to attack a peaceful monster via movement used up nutrition even
- though no action took place
- declining to attack a peaceful monster via kicking woke nearby monsters and
- scuffed engraving at hero's location even though no action took place
- make hero be immune from stinking cloud damage during successful prayer
- very fast hero would sometimes take two consecutive moves with very fast
- monsters then getting two moves, instead of interleaving the activity
- when a monster zapped by polymorph drops inventory because of its new form,
- don't let that same zap hit the dropped item(s)
- entering an untended shop while blind gave an inappropriate message
- engraving feedback about partial text when weapon became too dull to finish
- was lacking sentence-ending period
- impossible() might display inaccurate feedback after updating paniclog
- fix crash which occurred if hero was teleported onto a sink while busy putting
- on or taking off levitation boots
- fix "object lost" panic (or even crash) when dropping multiple items while
- levitating and a lit potion of oil explodes and destroys some inventory
- fix "object_is_local" panic when saving bones after hero is killed by explosion
- produced by dropped or thrown lit potion of oil
- gold dropped on altar by hero wouldn't stack with gold dropped there by monster
- if lava burns up the player's water walking boots, the player falls in
- the messages for lava burning items up are always printed
- fix used-up magic trap trying to hit steed.
- messages are now printed when objects on the ground are eroded
- object erosion now always identifies fooproof objects
- grease protects from all types of erosion
- all sources of erosion now affect objects the same way
- passive attacks no longer erode armor covered by other armor
- dipping a fooproof item into acid no longer forgets that it's fooproof
- dipping a container into uncursed water now gets its contents wet
- sanitize petnames and fruit to prevent escape codes
- data.base "bat" overrode later "combat" entry
- data.base "gelatinous cube" and "jack boot" have their own entries
- data.base "vampire bat" matched twice; use the bat entry
- data.base dagger attribution started with spaces instead of tabs
- remove 'if (Deaf)' guards preceding You_hear which already checks deafness
- use a menu to loot multiple containers
- do_look() in post-3.4.3 used glyph prior to setting it in pager.c
- charge for a boulder that fills a pit in shop
- abuse wisdom in keeping with Rider eating message
- message inconsistency: death message "swallowed <mon> whole" was preceded
- by "You bite into"
- improve the messaging when a monster you can't see is causing an obstruction
- add option mention_walls, which gives feedback when bumping against a wall
- fix invalid pointer dereference in morguemon if ndemon returns NON_PM
- after object loss through polyshudder don't get left hiding under nothing
- if you're polymorphed into a hider
- show object symbols in menu headings in menus where those object symbols
- act as menu accelerators, toggleable via "menu_objsyms" option
- show t-shirt text at end of game inventory disclose
- hitting with a polearm remembers the position of the last monster you hit
- add messages for trying to pick up some terrain features
- boomerang makes noise when hitting a sink
- non-pet rust monsters would eat rust-proofed non-digestibles but ignore
- those non-digestibles otherwise
- kicking a grave may topple the gravestone
- allow showing legal positions for stinking cloud, jumping and polearms
- when asked for a location
- cloned creatures (of any type) don't deathdrop items
- pudding corpses behave somewhat differently than before
- mithril armor should have silver color
- lichen corpse is an acid indicator
- camera may contain a picture-painting demon
- some monsters can eat through iron bars
- inaccessible niches occasionally have iron bars in front
- sinks may teleport or polymorph
- shopkeepers give honorifics to vampires and elves
- when commands (D, A, object identify) mix object class filtering with BUCX
- filtering, take the intersection rather than the union (so ?B picks
- blessed scrolls rather than all scrolls plus blessed everything)
- bmask is stored with the objects on the Plane of Water to prevent segfault
- engraving on drawbridge with wand of digging should produce appropriate
- message instead of referring to gravel
- engraving Elbereth is less efficient as protection
- scare monster scroll now provides a better effect
- monsters without hands can no longer pick up piles of objects (with
- certain exceptions)
- uncursed enchant weapon now correctly fixes erosion
- scroll of earth messages cleaned up
- long worms can no longer be leashed
- the chest in the Castle containing the wishing wand can never be trapped
- the vibrating square is now a trap
- mimics wouldn't take on the form of "strange object"
- add an option to prevent omitting the uncursed status from inventory
- show prices when walking over the shop merchandise
- you shouldn't see Sting glow light blue if you're blind
- when jumping, bumping into something is noisy
- flesh golems hit by electricity healed by wrong amount
- fleeing monsters couldn't use stairs that lead to different dungeon branch
- casting spell of protection when previous casting(s) hadn't time out yet
- miscalculated the new AC increment
- remaining monsters continued to move after hero conceptually left the level
- when a monster knocked him onto a level-changing trap (this bug made
- it be feasible--but not practical--to level teleport with the Amulet)
- #turn for non-priest/non-knight attempts to cast "turn undead" spell, but
- was forcing the spell to target self rather than choose a direction
- potions of gain energy are more useful for recovering hero's spell energy
- spellcasting attempt of any spell while stunned now always fails
- spellcasting attempt of expired spell while confused will increase confusion
- duration rather than replace it
- add ways to get out of inaccessible niches in one of the minetown layouts
- Platform- and/or Interface-Specific Fixes
- -----------------------------------------
- FreeBSD: compilation problems on FreeBSD 6.1
- linux: compile support for TIOCGWINSZ by default
- smartphone: do not translate input when command helper is hidden (fixes
- Motorola Q keyboard bug)
- smartphone: new keypad layouts
- smartphone: wizard mode command layout
- smartphone: option to feed arbitrary text as a command to nethack core
- tty: when loading user's run-time configuration, explicitly negating one of
- {DEC,IBM,MAC}graphics options after enabling another of them switched
- to regular ASCII and left the earlier option inaccurately set to "on"
- tty: various bugfixes for very wide and/or tall screens
- tty+GOLDOBJ: dropping or looting by menu wouldn't honor a count for gold
- tty: fix crashing when a location has more than 32k items
- tty: fix segfault when MD termcap is not defined
- tty: do not cut off statuslines at 80 characters for wider term
- tty: prevent accidental escapes from string entries
- tty: hilight object piles
- unix: remove use of parentheses in nethack man page usage that confused a
- man page conversion tool
- 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
- unix/Qt: saved games were not found if nethack was built with prefixes in use
- unix,vms: allow digits after first character in name at "Who are you?" prompt
- unix: implement fcntl(2) locking on systems that can handle it
- vms: the DLB configuration could fail to build if a file without a dot
- in its name happened to match a logical name
- Windows: starting a game with nethack.exe (tty) and saving, then restoring
- and finishing with nethackW.exe (win32) would display the high scores
- output in a series of popup windows, one for each line of text
- Windows, probably MSDOS and OS/2: attempting to use very first false rumor
- for cookie fortune or random engraving could produce garbled text
- when rumors.tru had CR+LF line ends instead of Unix-style LF lines
- #if CLIPPING: during teleport or hurtle, re-clip the map immediately instead
- of waiting until hero's next move
- winCE: disable processing of double-click messages if the first click
- causes map to scroll
- winCE: help text windows close immediately after open (unhandled WM_KEYDOWN
- in mhtext.c)
- winCE: correct coordinates used by action button
- winCE: wrap/unwrap text option for text windows
- winCE: hardware keyboard detection
- winCE: hide keypad when hardware keyboard is present
- winCE: backport message window highlighting from winnt port
- winCE: new icon with recommended image sizes
- pocketpc: menu window closes on up/down keys from first/last position
- 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
- X11: support dynamic switching of map mode via tiled_map option
- X11: added support for hilite_pet to text map mode
- X11: ensure vertical scrollbar shows up in text display windows
- X11: fix typo in mouse click sanity check; result might have pointed to
- spurious location after window resizing
- X11: use a plus sign to mark piles of objects
- 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
- build-from-source: dlb utility can handle arbitrary number of files
- General New Features
- --------------------
- when you're teetering on the edge of a pit you can use '>' to enter the pit
- when you're flying over a pit you can use '>' to enter the pit
- when asked for a direction, a response of '?' yields help and then asks again
- when adding an item to inventory, try to stack it with the quiver slot
- before trying against other carried objects
- #adjust can be used to split an inventory stack
- cockatrice meat has a distinct flavor to some
- wish request for "<something> armor" will match item named "<something> mail"
- Fire Brand and Frost Brand have a chance to avoid taking rust damage
- support ^R (and ^L in numpad mode) to request display repaint during direction
- choosing and location choosing prompting modes
- intelligent pets will use keys to unlock doors
- destroyed drawbridge leaves some iron chains
- give feedback when a nearby monster grows into a stronger form
- familiars are now created without any starting inventory
- using the 'f' command when quiver is empty will fill quiver with player's
- response to the "what to throw?" prompt
- breaking a wand with the apply command has a chance to wrest an extra charge
- 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 message 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 poly'd
- rocks can skip on 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 to show unobstructed view of map (w/o mons, objs, traps)
- digging can activate or disarm some types of traps
- some monsters can eat tins in addition to corpses to cure some ailments
- 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 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
- 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
- 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'
- display version and build information at startup
- repeatedly setting the fruit option will check to see if fruits have been
- created, so the user can't easily overflow the maximum this way
- bones files now include extra data to identify dead hero and reason for death
- dipping multiple potions in another potion may only dip part of their stack
- make being inside a stinking cloud (when not immune or resistant) become a
- major trouble which is fixable by prayer
- introduce some variation in monster movement rates
- add database entry for shuriken and make it match throwing star
- add database entries for fedora, land mine, cream pie, bullwhip, blue jelly,
- and boomerang
- change command X to twoweapon toggle
- pressing @ when cursor positioning moves cursor on top of hero
- pressing # when cursor positioning toggles automatic description of features
- under the cursor
- cursor positioning ignores uninteresting dungeon features
- allow reading many more items
- when you're hiding under something a zap downward should not hit that
- something, while a zap upward should
- show more explicit reason why player was helpless at death
- added new hallucinatory-only gods
- options to create the character blind or nudist
- moving clouds on the plane of air
- disclose extinct species alongside genocided ones
- a tribute to Terry Pratchett
- some levels in Gehennom now use the old corridor-style maze instead of the
- new room-style. Beelzebub's level always does this and the
- "beetle legs" are restored.
- gnomes will occasionally have a candle
- stop travel or run when you get hungry
- 'I' command can accept 'B','U','C',or 'X' as an alternative to normal object
- class character to show inventory of items known to be blessed,&c
- debug-mode viewing of object weight
- prizes on various levels now protected by ?oSM scrolls as well as Elbereth
- regexes now use system libraries consistently for all pattern-matching systems
- wet towels deal more damage
- 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"
- win32gui, win32tty: add support for looking for sysconf in %COMMONPROGRAMFILES%
- first and for user config file in %USERPROFILE% (improves support for
- multi-login Windows environments)
- 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
- tty: implement : (menu_search) command
- 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
- tty,win32gui,win32tty: add menucolors
- MSVC: send debugpline output to 'debug' window to declutter game screen
- NetHack Community Patches (or Variation) Included
- -------------------------------------------------
- Roderick Schertler's pickup_thrown patch
- adopt/adapt/extend Malcolm Ryan's Statue Glyphs patch to work for tty and tiles
- 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'
- adopt/adapt/improve Dungeon Overview
- Aardvark Joe's Extended Logfile
- Michael Deutschmann's use_darkgray
- Clive Crous' dark_room
- sortloot by Jeroen Demeyer and Jukka Lahtinen
- Auto open doors by Stefano Busti
- 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
- add param to winsys ini routines to allow cleaner shifting during startup
- make STEED, EXP_ON_BOTL, REDO, AUTOPICKUP_EXCEPTIONS, GOLDOBJ, WIZARD, SINKS,
- REINCARNATION, TOURIST, KOPS and ELBERETH unconditional
- make SEDUCE compile-time unconditional but still removable through SYSCF
- clean up some DEBUG conditional code
- allow defining of generic usernames in config.h instead of hard-coding in role.c
- set indentation to 4 spaces in most source files
Add Comment
Please, Sign In to add comment