While testing something, I noticed that my last remaining discovery would never be forgotten. The formula count = ((count * percent) + 50) / 100 always yields 0 with count==1 and percent==25 (the value used for mind flayer attacks). Not likely to come up in actual play very often....
406 lines
24 KiB
Groff
406 lines
24 KiB
Groff
$RCSfile$ $Revision$ $Date$
|
|
|
|
General Fixes and Modified Features
|
|
-----------------------------------
|
|
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 ackwardly 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
|
|
don't display "turns to flee" message for a mimicing mimic
|
|
dipping acid in a fountain could cause an explosion but not destroy the potion
|
|
if your blindfold glows and you're not otherwise blinded, you can see it
|
|
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
|
|
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
|
|
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
|
|
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 occuring 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
|
|
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
|
|
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 poisioning 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
|
|
further digging of an existing hole finishes in a single turn
|
|
only prefix shopkeeper names with "Mr." or "Ms." when not a personal name
|
|
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
|
|
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
|
|
`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
|
|
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" strategy
|
|
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
|
|
some messages which referred to "mirror" ought to have used "looking glass"
|
|
incubi react to mirrors
|
|
alignment of Angels was handled inconsistently
|
|
pets capable of digging could pass through walls and stone on the Rogue level
|
|
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
|
|
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
|
|
identified touchstone can rub on gold like the data.base entry says
|
|
restore the capability of rubbing any object against known touchstone
|
|
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
|
|
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
|
|
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
|
|
recognize "mindflayer" as an alternative spelling for "mind flayer"
|
|
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
|
|
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
|
|
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
|
|
ensure monsters cannot teleport to or be created outside nonpassable bounds
|
|
of special levels
|
|
candles should not be fireproof
|
|
monsters could end up off the left side of the Ranger quest start level
|
|
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
|
|
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
|
|
shattering a monster's weapon didn't work as intended for stack of N>1
|
|
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 exercize or abuse wisdom when rumors get used for random graffiti
|
|
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
|
|
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
|
|
display the invisible monster glyph ('I') whenever an unseen monster forces
|
|
poly'd hero out of hiding
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
fix invalid pointer dereference after applying a wielded cream pie
|
|
avoid drowned in a drowning and burned by burning if life-saving is inadequate
|
|
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
|
|
prevent very large number of objects in # inventory slot from causing
|
|
buffer overflow
|
|
!fixinv config was using arbitrary characters instead of # for invent overflow
|
|
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
|
|
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
|
|
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)
|
|
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
|
|
don't give erroneous "<mon> disppears" message for hero poly'd into quantum
|
|
mechanic who hits engulfer while swallowed and blinded
|
|
feedback from casting spell of protection was wrong in some situations
|
|
can't engrave on floor while inside solid rock, wall, or closed door
|
|
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
|
|
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
|
|
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 charnge" 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
make quest leader and nemesis be unlikely to be affected by traps
|
|
use a more precise jumping path for far, non-straight line destinations
|
|
increase damage bonus applies when kicking while polymorphed into a monster
|
|
form which has a kicking attack, just like for other kicks
|
|
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
|
|
an orc (or gnome) will respond to #chat if hero is also an orc (or gnome)
|
|
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
|
|
nymphs could steal carried boulders
|
|
amnesia of object discoveries would never forget the very last one
|
|
|
|
|
|
Platform- and/or Interface-Specific Fixes
|
|
-----------------------------------------
|
|
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+GOLDOBJ: dropping or looting by menu wouldn't honor a count for gold
|
|
unix: remove use of parentheses in nethack man page usage that confused a
|
|
man page conversion tool
|
|
unix,vms: allow digits after first character in name at "Who are you?" prompt
|
|
winCE: disable processing of double-click messages if the first click
|
|
causes map to scroll
|
|
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
|
|
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
|
|
unix/Qt: saved games were not found if nethack was built with prefixes in use
|
|
FreeBSD: compilation problems on FreeBSD 6.1
|
|
|
|
|
|
General New Features
|
|
--------------------
|
|
when you're teetering on the edge of 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
|
|
|
|
|
|
Platform- and/or Interface-Specific New Features
|
|
------------------------------------------------
|
|
|