892 lines
55 KiB
Groff
892 lines
55 KiB
Groff
$NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.448 $ $NHDT-Date: 1524780380 2018/04/26 22:06:20 $
|
|
|
|
General Fixes and Modified Features
|
|
-----------------------------------
|
|
doc/*.6 man pages and corresponding doc/*.txt text copies were out of date
|
|
data.base entry for "lava" had wrong first name for Don Woods' attribution
|
|
cursed genocide of "none" sent in monsters, but "that's enough tries" didn't
|
|
update MAXPLAYERS documentation in sysconf file and accept 0 for 'no limit'
|
|
wizard mode: don't include feedback about named fruit for ^X and enlightenment
|
|
looking at distant objects while wearing the Eyes of the Overworld made their
|
|
up-close descriptions known when not intended
|
|
message when cursed wand zapped by a monster happens to explode was suppressed
|
|
if hero was deaf, even though that message has no audible component
|
|
support explicit 'symset:default' and 'symset:Default symbols' in options
|
|
crash during startup if player name set as 'player' in defaults
|
|
crash during startup if defaults file has a long line
|
|
any existing vampire shape-shifted into critter (fog cloud, bat, wolf) became
|
|
an unkillable critter if vampires were genocided
|
|
unlike in previous versions, an uncursed scroll of enchant armor failed to
|
|
uncurse the piece of armor being enchanted (change was unintentional)
|
|
slice of {pizza,cake,&} pluralized as "slouse of ..." due to false match
|
|
with "lice" (discovered pre-3.6.0-release)
|
|
change dipping prompt to not ignore 'called' and 'named' attributes of item
|
|
to be dipped
|
|
avoid 'the unlabeled {scroll,spellbook} fades' when blank item is hit by water
|
|
wrong message given when high priest on astral plane rejects being assigned a
|
|
name (got the one for unique monsters instead of the one for priests)
|
|
negative intrinsic protection shouldn't confer MC=1, "you are warded" (not
|
|
possible from divine protection but is possible from eating rings)
|
|
make a slight adjustment to the quickmimic() sense wording
|
|
fix typo in passage 1 of The Colour of Magic
|
|
fix typos in passages 2 and 6 of Thud!
|
|
falling asleep when reading dull spellbook ignored sleep resistance
|
|
getpos() complaint about invalid movement keystroke didn't describe meta-chars
|
|
accurately
|
|
'realtime' value in xlogfile was incorrect if 'checkpoint' option was active
|
|
make a previously-discovered scroll written with marker while blind have its
|
|
label known so it can be read while blind
|
|
#name or C for discoveries list that spanned multiple pages would exit on
|
|
space instead of advancing to next page (workaround: use '>' instead)
|
|
don't show the old level when you die going down the stairs because of an
|
|
iron ball
|
|
new high score with ", while helpless" attribute appended would erroneously
|
|
result in ", while helpless" being appended to all following entries
|
|
allow bright aliases for colors in menucolors
|
|
avoid hearing yelps when you are deaf
|
|
make corpse visible if stethoscope told you about it being there
|
|
sceptre of might database entry word change
|
|
avoid "spellbook of novel" on discoveries list after object ID of novel
|
|
add novel to discoveries list after reading one
|
|
putting gold into hero-owned container on shop floor gave free credit
|
|
stack splitting for dipping large quantities of potions was done poorly
|
|
dipping fruit juice into enlightenment gave different result than the inverse
|
|
make travel walk up to a trap and stop when the trap blocks the only
|
|
way forward, instead of trying to go straight line
|
|
travel will displace pets rather than stop
|
|
discard travel cache when moving to a different dungeon level
|
|
do not autopickup unpaid items in shops
|
|
death due an unseen gas spore's explosion resulted in "killed by a died"
|
|
allow optional parameter "true", "yes", "false", or "no" for boolean options
|
|
actually make the castle chest not trapped
|
|
level-drain resistance wasn't shown during enlightenment if it was conferred
|
|
by worn/wielded equipment or by lycanthropy
|
|
wizard mode enlightenment now shows more reasons for various intrinsics
|
|
rehumanizing after being poly'd into vampire left hero with ability to sense
|
|
humans and elves
|
|
Warn_of_mon wouldn't have been able to sense giant ants if any creature were
|
|
to have that ability, caused by using 0 instead of NON_PM for 'none'
|
|
tone down energy vortex's drain energy attack
|
|
fix message typo if tame mind flayer dies trying to eat Medusa's brains
|
|
use alternate rejection message if attempting to name an unnameable monster
|
|
with the name it already has
|
|
cockatrice corpse no longer leaves multiple statues for shape-shifted vampire
|
|
alter name of monster causing hero's death if name contains characters that
|
|
could cause confusion when using record, logfile, or xlogfile later
|
|
teleporting or polymorphing a sink via ring drop shouldn't depend upon being
|
|
able to see it happen
|
|
change "unlockable chest" to "broken chest" so that it won't be misunderstood
|
|
("capable of being unlocked" vs intended "not capable of being locked")
|
|
use doname instead of xname when using '/' or ';' to look at objects on map
|
|
when a pet moves reluctantly, name the top item of the pile it is reluctant
|
|
to step on if the hero sees or remembers any object(s) at that spot
|
|
ensure sufficient messages are given to clarify the transition from detected
|
|
vampire bats to fog clouds in Vlad's tower
|
|
fix "killing by kicking something weird" when kicking an object causes death
|
|
avoid accessing mextra fields which haven't been allocated
|
|
compile-time option for an alternate paniclog format for public server use
|
|
make monsters forget where they stepped when fleeing or teleporting
|
|
requiver pickup_thrown objects if quiver is empty
|
|
make mimics mimicing walls or trees also block light
|
|
stepping onto lava destroyed non-fireproof water walking boots but left other
|
|
vulnerable boot types intact
|
|
damage and death reasons when eating globs referred to them as corpses
|
|
fix death reason when petrified (avoid redundant 'while getting stoned')
|
|
use appropriate place name for drum of earthquake shakes
|
|
fix unmapped branch stairs on sokoban level
|
|
redraw map when hilite_pile is toggled to display the highlighting
|
|
make commands that accept a count prefix for item selection
|
|
show "Count:" like command repeating does
|
|
make vault guard accept names starting with number
|
|
fix weight of containers in special levels
|
|
make the raven medusa level shortsighted
|
|
fix possible segfault in lev_comp when map was too tall
|
|
fix "the ice is bridged with ice" when freezing castle's moat or Medusa's sea
|
|
make monsters and pets avoid poison gas clouds if it would damage them
|
|
covetous monsters may choose to teleport to downstairs or ladders
|
|
doppelganger posing as Rider would never change shape
|
|
since doppelganger posing as Rider could never revert to innate form,
|
|
protection from shape changers turned it into genuine Rider
|
|
don't create globs of ooze/slime/pudding with bknown flag set so pre-known to
|
|
be "uncursed"
|
|
do allow globs with same curse/bless state to merge even when that state is
|
|
known for one and unknown for the other; result will have bknown clear
|
|
make glob merging on floor behave the same as glob merging in inventory
|
|
track age of merged globs
|
|
support globs for edibility temporary intrinsic
|
|
restore ability to gain intrinsics from black puddings (pass globs to cpostfx)
|
|
eating tainted black pudding (glob in 3.6.0, corpse in 3.4.x and 3.3.x)
|
|
referred to it as "meat" (because it's not vegetarian food)
|
|
fix pile mark after killing a monster carrying a potion which is destroyed
|
|
don't list suit as likely candidate for Take-off if cloak blocks it
|
|
only list known blank scrolls and known blank spellbooks as likely candidates
|
|
when choosing an item to write on for applied magic marker
|
|
make status hilites use same color names as menucolors
|
|
limit monster spell aggravate monsters to either outside or inside of the
|
|
Wizard's tower
|
|
prevent revived unique from inheriting a user-defined name
|
|
make hurtling out of air bubble on the Plane of Water handle entering water
|
|
fix floor descriptions on the Planes when levitating
|
|
fix warning glyph description when monster symbol coincided the warning symbol
|
|
override MSGTYPE=norep while executing the ':' command
|
|
if a chameleon took vampire form, it would stop periodically changing shape
|
|
corpses obtained from tipping an ice box wouldn't rot away
|
|
suppress "you climb up the stairs" message if verbose option is off
|
|
physical damage from mind flayer attack was being inflicted twice
|
|
adjust pending movement points when polymorphing into a slower creature
|
|
damage inflicted by burning glob of green slime gave wrong messages
|
|
monsters fleeing up the upstairs on level 1 were supposed to escape the
|
|
dungeon but ended up arriving on Plane of Earth
|
|
monster hitting fire-dealing monster with weapon triggered passive damage to
|
|
weapon every time, when hero doing so only had 1/6 chance per hit
|
|
hitting steam vortex with flammable weapon would damage the weapon with fire
|
|
if a non-cursed spellbook being read becomes cursed and hero recognizes that
|
|
(bknown is set), interrupt reading
|
|
if a non-cursed spellbook being read becomes cursed and hero doesn't notice,
|
|
don't leave it flagged as in-use (hence to be deleted during the
|
|
next save/restore cycle) if contact-poison cursed book effect occurs
|
|
stolen_value, used when breaking shop items from outside the shop among other
|
|
times, could describe the shopkeeper as "it" when not seen
|
|
when two or more shopkeepers were visible at once, 'p' command could be used
|
|
to probe map for locations of other shopkeepers and arbitrary monsters
|
|
vortexes and other unsolid monsters need not avoid webs
|
|
barbarian and samurai can achieve basic in their special spell's skill
|
|
scalpel and tsurugi can now split puddings; bashing with darts or arrows can't
|
|
jumping while punished could leave ball and chain in the wrong place
|
|
improve Deaf message handling for the minetown watch and shops
|
|
issues with Warning when you're adjacent to an undetected hider; clearly you
|
|
are aware a monster is present so this causes you to search it out
|
|
allow lookup of names like Hachi when selecting monsters from the map
|
|
lookup "More Info?" prompt will now tell you what it will look for on 'y'
|
|
using 'R' on armor would bypass some restrictions imposed by 'T' (inner layer
|
|
could be taken off from under outer layer, embedded scales could be
|
|
attempted but triggered "select_off" impossible)
|
|
when examining hidden monsters (probing, persistent monster detection), tell
|
|
how they're hidden (under an object, on the ceiling, etc)
|
|
some quest text corrections
|
|
use a much tighter upper bound when summoning nasties; old method could
|
|
theoretically create 200 critters at a time
|
|
if a long worm inherited inventory from a previous shape, and if an egg or
|
|
figurine in that inventory hatched or auto-activated, messages were
|
|
given when hero could see any tail segment even if head was unseen,
|
|
making it seem as if worm's inventory was kept in the visible segment
|
|
Wizard will now steal any quest artifact from hero, not just own role's
|
|
prevent a hostile renegade Angel of <lawful god> from delivering taunt
|
|
messages which mention threats of retribution from that god
|
|
a few types of monster (barrow wight, Nazgul, erinys) have weapon attacks that
|
|
don't deal physical damage, so special damage like stoning via wielded
|
|
cockatrice corpse wouldn't be inflicted
|
|
non-item-using monsters who happened to be carrying scroll or wand of fire or
|
|
a fire horn could use it to cure themselves of being turned into slime
|
|
when looting multiple containers, add 'n' for "loot next container", change
|
|
'q' and ESC from "done with this container" to "done looting"
|
|
change looting to choose ":iobrs nq" action from a menu for menustyle:Partial
|
|
wand/spell/breath zaps that reached the edge of the level on the Plane of Air
|
|
and "vanished into the aether" left temporary display effects on screen
|
|
stop amulets and other items which aren't affected by erosion damage from
|
|
being subjected to erosion damage
|
|
grammar bit: polyself w/ gender change yielded "you turn into a Elvenking"
|
|
grammar bit when hallucinating: "you kill poor goblin" ('the' missing for pet)
|
|
some blindness cures ignored u.ucreamed
|
|
some instances of stun or confusion timers were being overridden rather than
|
|
incremented when new stun or confusion damage was suffered
|
|
female gnome who gains level can grow up into male-only gnome lord; give
|
|
an alternate message instead of prohibiting the promotion
|
|
kicked weapon which successfully hits monster vanishes from play
|
|
unseen landmine explosion could result in "The <monst-type> statue crumbles."
|
|
when using the 'O' command for regexp options (autopickup exceptions,
|
|
menucolors, message types), provide opportunity to add more than one
|
|
at a time [after 'add', return to add/list/remove menu]
|
|
commands invoked by uppercase meta characters: M-A, M-C, M-N, M-O, M-R, M-T
|
|
were missing from '? c' list of game commands (dat/hh)
|
|
tweak Baalzebub's lair and clean up the map display for it
|
|
symbol set definitions didn't recognize S_darkroom and S_vibrating_square
|
|
wizard mode enlightenment was reporting "very fast innately" (which is not
|
|
possible) for very fast hero who was innately fast
|
|
when attacking a monster with a rust or corrosion or acid passive
|
|
counter-attack, grease wasn't protecting the attacker's weapon
|
|
the Bell of Opening now correctly reports when it opens a trapdoor/hole
|
|
knocking can no longer send a monster through a trapdoor/hole and desaddle it
|
|
game no longer gets confused when you break an unpaid shop item while inside
|
|
a different shop
|
|
shopkeepers now correctly handle nested containers and gold in containers
|
|
for menustyle traditional, 'D' followed by (B|U|C|X)&m presented a menu of
|
|
everything, not just invent subset matching specified BUCX categories
|
|
for menustyles traditional or combination, 'A' (or object ID) followed by i
|
|
displayed an inventory of everything rather than just worn items (or
|
|
not fully identified items)
|
|
exploding chest trap would destroy uchain while still worn if uball carried
|
|
if monster shapechange message "<foo> turns into <bar>!" was given, <bar>
|
|
could be "it" (if <foo> sensed telepathically and <bar> is mindless)
|
|
automatic annotation for Ft.Ludios level got applied when a drawbridge became
|
|
mapped, but entry there is a secret door rather than a drawbridge
|
|
sortloot changed to group holy water and unholy water with water instead of
|
|
placing them among the h- and u-named items
|
|
sortloot changed to place diluted potion of foo after potion of foo instead
|
|
of listing all diluted potions followed by all non-diluted ones
|
|
digging down on a grave converted the terrain to floor but did not create a
|
|
pit and uncover the grave's contents; digging again--on floor--did
|
|
when feel_location removed a remembered-unseen-monster glyph from a known
|
|
water location while hero was levitating, the map was redrawn showing
|
|
floor instead of water at that spot
|
|
Vlad's tower2 and tower3 didn't show up in wizard-mode ^O output or ^V? menu
|
|
remove extra space from "All of your <stack-of-potions> boil and explode."
|
|
(also applies to potions freezing and to scrolls burning)
|
|
effects of cursed potion of levitation were skipped if already levitating
|
|
when engulfed, having swallower be killed by angry deity trying to zap hero
|
|
no longer violates pacifist conduct (other penalties--reduced luck or
|
|
alignment--still apply if target is something you shouldn't kill)
|
|
likewise when a monster kills inself trying to prevent turning to stone or
|
|
into slime that's been caused by the player, pacifism is not affected
|
|
metabolism adjustments: hero poly'd into metallivore form still needs to eat;
|
|
being fainted or unconscious from other than sleep now consumes
|
|
nutrition at lower rate, like being asleep already did;
|
|
starvation threshold shortened due to slower food use while fainting
|
|
after using detection magic or #terrain while underwater, then leaving water
|
|
and saving while on land, save would flag you as underwater again and
|
|
then restore would limit the map display accordingly; next move would
|
|
notice, retify things, and report "you are on solid land again"
|
|
change #terrain used while underwater to view the regular map rather than the
|
|
crippled underwater one
|
|
can see or feel adjacent lava or ice when underwater
|
|
farlook when underwater now reports "land" for adjacent non-{water,lava,ice}
|
|
and "unreconnoitered" for non-adjacent anything, instead of "dark part
|
|
of a room" for the former and either dark-room or "unexplored" for the
|
|
latter depending upon whether the spot had previously been scouted
|
|
monster who accidentally killed itself by zapping wand of fire or fire horn
|
|
at self to prevent turning into slime was not properly killed off;
|
|
it wouldn't benefit from an amulet of life saving and would trigger
|
|
impossible "dmonsfree: N removed doesn't match M pending"
|
|
resurrecting a shopkeeper corpse caused crash (replmon -> replshk -> inhishop
|
|
-> no eshk data for temporary monster being replaced with revived shk)
|
|
new character with OPTIONS=role:Valk,race:!human,align:!lawful yielded
|
|
"Shall I pick your Dwarven Valkyrie's for you?" where !human forces
|
|
dwarf and dwarf forces lawful, contradicting align:!lawful
|
|
new character with OPTIONS=role:Valk,race:random yielded
|
|
"Shall I pick your Valkyrie's race and alignment for you?" instead
|
|
of honoring race:random without asking
|
|
while in shop, undead turning at self causing carried, hero owned corpse to
|
|
resurrect claimed it belonged to shopkeeper
|
|
while in shop, stone-to-flesh at self causing carried, hero owned figurine
|
|
or statue to animate claimed it belonged to shopkeeper
|
|
reviving one of a stack of N corpses in a shop charged a usage fee for all N;
|
|
remaining N-1 were owned by hero if carried but by shop if on floor
|
|
gremlin wailing in agony should wake up nearby monsters
|
|
add more lighting variance to the second bigroom variant
|
|
when getpos was picking a location, typing '^' to move to the next known trap
|
|
skipped some detected traps if their location was unseen
|
|
describe detected door traps and chest traps as trapped door and trapped chest
|
|
instead of bear trap; bear trap tile is still used on map though
|
|
thrown potion that killed peaceful monster would cause "the <mon> gets angry"
|
|
after the message about it being killed
|
|
when poly'd into a hider and engulfed, attempt to hide via #monster was blocked
|
|
but feedback said "can't hide while held" rather than "while engulfed"
|
|
various monster/object/food/gold/trap detections were inconsistent in how they
|
|
behaved if performed while engulfed or underwater
|
|
show in inventory which monster a leash is attached to
|
|
using /? to look up something by name, supplying multiple spaces (with no
|
|
other characters) as the name triggered impossible "singular of null?"
|
|
add support for the 'altmeta' option to the 'what-does' command ('&' or '?f')
|
|
when wielded weapon becomes untouchable (after alignment change or polymorph)
|
|
hero could be 'blasted by its power' twice in succession
|
|
at startup, if sysconf had been read but user's own config file couldn't be
|
|
read, sysconf got processed again as if it contained user's options
|
|
don't give "you cannot pass through the bars" when travel is testing possible
|
|
paths in the vicinity of iron bars
|
|
if blind and no gloves, using 'm<dir>' to move and then 'e' could be used to
|
|
locate cockatrice corpse without fatal touching (by declining to eat)
|
|
it's cannibalism for a were<foo> to eat a <foo> corpse
|
|
conduct: wishing for an artifact and not getting it because it already exists
|
|
counts as wishing for an artifact, just like when not getting it
|
|
because of quest restrictions or too many artifacts in play does
|
|
avoid ring of poison resistance as starting equipment for orcish wizard
|
|
gelatinous cube shouldn't be able to eat a scroll of scare monster
|
|
make fireballs or cones of cold cast at skilled or higher not go through walls
|
|
prevent flying monsters from hovering over unreachable underwater objects
|
|
lembas wafer gives increased nutrition to elves, reduced nutrition to orcs;
|
|
cram ration gives increased nutrition to dwarves
|
|
when #tip's terse object drop format got interrupted by a regular message,
|
|
it continued using "obj2, obj3, ..." for subsequent objects, where
|
|
the sentence grammar no longer made sense (the interrupting message
|
|
still follows the comma of a partial sentence--attempting to fix that
|
|
seems hopeless; leaving it is better than always using verbose format)
|
|
for #tip inside shop, credit was incorrectly given for spilled gold if that
|
|
gold's stale location coordinates didn't happen to be inside the shop
|
|
when confused scroll of light summoned lights, player would be asked what to
|
|
call the scroll even if scroll of light was already identified
|
|
if a visible monster becomes invisible, mark its spot with the 'remembered,
|
|
unseen monster' glyph ('I' character or '?' tile)
|
|
monsters can throw cockatrice eggs at hero, but there was no handling for eggs
|
|
when the missile hit an intervening monster
|
|
clarify that shape-shifted vampires revert to vampire form when petrified or
|
|
digested; when back in 'V' form, they're vulnerable to such damage
|
|
when poly'd into an engulfer which does digestion damage, a kill resulting in
|
|
a level gain gave "welcome to level N+1" before "you digest <victim>"
|
|
any corpse eaten by omnivorous hero always tasted "terrible"
|
|
eating the corpse of a unique non-named monster (Wizard of Yendor, Oracle,
|
|
Chromatic Dragon, others) gave "The the <monster corpse> tastes ..."
|
|
when escaping the dungeon, change "you were here" annotation in dungeon
|
|
overview to "you left from here"
|
|
option parsing will crash if 'playmode' option is present without a value
|
|
any item drained of enchantment was blamed on the player as far as shop
|
|
billing was concerned, even if caused by disenchanter attack
|
|
if user supplied a specific monster name when asked to choose a monster class,
|
|
first prefix match was picked rather than best match ("titan" yielded
|
|
S_quadruped due to being preceded by "titanothere" in mons[])
|
|
change ing_suffix() to not double final 'w' when adding 'ing' ('t=' yielded
|
|
"You mime throwwing something.")
|
|
using 'D' to drop when not carrying anything finished (after doing nothing)
|
|
without giving any feedback for menustyles "full" and "partial"
|
|
"you hear a distant <musical note> squeak" might actually be nearby
|
|
differentiate symset and roguesymset option menu prompts
|
|
don't show monster vs. monster attack message, if the message refers to
|
|
a monster that cannot be sensed by the hero
|
|
umber hulk gazing at hidden mimic forces mimic to unhide
|
|
show some timed hero properties in wizard-mode #timeout
|
|
give quest guardians some equipment
|
|
hero polyed into ghoul can only eat non-veggy corpses or eggs
|
|
kicking activates statue traps
|
|
pets start with apport equal to your charisma
|
|
sometimes generate the random mazes with wide corridors, thick walls,
|
|
or with dead ends changed to loops
|
|
put throne room gold in the chest
|
|
novels are made of paper, not gold
|
|
movement speeds are made less predictable by using random rounding, rather
|
|
than via adding a random offset
|
|
some death by the-poison-was-deadly situations left stale non-zero HP shown
|
|
on the status line during final disclosure
|
|
when sitting at a trap spot: You sit down. You step on a level teleporter.
|
|
(likewise for polymorph trap, and similar issue for web)
|
|
show all statusline information in #attributes
|
|
add option status_updates to prevent bottom of screen status line updates
|
|
fix achievement recording bug with mines and sokoban prizes
|
|
g.cubes would eat globs of green slime without harm; engulf those instead
|
|
fix up true rumor about rock moles vs boots
|
|
Bell of Opening could trigger segfault attempting to open some types of traps
|
|
if hero was mounted
|
|
automatic #overview annotation for quest summons wasn't shown if the quest
|
|
entry portal was on same level as bigroom or rogue level
|
|
gaining or losing strength while wearing gauntlets of power could give
|
|
misleading message about already being as strong or weak as possible
|
|
levitation vs encumbrance message sequencing issues: putting on boots of
|
|
levitation reported reduction of encumbrance before finish-wearing
|
|
and float-up messages, taking off such boots didn't report increase
|
|
of encumbrance until player took another action
|
|
removing a blindfold with 'A' took two turns, with 'R' (and 'T') only one,
|
|
and could result in a crash if the blindfold was stolen during removal
|
|
removing a blindfold and wielded weapon with 'A' could result in crash if the
|
|
weapon was destroyed by various methods
|
|
cmdassist help for movement prefix followed by invalid direction was strange
|
|
when the direction was up, down, or self disallowed for that prefix
|
|
poor message when shape-shifted vampire reverts to vampire if it has a name:
|
|
The Dracula suddenly transforms and rises as Dracula.
|
|
poor message when shape-shifted vampire reverts if cause of 'death' was
|
|
disintegration or digestion and shifted form wasn't amorphous:
|
|
The vampire bat is disintegrated. The vampire bat suddenly transforms
|
|
and rises as a vampire. (fix: switch to existing alternate phrasing
|
|
used for amorphous form, "reconstitute" rather than "transform")
|
|
poor message when named vampire shifts shape within view:
|
|
You observe a Dracula where a Dracula was.
|
|
vampire shifting into fog cloud to pass under door "oozed" rather than "flowed"
|
|
vampires in fog cloud shape would tend to stay that way unless killed; give
|
|
them a chance to change to bat or wolf shape if not seen or far away
|
|
adult green dragons and the Chromatic Dragon were blinded by gas clouds
|
|
named floating eye (when hit by another monster with reflection) or named
|
|
silver weapon (when hero hits silver-hating monster) could disrupt
|
|
message formatting and conceivably trigger crash if name had '%' in it
|
|
fix "you feel like a new man" if female human hero's polymorph attempt failed
|
|
while in human form (when already poly'd, "new woman" correctly shown)
|
|
fix the 'A' command to have the 'D' command's fix for C331-1 (quirk for
|
|
menustyle:Combination; if user included 'a' in "which object classes?"
|
|
response, to operate on applicable all items, there would still be a
|
|
followup menu asking to choose specific items)
|
|
eating 1 tin from stack of N (for N >= 2) on shop's floor forced hero to buy 2
|
|
using a cursed whistle in a vault will summon the guard immediately
|
|
throne room's throne is occupied by a king
|
|
using a grappling hook and getting pulled toward the target into water would
|
|
drown hero without any chance to crawl out
|
|
blinded monster who eats a carrot will have blindness cured (hero already did)
|
|
the "bonesid" written into bones files when they're created so that they can
|
|
be validated when loaded was incorrect for bones in the quest branch
|
|
("QBar.2" ended up being "ar.2", "QKni.4" ended up as "ni.4", and so
|
|
forth) but worked anyway, because validation used same incorrect value
|
|
surviving a gas spore's explosion would leave that explosion as a stale reason
|
|
for death which might show up strangely ("crushed to death by a gas
|
|
spore's explosion" when killed by an opening drawbridge)
|
|
add database entry for "martial arts"
|
|
add catch-all database entry for the polearms
|
|
starting inventory for rogues specified +9 lock pick, where +/-N is meaningless
|
|
fix pile mark when picking up all-but-one items while invisible
|
|
improve config file error reporting
|
|
when polymorphed into something with a passive counterattack, being 'killed'
|
|
and returning to normal form allows a subset of counterattacks to
|
|
continue after telling the player than the hero has reverted; change
|
|
"Mon is splashed by your acid" to "Mon is splashed by acid" in that
|
|
situation so that the message sequence doesn't look quite so strange
|
|
when returning to quest nemesis' level, the message for some roles (A,S,T,W)
|
|
referred to sensing presence of the quest artifact even if had been
|
|
removed from that level; give an alternate message in that situation
|
|
when the Amulet increased spell casting cost, nothing actually happened (aside
|
|
from the message about feeling the Amulet drain the hero's power) if
|
|
hero lacked sufficient energy to cast the spell
|
|
if was possible to leash an adjacent pet while engulfed
|
|
if leash or unleash attempt was directed at "remembered, unseen monster" glyph
|
|
and yielded "there's no creature there", the glyph wasn't removed
|
|
wizmode level teleport menu indicates on what level you currently are
|
|
fix invisible gold symbol in status line when S_coin was set to space
|
|
fix buffer overflow in wizard mode for '#' command when 'extmenu' option is on
|
|
"you suddenly vomit" was given two turns before actually vomiting, so you
|
|
could get that message, move a bit, then get "you can move again"
|
|
after the 2 turn freeze applied along with the actual vomit
|
|
give an alternate message if you vomit when stomach is empty (ie, fainting)
|
|
corpses and other flammable items not subject to direct burning or fire-based
|
|
erosion which were thrown or dropped into lava remained intact
|
|
if a potion on the floor survived a land mine explosion and got propelled at
|
|
the hero, it didn't behave like a potion if it hit
|
|
adjust candelabrum's weight when candles are attached
|
|
when lit candelabrum burned out, persistent inventory window showed that it
|
|
was no longer lit but still showed phantom candles attached
|
|
improve hilite_status, allowing multiple stops per field, and temporarily or
|
|
permanently hilited fields
|
|
give feedback when released from a bear trap
|
|
#version output sometimes had ", and basic NetHack features." on its own line
|
|
depending upon how the dynamically inserted pattern-match phrase fit
|
|
#version output left out "pattern matching via <method>" if the basic NetHack
|
|
features entry was split across two lines
|
|
recovery of strength lost due to weakness from hunger was vulnerable to abuse
|
|
monsters hit by scroll of earth boulder did not get angry
|
|
hero could "pronounce the words on the scroll" when blind (if its label is
|
|
known) even while being strangled at the time
|
|
hero could cast spells while poly'd into a form which can't speak (or grunt,&c)
|
|
or while being strangled
|
|
when poly'd into a giant and moving onto a boulder's spot, you could get "you
|
|
try to move the boulder, but in vain", "however, you can easily pick
|
|
it up", "you are carrying too much stuff to pick up another boulder"
|
|
improve #adjust command's handling of the '$' and '#' inventory slots
|
|
prevent #adjust from allowing anything to be moved into the special '-' slot
|
|
sometimes rings dropped into sinks can be found in the pipes
|
|
doors in special levels were always generated in vertical orientation
|
|
assigning a type name to a potion on the floor which is actually a mimic could
|
|
prompt "Call a stream of <potion-type> fluid:" (bogus 'fromsink')
|
|
with perm_invent option enabled and no inventory, 'i' put up an empty menu
|
|
charisma affects the leeway in demon lord bribes
|
|
make Vlad slightly tougher
|
|
reduce the amount of gold laying on the floor
|
|
locked chests and large boxes contain more stuff
|
|
make shopkeepers bill hero for burying merchandise
|
|
monster holding hero takes double damage from an explosion for reaching into
|
|
adjacent spot, but it was being inflicted even when hero was swallowed
|
|
or beyond the explosion radius
|
|
poly'd hero holding monster now takes double damage (if monster is within
|
|
explosion radious) instead of inflicting that upon the monster
|
|
when trying to swap places with a pet and failing due to pet being unable
|
|
to move diagonally to hero's spot (grid bug or too tight squeeze), if
|
|
pet became untame the map would briefly show hero at pet's location
|
|
when trying to swap places with a pet and failing due to pet being trapped
|
|
or disallowed diagonal move, the arrive-on-new-spot code (autopickup,
|
|
trap triggering) executed even though hero didn't ultimately move
|
|
being "dead inside" (self-genocide while polymorphed) conferred partial
|
|
invulnerability--normal monster behavior stopped attacking hero
|
|
if a fiery monster, wand of fire, or fiery explosion burned up a paper golem,
|
|
it could still leave blank scrolls
|
|
hero poly'd into paper or straw golem reverts to human if burned up even when
|
|
Unchanging without any explanation given
|
|
hero polymorphed into form which can't wear armor via 'W' (eliciting "don't
|
|
even bother") could wear it via 'P'
|
|
make multi-shot missiles fired by monsters be less verbose when they miss
|
|
can no longer play controlled notes on musical instrument if impaired
|
|
if a special level specified the appearance of a mimic and mimics had been
|
|
genocided prior to creating the level, whatever random monster took
|
|
the mimic's place got its intended appearance
|
|
redundant "hit by gush of water" message if poly'd into iron golem or gremlin
|
|
a shop object stolen from outside the shop (via grappling hook) would be left
|
|
marked as 'unpaid' after the shop robbery took place, resulting in
|
|
"unpaid_cost: object wasn't on any bill" when looking at inventory
|
|
a shop object stolen from outside the shop could trigger a crash if that shop
|
|
had never been entered by the hero
|
|
shopkeepers in their own shop and priests in their own temple are no longer
|
|
frightened by hero standing on scroll of scare monster
|
|
the Wizard, Angels and lawful minions, the Riders, shopkeep/priest in own room
|
|
are never frightened by tooled horns
|
|
'Iu' would reveal unknown container contents if carrying one unpaid item inside
|
|
a hero-owned container whose contents weren't known
|
|
docall for type of object could overflow its prompt buffer if there was a very
|
|
long type name previously assigned
|
|
whatis lookup for 'more info?' would behave strangely for plural names, either
|
|
entered by player or from "N foo" stacks on the map
|
|
you should not hear a whistle if you are deaf
|
|
change the deity's "congratulations" message upon ascension to something which
|
|
sounds a bit more archaic to fit better with the other messages
|
|
prayer boon of 'fix all troubles' could get stuck in an infinite loop for
|
|
TROUBLE_STUCK_IN_WALL if there was no spot to teleport into available
|
|
It shouldn't be considered hypocrisy if you speed up your pet while standing
|
|
on Elbereth
|
|
fix 'object lost' panic if hero with lycanthropy but in human form is wielding
|
|
a potion of unholy water which gets boiled/exploded by fire, causing
|
|
were-transformation and drop of wielded weapon
|
|
prevent segfault if pline() is called recursively (which could happen if the
|
|
interface code issues a debugpline() while processing putstr())
|
|
open at yourself is the same as #loot
|
|
when #force reports that a chest's lock is already broken or already unlocked,
|
|
force it to be described as "a chest", even when its lock state is
|
|
already known, rather than as "a broken chest" or "an unlocked chest"
|
|
honor wish for "locked", "unlocked", or "broken" chest or box
|
|
honor wish for "empty" container including statue, bag-o-tricks, horn-o-plenty
|
|
gas spore explosion killing a gas spore which triggers a recursive explosion
|
|
would have killer reason for outer call clobbered by inner one; when
|
|
they were both "gas spore's explosion" it wouldn't be noticeable (see
|
|
corresponding post-3.6.0 entry for more...)
|
|
wizard mode 'sanity_check' gave spurious "mon not on map" warnings when mounted
|
|
at the prompt for entering a level annotation, responding with <return>
|
|
erroneously removed old annotation; use <space><return> to do that
|
|
reorder the #droptype menu and add some separator lines
|
|
moving from a pit to an adjacent pit with uncleared debris shouldn't be a fall
|
|
open drawbridge spanning ice would vanish if the ice melted
|
|
if a warned-of mon moved onto a spot containing a 'remembered, unseen mon'
|
|
then moved off, the unseen marker was redisplayed even though the
|
|
hero should now know that the remembered monster isn't there anymore
|
|
|
|
|
|
Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository
|
|
------------------------------------------------------------------
|
|
fix "object lost" panic during pickup caused by sortloot revamp
|
|
more sortloot revisions
|
|
fix inventory menu for response of '?' to getobj (more sortloot revamp fallout)
|
|
rings covered by non-cursed gloves not listed as 'R' candidates
|
|
in baalz_fixup, move any monster away from the two fake pool spots
|
|
switching farlook from xname to doname was giving away information for items
|
|
located via object detection (quantity of detected gold)
|
|
changing doname to use "some" instead of precise quantity when an item's
|
|
dknown flag is not set could result in blind hero getting
|
|
"There is a some jackal corpses here. Eat one?" and
|
|
"You can only lift some of the some jackal corpses. Continue?"
|
|
catch up win/Qt/qt_win.cpp on 18-Dec-2015 change to formatkiller()
|
|
fix for long lines in config file (28-Jan-2016) made 'O' command's 'list' and
|
|
'remove' menu choices in interactive handling for menu colorings,
|
|
message types, and autopickup exceptions subject to buffer overflow
|
|
when picking a destination for #jump, '$' to show valid dest. is more accurate
|
|
enchant armor gave "your pair of boots/gloves glow", should have been "glows"
|
|
when autopickup is overridden in a shop, always-pick-up exceptions and
|
|
pickup_thrown still picked unpaid items up
|
|
the fix for giving an alternate grow up message when a monster becomes a new
|
|
form with the opposite sex (female gnome into male gnome lord, for
|
|
example) had the logic wrong
|
|
DUMPLOG: genocided and extinct species was always a blank line;
|
|
vanquished creatures was just a blank line if nothing had been killed
|
|
DUMPLOG: RIP tombstone was printed for characters who survived (ascended,
|
|
escaped dungeon, quit, trickery or panic)
|
|
DUMPLOG: pets who accompany hero during ascension or dungeon escape were
|
|
already gone by the time known portion of the level map was dumped
|
|
artifact creation violated illiterate conduct when artifact name was assigned,
|
|
behavior intended only for creating Sting or Orcrist via naming
|
|
tty: revert to pline() for issuing prompts (override MSGTYPE=hide differently)
|
|
previous tty-revert fix had the override test backwards, breaking MSGTYPE
|
|
save 'autodescribe' option value prior to detection or #terrain display and
|
|
restore it after rather than leave it forced on
|
|
humanoid pet could become hostile but still remain tame if it observed hero
|
|
attacking a peaceful creature
|
|
minor ^X/enlightenment bugs: grammar when poly'd into '1 hit dice' critter,
|
|
missing punctuation for "You entered the dungeon N turns ago"
|
|
when configured with DUMPLOG enabled, artifacts were counted twice towards
|
|
final score
|
|
once Moloch's Sanctum (or Astral Plane via wizard mode level teleport direct
|
|
to end-game) was entered, end of game disclosure would reveal that
|
|
high priests had been incorrectly flagged as extinct
|
|
attempting to name an item as an artifact and failing via hand slip violates
|
|
illiterate conduct
|
|
crashes for 'A' above were downgraded to impossible "cursed without otmp"
|
|
wizhelp: ^O is #overview in wizard mode too; #wizwhere shows dungeon layout
|
|
wishing for tins sometimes yielded a tin wand
|
|
replace the fix for preventing putting on a helm of opposite alignment from
|
|
causing wielded Excalibur from blasting hero twice
|
|
hero poly'd into vampire could drain monster down to 0 HP without killing it,
|
|
triggering impossible "dmonsfree: 1 removed doesn't match 0 pending"
|
|
"you observe a fog cloud where a vampire/bat was" if an unseen vampire on the
|
|
far side of a closed door shifted shape to pass under that door
|
|
fix mention_walls reporting secret doors as solid stone
|
|
jumping over water unintentionally moved hero through that water, causing
|
|
drowning if not able to water walk or fly
|
|
try again to fix achievement recording bug with mines and sokoban prizes
|
|
the fix for secret doors on special levels always having vertical orientation
|
|
resulted in some--but not all--secret doors within vertical walls
|
|
being displayed as horizontal walls while still hidden
|
|
and the previous fix for the for secret doors didn't work if the level hadn't
|
|
been wallified yet (Cav quest) so horizontal wall with secret door
|
|
mis-displayed as a vertical wall segment could occur
|
|
and both the previous fixes only worked if the level description contained
|
|
an explicit DOOR directive rather than just '+' or 'S' on the map
|
|
(as with lower right area of Cav 'locate' level)
|
|
the fix intended for "a shop object stolen from outside the shop (via
|
|
grappling hook) would be left marked as 'unpaid'" broke normal pickup,
|
|
preventing any picked up item from merging with compatible stack
|
|
unix: freeing mailbox data at game end crashed if MAIL came from environment
|
|
unix: fix for freeing MAIL introduced a one-byte buffer overrun which could
|
|
interfere with malloc/free operation
|
|
unix: fix for freeing MAIL also introduced a memory leak whenever new mail
|
|
is detected and MAIL comes from the environment
|
|
when clairvoyance lets you move the cursor to examine the map (if it occurs
|
|
when engulfed or underwater or when blessed clairvoyance finds a
|
|
monster), the "for instructions type '?'" prompt could be confusing
|
|
prevent Mjollnir from being auto-quivered if it's been thrown without return
|
|
and then picked back up while quiver slot is empty
|
|
plural of "fox" is not "foxen"
|
|
gas spore explosion killing a gas spore which triggers a recursive explosion
|
|
would have killer reason for outer call clobbered by inner one;
|
|
"You are hit by the gas spore's explosion!" (inner call, followed by)
|
|
"You are hit by the !" (outer call, possibly repeated for multiple
|
|
explosions causing multiple levels of recursion)
|
|
if multiple bands of blank lines were squeezed out of DUMPLOG's map, spurious
|
|
blank lines appeared in the final map output
|
|
cursor positioning autodescribe of a statue while hallucinating was blank
|
|
tty+EDIT_GETLIN: if prompt plus existing output buffer contents (result of
|
|
a prior getlin() used as default input) was long enough to wrap to
|
|
second line, the wrap point could be different from when the previous
|
|
input was typed, resulting it strange erase-char/kill-chars behavior
|
|
|
|
|
|
Platform- and/or Interface-Specific Fixes
|
|
-----------------------------------------
|
|
tiles: wrinkled spellbook had a spurious brown pixel on far right edge of tile
|
|
tiles: when statues are displayed as corresponding monsters, total_tiles_used
|
|
in generated src/tile.c had incorrect value
|
|
tty: M-N gave "Unknown command 'M-" with "'." finishing the sentence on the
|
|
line below it, leaving bogus '.' displayed on the top row of the map
|
|
tty: specifying all four of role, race, gender, and alignment still prompted
|
|
for confirmation with "Is this ok?" before starting play
|
|
tty: responding with <return> or <enter> during role, race, &c selection
|
|
behaved same as <escape> to quit; now it will pick [random] instead
|
|
tty: rename struct variable 'filter' (role.c) and function 'winch()' (wintty.c)
|
|
to avoid conflicts with <curses.h>
|
|
tty: skip selector letter and selection indicator (-,+,#) during menu coloring
|
|
tty: '>' no longer closes a menu window
|
|
tty: if color is disabled and use_inverse is enabled, display lava in inverse
|
|
video so that it is visually distinguishable from water
|
|
tty: if "--More--" was written to leftmost column (beginning of second line)
|
|
while hero was swallowed, cursor would end up in wrong place (at end
|
|
of status line instead back on map) after message line was cleared
|
|
tty: long message lines which wrap when shown on the top line might be
|
|
re-displayed incorrectly by ^P for msg_window={full,combo,reverse}
|
|
tty: MSGTYPE=hide could interfere with display of prompts
|
|
tty: treat carriage return as a newline for input text and --More-- prompts
|
|
unix/X11: in top level Makefile, some commented out definitions of VARDATND
|
|
misspelled pilemark.xbm (as pilemark.xpm)
|
|
unix: options file with CR+LF line ends and an invalid option line resulted in
|
|
"ad option line: "whatever-the-line-was
|
|
because embedded carriage return character changed cursor's position
|
|
unix: race condition with parallel make: src/Makefile might start building
|
|
makedefs before finishing monst.o and objects.o; if so, util/Makefile
|
|
can build them too, and they might be clobbered by simultaneous write
|
|
unix: Makefile.{src,utl} ignored CPPFLAGS which is expanded by the default .c
|
|
rule by GNU make so if user had a value for that in the environment,
|
|
it would apply to some files but not others; explicitly override it
|
|
unix: enable code guarded by USE_WIN_IOCTL by default unless prevented by
|
|
uncommenting #define AVOID_WIN_IOCTL in include/unixconf.h
|
|
win32gui: getversionstring() was overflowing the provided Help About buffer
|
|
win32gui: guard against buffer overflow in in mswin_getlin()
|
|
win32gui: handle menu_color attribute
|
|
win32gui: name-from-discoveries list menu selector characters were punctuation
|
|
instead of letters, repeated for each class; caused by the core bug
|
|
of erroneously specifying space as a selector for class header lines
|
|
win32gui: allow toggling mouse_support off
|
|
MacOSX: initial binary release was built from out of date source code that
|
|
had 'BETA' and 'DEBUG' inappropriately enabled
|
|
MacOSX: force TIMED_DELAY build option on so that 'runmode' run-time option
|
|
is functional
|
|
Qt: could issue impossible "Destroy called before we know if Menu or Text"
|
|
followed by crash caused by deferencing a Null pointer if player quit
|
|
immediately after creating character and declined to disclose anything
|
|
X11: core bug for '`' (backtick) and #terrain commands was only noticed by
|
|
X11 interface: impossible "add_menu: called before start_menu"
|
|
X11: enable a scroll bar in menu windows
|
|
X11: support pre-selected entries in menu windows
|
|
X11: make the extended command menu be easier to use and look a little nicer
|
|
X11: make the getline text entry widget display a bigger text entry area
|
|
X11: color didn't work when the map was displayed as text rather than tiles
|
|
X11: use grayscale monster tiles for statues
|
|
X11/USE_XPM: [post-3.6.0 issue] the 'tiles' bug of incorrect total_tiles_used
|
|
for STATUES_LOOK_LIKE_MONSTERS broke XPM manipulation of tiles data
|
|
PANICTRACE: PANICTRACE_GDB used wrong value for ARGV0 when launching gdb if
|
|
'nethack -dpath' was used to specify non-default playground directory
|
|
win32gui: gather raw_print error messages into a single dialog window
|
|
win32tty: fix display errors when using a font with double wide or ambiguous
|
|
width characters
|
|
Amiga (untested): 'makedefs -z' didn't handle FILE_PREFIX correctly when
|
|
building vis_tab.h and vis_tab.c
|
|
|
|
|
|
General New Features
|
|
--------------------
|
|
naming Sting or Orcrist now breaks illiterate conduct
|
|
different feedback for reading a scroll of mail created by writing with marker
|
|
reading non-cursed scroll of enchant weapon uncurses welded tin opener
|
|
if hero has no jumping ability but knows the jumping spell, the #jump command
|
|
will attempt to cast the spell
|
|
allow moving cursor to monsters with 'm' (nearest first) and 'M' (furthest
|
|
first) when asked for map location, or to objects with 'o' and 'O'
|
|
allow picking a used inventory letter from menu when #adjusting
|
|
zapping wand of opening at yourself, unlock carried boxes
|
|
dissolve iron bars by force-fighting with wielded potion of acid
|
|
poison breath leaves a trail of poison gas
|
|
allow knife and stiletto as possible tin opening tools
|
|
wizard mode #wizintrinsic command
|
|
additional tribute passages for The Colour of Magic, The Light Fantastic,
|
|
Equal Rites, Mort, Sourcery, Wyrd Sisters, Pyramids, Guards! Guards!,
|
|
Eric, Moving Pictures, Reaper Man, Witches Abroad, Snuff,
|
|
Raising Steam, and The Shepherd's Crown
|
|
compile-time options SIMPLE_MAIL and SERVER_ADMIN_MSG for public server use
|
|
database entries for Cleaver, Sunsword, Frost and Fire brands, and
|
|
polymorph trap
|
|
allow showing coordinates when picking a position on the map and
|
|
autodescribe option is on
|
|
new status line conditions Stone Strngl Deaf Lev Fly Ride
|
|
allow some extra color name aliases for menucolors and status hilites
|
|
add extended command #kick
|
|
when choosing an inventory item and '-' for bare-hands/fingers/no-ammo is a
|
|
choice, include that in the inventory menu if player types '?' or '*'
|
|
feedback from probing of long worm now includes number of segments it has
|
|
monk starts with 'shuriken' pre-discovered (despite language issue...)
|
|
item-using monster on or next to a fire trap can use it to be cured of
|
|
turning into slime
|
|
wizard mode ^G can now specify "sleeping", "male" or "female" when
|
|
creating a monster
|
|
REPRODUCIBLE_BUILD is new config.h setting to fetch build date+time from
|
|
environment instead of using current date+time, so that later rebuild
|
|
could duplicate the original (disabled by default; tested for Unix)
|
|
default value for vibrating square symbol changed from yellow '^' to purple '~'
|
|
allow symbol set values to be specified via char within single quotes
|
|
add symbols set "plain", same as default except it uses '+' for corner walls
|
|
extend wizard-mode '#stats' command
|
|
'Q' to ready an item for quick-throwing ('f') now allows the wielded weapon to
|
|
be moved to quiver; if quantity is more than 1, it offers to split the
|
|
stack and leave 1 wielded, otherwise it requires confirmation
|
|
'Q' will accept an item count to manually split a stack as part of it being
|
|
quivered, provided the stack isn't already in the quiver slot
|
|
during end of game disclosure, the vanquished monsters list can be sorted in
|
|
one of several ways by answering 'a' to "disclose vanquished monsters?"
|
|
when #terrain is displaying a censored version of the map (no monsters, &c),
|
|
moving the cursor will display farlook's brief autodescribe feedback
|
|
when monster/object/trap detection temporarily clears the map to highlight the
|
|
results of such detection, farlook autodescibe can be used to view it
|
|
interrupt a multi turn action if hp or pw is restored to maximum
|
|
pressing d or D when cursor positioning targets doors and doorways
|
|
pressing x or X when cursor positioning targets possibly unexplored location
|
|
(potentially useful when using '_' [not mouse] to invoke travel)
|
|
swallowers can't re-engulf hero immediately after spitting him/her out
|
|
werejackals can summon foxes and coyotes; werewolves can summon wargs
|
|
allow taming monkeys and apes with bananas
|
|
GENERICUSERS is now a sysconf statement instead of compile-time option
|
|
fountains are bright blue, graves are white
|
|
ray bounceback chance depends on the wall type
|
|
undead #turning takes less time at higher experience level
|
|
peacefuls may react when you attack other peacefuls
|
|
prevent diagonal jumping through open doorways
|
|
different liquids when hallucinating
|
|
when moving a cursor for travel target, show if there is no known travel
|
|
path to that location, if "autodescribe" is on
|
|
show the reason why travel was interrupted if mention_walls is on
|
|
random horses have a tiny chance of being generated saddled
|
|
give feedback just before timed levitation runs out
|
|
travel accepts 'm' (request menu) prefix
|
|
pressing a or A when cursor positioning shows menu of "interesting" features
|
|
pressing z or Z when cursor positioning cycles through valid locations for
|
|
jumping, hitting with polearm, or casting a stinking cloud
|
|
when moving a cursor for a jump, polearm, or stinking cloud targeting, show
|
|
if the location is illegal, if "autodescribe" is on
|
|
wizard-mode command #wizmakemap to recreate the current level
|
|
'goldX' boolean option to treat gold pieces as X (vs U) during BUCX filtering
|
|
(should be persistent but is reset each save/restore cycle in order
|
|
to avoid breaking 3.6.0 save files)
|
|
for menustyle:Traditional and Combination, support BUCX filtering for item
|
|
pick-up and container put-in and take-out; also for object IDing
|
|
for menustyle:Full and Traditional and Combination, support BUCX filtering
|
|
for the 'A' command
|
|
option whatis_filter to set filtering for eligible map locations when cursor
|
|
positioning
|
|
blinded hero or monster who eats a nurse corpse will have blindness cured
|
|
blinded hero or monster who breathes vapor from broken potion of healing,
|
|
extra healing, or full healing might have blindness cured (depends on
|
|
potion: full == always; extra == if not-cursed; plain == if blessed)
|
|
sysconf definition BONES_POOLS to allow more bones files per level
|
|
blessed scroll of fire lets you choose explosion location like stinking cloud
|
|
optional sections in the config file, selected with CHOOSE
|
|
new paranoid_confirm settings: wand-break to require "yes" rather than 'y'
|
|
to break a wand via (a)pply, and Were-change to require "yes" rather
|
|
than 'y' when hero inflicted with lycanthropy has polymorph control
|
|
option force_invmenu to make commands asking for inventory items always
|
|
use a menu instead of a text line query
|
|
option hitpointbar to show a bar graph of hit points behind title field
|
|
wielding Trollsbane prevents troll corpses from reviving
|
|
wielding Demonbane prevents demons summoning friends
|
|
wielding Dragonbane confers reflection
|
|
wielding Ogresmasher grants 25 constitution
|
|
Cleaver can hit three adjacent monsters with one swing
|
|
Master Key of Thievery warns about undetected traps if wielded without gloves
|
|
Master Key of Thievery always finds door and chest traps if used to lock or
|
|
unlock a trapped door or chest while non-cursed (for rogues) or
|
|
blessed (for non-rogues); player is offered the opportunity to disarm
|
|
"Elbereth" must now be the only engraved text on a square to function
|
|
"Elbereth" now erodes based on attacks by the player, not monsters scared
|
|
add option herecmd_menu to make a mouse click on your character pop up
|
|
a context menu, and extended command #herecmdmenu to do the same
|
|
change #adjust's behavior when collecting compatible stacks; that used to
|
|
occur for any #adjust which lacked a split count, now it only happens
|
|
when 'adjusting' into a stack's own inventory slot
|
|
a prayer result which results in uncursing some or all of the hero's items
|
|
won't uncurse a worn helm of opposite alignment since that would
|
|
facilitate the hero switching to another god by taking it off
|
|
wielded aklys behaves like Mjollnir when thrown--it usually returns; unlike
|
|
Mjollnir, it isn't limited to Valkyries or need gauntlets of power
|
|
(so far, hero-only; an aklys won't return if thrown by a monster)
|
|
allow 'm' prefix for wizard mode level teleport command (^V) to bypass prompt
|
|
for destination and use menu of special level locations
|
|
|
|
|
|
Platform- and/or Interface-Specific New Features
|
|
------------------------------------------------
|
|
tty: menu_overlay -option to clear screen and align menus to left
|
|
tty: compile-time option to output escape codes for tile data hints
|
|
unix: compile-time option MSGHANDLER to pass messages to external program
|
|
unix: add CHECK_PLNAME-option to sysconf to make WIZARDS, EXPLORERS, and
|
|
SHELLERS check player's character name instead of login name
|
|
X11: new NetHack*highlight_prompt resource to control whether the persistent
|
|
prompt line between the map and message windows for the NetHack*slow
|
|
configuration will be highlighted when it's expecting input
|
|
X11: NetHack*extcmd_height_delta resource can be used to adjust initial size
|
|
of the extended commands menu
|
|
X11: status display split into three columns to accommodate Stone/Deaf/Lev/&c;
|
|
NetHack*status_condition.foreground, .background, and .showGrip
|
|
resources replaced by status_condition[1-3].*
|
|
X11: more terminal-like default resources
|
|
win32gui: save and load map colors from registry
|
|
X11: add new character selection dialog, and obey player_selection:dialog
|
|
unix: reduce makefile verbosity by default
|
|
win32gui: new player selection dialog
|
|
tty, X11, qt4, win32gui: compile-time option EDIT_GETLIN to allow some prompts
|
|
to remember previous input and start with it as the default response
|
|
|
|
|
|
NetHack Community Patches (or Variation) Included
|
|
-------------------------------------------------
|
|
Malcolm Ryan's improved tin opener
|
|
Ray Chason's keyboard may stop responding after locking or unlocking a door
|
|
when using altkeyhandler=nhraykey.dll
|
|
Ray Chason's fix: window interfaces that support transparency may give away
|
|
unseen parts of the map
|
|
Ray Chason's xprname should honor iflags.menu_tab_sep
|
|
Ray Chason's punctuation for "That foo is really a mimic."
|
|
Ray Chason's proper background tiles for lava and water
|
|
Ray Chason's MS-DOS port restored to functionality with credit to Reddit user
|
|
b_helyer for the fix to sys/share/pcmain.c
|
|
Ray Chason's MSDOS port support for some VESA modes
|
|
Ray Chason's Qt4 windowport
|
|
Darshan Shaligram's pet ranged attack
|
|
Jason Dorje Short's key rebinding
|
|
Maxime Bacoux's new DUMPLOG: compile-time option to enable logging of
|
|
end-of-game information into a text file
|
|
|
|
|
|
Code Cleanup and Reorganization
|
|
-------------------------------
|
|
removed some unused variables and dead code
|
|
the level generator no longer uses the native pRNG
|