1165 lines
71 KiB
Plaintext
1165 lines
71 KiB
Plaintext
$NHDT-Branch$:$NHDT-Revision$ $NHDT-Date$
|
|
$rcsfile: fixes35.0,v $ $Revision: 1.445 $ $Date: 2014/11/18 03:10:36 $
|
|
|
|
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 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
|
|
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 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
|
|
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 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
|
|
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" 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
|
|
prevent lose-level+regain-level cycle from arbritrarily boosting HP and Pw
|
|
prevent polymorphing into "new man" at low level from magnifying HP and Pw
|
|
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 exercize or abuse wisdom when rumors get used for random graffiti
|
|
don't exercize 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 mosnters
|
|
monsters capable of hiding can't do so when trapped or while holding you
|
|
limit recursive calls to spoteffects (poly'd hero fell into water, reverted
|
|
to human because of it, fell into same water, then crawled out twice)
|
|
ensure that the punishment ball and chain make it into the save file after being
|
|
temporarily orphaned from the normal chains in the swallowing code
|
|
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> disppears" 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 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
|
|
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 (nomimally 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 attmpt 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 teleporation was
|
|
too late if hero happened to land on another scroll of teleportation
|
|
using an unlocking tool on a closed door which was actually a mimic reported
|
|
that there was no door to unlock instead of exposing the mimic
|
|
purple worm could end up in wall or solid rock when swallowing ghost or xorn
|
|
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 vica 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 vulernable
|
|
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 monsters w/o gloves from wielding cockatrices
|
|
items conferring life drain resistance were affected by drain life spell
|
|
'a'pply command could be used to recogniize 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
|
|
tse 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
|
|
|
|
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
|
|
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
|
|
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 messsage history in save file
|
|
the following actions can now be continued after save/restore: digging,
|
|
eating, studying, removing armor
|
|
hero-created and monster-created ice will eventually melt away
|
|
extend Warning to include ice danger
|
|
wishing for particular variety of tin contents (deep fried, broiled, etc.)
|
|
debug-mode wishing for random monster(s) via '*'
|
|
debug-mode viewing of fully identified object descriptions without
|
|
actually identifying the objects
|
|
health-food store that stocks monk-appropriate foods in mine town when monk
|
|
give more information about your attributes in debug mode
|
|
polywarn to give intrinsic monster detection of limited species while polymorphed
|
|
rocks can skip on the water sometimes allowing them to pass over water creatures
|
|
vampires can now shapeshift into bats and fog clouds; the latter can be done at
|
|
will to slip through locked doors
|
|
shapeshifted vampire will transform back to vampire form after you defeat it and
|
|
continue to fight in its native form
|
|
container lknown flag for locked/unlocked/broken awareness
|
|
container cknown flag for container content awareness
|
|
plname is stored in the save file on all platforms now
|
|
introduce support for negation of role, race, align, gender values to eliminate
|
|
them from random selection and the pick list of startup choices
|
|
some intelligent pets will avoid cannibalism
|
|
keep track of which monsters were cloned from other monsters
|
|
cloned and revived monsters become worth fewer points than ordinary ones
|
|
number_pad:3 run-time option to use inverted phone keypad layout for movement
|
|
number_pad:-1 to swap function of y and z keys; z to move NW, y to zap wands
|
|
display spell retention information in the spell menu
|
|
tame ghouls can eat old eggs
|
|
new effect for reading a scroll of light while confused
|
|
allow digging an adjacent pit with wand of digging while trapped in a pit
|
|
#terrain command 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 the symbols file
|
|
new config file keyword: SYMBOLS for overriding character symbol values by name
|
|
opening magic frees from bear traps and webs, activates trap doors
|
|
closing magic activates bear traps and webs
|
|
locking converts a hole into a trap door; striking does the opposite
|
|
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 entry for fedora
|
|
Add database entry for land mine
|
|
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
|
|
|
|
|
|
Platform- and/or Interface-Specific New Features
|
|
------------------------------------------------
|
|
pcmain: check for dlb_init failure rather than relying on dungeon open failure
|
|
win32gui: support perm_invent
|
|
win32gui: menu option to add/remove windows captions
|
|
win32gui: support for saving/restoring message history
|
|
win32gui: added menu options "Copy ASCII Screenshot To Clipboard" and "Save
|
|
ASCII Screenshot To File"
|
|
win32tty: support for 'selectsaved' option for menu of existing save files
|
|
to choose from at game startup
|
|
tty: add window port routines for saving/restoring message history
|
|
tty: enhanced role, race, &c selection at start of new game
|
|
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
|
|
|
|
|
|
NetHack Community Patches (or Variation) Included
|
|
-------------------------------------------------
|
|
Roderick Schertler's pickup_thrown patch
|
|
Malcolm Ryan's Statue Glyphs patch
|
|
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
|
|
|
|
|
|
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 unconditional
|
|
make EXP_ON_BOTL unconditional
|
|
make REDO unconditional
|
|
make AUTOPICKUP_EXCEPTIONS unconditional
|
|
make SEDUCE compile-time unconditional but still removable through SYSCF
|
|
clean up some DEBUG conditional code
|
|
make GOLDOBJ unconditional
|
|
make WIZARD unconditional
|
|
make SINKS
|
|
make REINCARNATION
|
|
make TOURIST unconditional
|
|
make KOPS unconditional
|
|
make ELBERETH unconditional
|
|
allow defining of generic usernames in config.h instead of hard-coding in role.c
|
|
|