1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252
|
$NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.562 $ $NHDT-Date: 1524689549 2018/04/25 20:52:29 $
General Fixes and Modified Features
-----------------------------------
change the dreaded "Stop eating?" to "Continue eating?" with default "no"
setmangry should not be called when a monster enters a bones region
bad capitalization of msg when charging for something that catches light
missing opthelp for use_inverse
Never say "It moves only reluctantly"
expert fireball/cone of cold could not target a monster seen only with
infravision or ESP
display "lotus juice", not "lotu juice" for the fruit juice name
only humanoid angelic minions should get/use sword and armor
paper, straw and wood golems resist cold
the options lootabc, showrace, travelcmd, and runmode are now saved
use mons[] array offsets in mnum field in save file rather than storing
the ptr and calculating the distance from beginning of array
two-weapon combat makes two attacks instead of having one attack hit with
each weapon
apply weapon skill to-hit bonus or penalty to bare-handed attacks
only give monk's "cumbersome armor" message when the armor penalty causes
an attack to miss
dust vortex-induced blindness should kick in immediately when blindfold
is removed or glop is wiped off
prayer/unicorn-horn won't fix blindness while still engulfed in a dust
vortex since it will just return immediately
being confused and reading cursed scroll of charging drains your energy
class genocide recognizes species name as an example of the class to
genocide (Martin Snyder)
internals: use Is_box rather than explicitly checking what it checks
fix some unreachable messages (either make then reachable or remove them)
can quiver coins when GOLDOBJ is defined
make #loot behave same for GOLDOBJ as for !GOLDOBJ
for GOLDOBJ, can pick gold up into $ when all 52 letters are in use, and
can pick non-gold up into unused letter when gold uses one of 52 slots
grammar, spelling and other typos
keep various delayed killers separate to avoid mixed up messages
don't place randomly-placed aquatic monsters in lava on special levels
hiding monsters don't hide under cockatrice/chickatrice corpses
"sound" option renamed to "acoustics"
deafness now a full-fledged attribute
water should flow into pits from broken wand of digging and drum of earthquake
objects that fall thru trapdoors, et al, can break on impact
support engraving in blood in special level files
many instances of physical damage were not taking Half_physical_damage
into account when reducing your hitpoints
make it possible for the code to recognize your starting pet throughout the
game via is_starting_pet(mon) macro
healers notice when a wand of undead turning revives a monster so the
wand is then identified
update display if bestowed a spellbook while unable to see invisible self
use small pool of static buffers for mon_nam() and Monnam()
Acknowledge Schroedinger's cat at end of game
grammar fixes for applying stethoscope to corpses and statues
player polymorphed as a ceiling hider cannot reach the floor, but
automatically unhide on #sit
trappers do not hide on the ceiling
fix "You hear The food ration tumbles downwards" for blinded pit dropping
silver arrows weren't causing silver damage on some silver-haters when wielded
wizard mode: avoid division by 0 crash for level teleport in the endgame if
confusion overrides teleport control
don't #sit on an object in a pit if you're only on the precipice
fix message when pushing a boulder into a pool while riding
plural of "Nazgul" is "Nazgul" not "Nazguls"
trap messages referring to named steed were awkwardly worded when hallucination
overrode use of the name
some actions such as eating corpses off the floor didn't check whether hero
could reach the bottom of a pit
usmellmon() instead of "It turns into it" during monster polymorph
grammar of messages regarding eating artifacts
avoid a message about an invisible monster looking much better
player polymorphed as a xorn could not pick up items in pits
non-magical whistles do not work underwater
try to restrict whistles and musical instruments to monsters that can blow
don't display "turns to flee" message for a mimicing mimic
don't display "turns to flee" message for a monster who has just died
dipping acid in a fountain could cause an explosion but not destroy the potion
thrown potions can sometimes hit a steed's saddle
if your blindfold glows and you're not otherwise blinded, you can see it
sync default documentation of "null" option with the code
tripping over a cockatrice corpse didn't petrify, even when not wearing boots
do not call swamps on the Juiblex level "moat" when freezing or drowning;
likewise for Plane of Water when drowning
keep score from wrapping around and becoming negative by capping it
kicked objects do not slide when on the air or water levels
added strsubst() to hacklib
be consistent with use of "removing" rather than "lifting" for encumber
messages associated with taking things out of a bag of holding
when a giant carrying a boulder dies in a pit, ensure that the corpse is
buried under the filled pit
cursed scroll of destroy armor damaging cursed armor didn't adjust attributes
add passive() flag that indicates uwep was destroyed during the turn
polymorphed or shapechanged monster sometimes got erroneous hit points
when blind and levitating > shouldn't say "stairs" if player has not seen them
a slow-moving monster hidden under a rotting corpse was not immediately
displayed when the corpse rotted away
mimic that ends up on the rogue level should not mimic a closed door
mimic should not mimic a boulder while on a pit or hole or closed door
calculate weight of corpses on special levels correctly
Sting could trigger premature display of orcs during savegame restore
Sting now glows light blue again
prevent "offering" or other words with similar ending from matching ring quote
make cleric cast lightning blind as other lightning does
change the wording slightly to use "one of " when a monster wielding
multiple daggers thrusts them
if you didn't see a rolling boulder fall into a pit, you only heard the sound
of it doing so if you were blind
fire trap was triggered twice in the same turn when melting ice was involved
abandon the specialized djinn and ghost counters used for potion tuning and
use the mvitals[].born field instead
if you were Poison_resistant, only a *blessed* potion of sickness caused
loss of hitpoints
reviving invisible troll could appear visible until it moves
adjust some of the shop repair messages
shopkeeper removal of trap from shop doorway yields an open door instead of
a closed one if an intact open door is present
guarantee that hostile djinn released from bottles really are hostile
handle lava when removing or losing water walking boots
fix incomplete sentence occurring when unique monster's corpse fell down stairs
fractured boulders or statues produced inconsistent object settings on the
resulting rocks
really fix rolling boulder bug C340-18, the previous "fix" reversed the test
monster throwing greased weapon has same chance for slip/misfire as player
killing a pet by displacing it into a trap now yields experience
prevent a rolling boulder that is in motion from vanishing in bones files
ensure that a sleeping steed doesn't answer a #chat
eliminate two very minor anomalies when using Luck to adjust random numbers
destroying a worn item via dipping in burning oil would not unwear/unwield
the item properly, possibly leading to various strange behaviors
avoid a panic splitbill when shopkeeper is trapped by the door
grammar tidbit for message given when eating tainted meat is also cannibalism
gas spores shouldn't be described as "unable to attack" while hero is praying
incorrect screen display if engulfer gets turned to stone when trying to
swallow while hero is poly'd into cockatrice
panic on subsequent move if engulfer gets turned to stone and poly'd hero
also has attached ball&chain
give more specific messages when dropping weapons due to slippery fingers
various helmet messages changed to distinguish between "helm" and "hat"
helmets don't protect against cockatrice eggs thrown straight up
breaking container contents in a shop didn't always charge for them
some types of shop theft of a stack of items only charged for a single one
some thefts weren't charged at all even though shopkeeper noticed
wizard mode: WIZKIT wish for own quest artifact triggered crash at startup
avoid "your steed is still eating" message when going through a magic portal
cannot drink from fountain, sink or surrounding water while swallowed
don't hallucinate anything for an exploding black light as it dies
give blindness feedback when moving into/through stinking cloud
fix case on monster name when monster reflects floating eye's gaze
monsters "shrieking in pain" from a potion didn't wake anything up
charge for reviving a shop owned corpse or reanimating a shop owned statue
filled trap doors on castle can be re-dug
message order when swapping places with a pet (e.g. into a trap), also use
different term instead of "displace"
flyers can get out of pits more easily than non-flyers
allow use of the < command to try to exit a pit
Master of Thieves as Tourist Nemesis still had STRAT_CLOSE
co-aligned unicorns in bones could be hostile
finding "something" posing as a statue while Blind should map_invisible()
adding more candles than required to total 7 to a candelabrum which
already had between 1 and 6 gave an ungrammatical message
give correct message when a spellcasting monster summons other monsters
correct experience calculation for monsters that cause nonphysical damage
clean up messages when you stop levitation while riding a flying steed
monsters evading a kick on noteleport levels would cause a "teleports" message
interrupt current activity during certain stages of petrification or vomiting
warning about bad food didn't recognize tin of Medusa meat
eating tainted Medusa corpse caused food poisoning instead of petrification
avoid potential stale pointer use after magic bag explosion
nymphs and monkeys can't steal rings worn under gloves
monkeys can't steal rings worn under cursed weapon
succubi will remove hero's gloves before taking worn ring; incubi will do
so before forcing ring to be put on
mbodypart should return forehoof, not foreclaw, for horselike monsters;
rear paws instead of rear claws for feet of d, f, r, and owlbear;
hand, arm, leg, foot for yeti, sasquatch, monkey, ape, carnivorous ape
further digging of an existing hole finishes in a single turn
only prefix shopkeeper names with "Mr." or "Ms." when not a personal name
account for all attacks when determining max_passive_dmg
green slime should not affect noncorporeal monsters
land mine explosion will destroy a drawbridge at same location
avoid some more buffer overflows in query buffers containing object names
avoid giving extra information about things that break out of sight
dipping in acid can erode the dipped object
avoid giving away wand type for near misses while blind
avoid excessive repetition of "monsters are aware of your presence"
monster's aggravation spell now affects meditating monsters
handle pets sooner at end-of-game to avoid message delivery anomalies
busy pet won't miss out upon ascension
fix various places that "finally finished" could be displayed after the hero
stopped doing something other than eating
fix some cases where movement was disallowed but the hero was still conscious
after destroying drawbridge, hero could appear to be in the wall
sometimes shop items which hero is forced to buy could be sold back twice
non-empty container dropped but not sold in a tended shop and then picked up
after that shop became untended could be sold twice in another shop
vision was not updated when polymorphing a statue into a boulder
various actions--such as enchanting--performed on an unpaid shop object
either force the hero to buy the item (when its value is lowered) or
increase the current bill (when its value is raised)
`I u' when carrying single unpaid item listed its cost twice
armor which auto-curses when worn by hero should do same if worn by monster
limit how high accuracy, damage, or protection can become via eating rings
when blinded hero detects a trap by touch, make sure it shows up on the map
confused remove curse will cause loss of knowledge of items' curse/bless state
with astral vision, the ";" command should only display "normal vision"
for things that could be seen without astral vision
reanimating a statue containing gold produced double gold
probing the resulting double-gold monster caused "static object freed" panic
cursed wand might explode if used to engrave
fatal wish from magic lamp left functional magic lamp in bones data
fatal wish granted by monster left that monster in bones data
death due to dipping potion of acid into a pool left the potion in bones data
clear prompt from screen after ESC is used to abort "In what direction?"
minor interface changes for interactively manipulating autopickup exceptions
chatting with quest leader who was brought back from the dead gave warnings
becoming green slime or mimicking gold violates "never changed form" conduct
when a monster grew into a higher form which had previously been genocided,
the message explaining its fate was only given if it was sensed via ESP
hero could still see for brief period after being blinded by potion vapors
avoid crash when thrown potion hits bars before a monster
don't give messages about seeing things happen while asleep
adjust health threshold where wounded hero will be healed by successful prayer
protect hero from mind flayer's remote mental blast during successful prayer
recognize if hero has already entered Gehennom by means other than usual route
so that prompt can be skipped if Valley's stairs are subsequently used
once you've passed the Valley, drawbridge tune is no longer a prayer reward
fix up grammar and punctuation in variants of shopkeeper's price message
regression, bug fixed in 3.4.1 reintroduced in 3.4.3: Sunsword continued to
emit light after monster who was wielding got killed
weaken "farming" strategies
don't suppress corpse if you kill your own steed
fix typo in tourist quest leader's greeting
fix grammar for graveyard sounds when polymorphed
avoid divide by zero crash if Luck drops below -1 while a prayer is in progress
make hero inflicted with lycanthropy immune to level drain just like monsters
describe locomotion method accurately when flyers traverse ladders or holes
when there were multiple boulders at a location, moving one of them sometimes
resulted in line-of-sight anomalies
unicorn can't catch gems if it is asleep or paralyzed
fix grammar when choking on gold
prevent lose-level+regain-level cycle from arbitrarily boosting HP and Pw
prevent polymorphing into "new man" at low level from magnifying HP and Pw
some messages which referred to "mirror" ought to have used "looking glass"
incubi react to mirrors
losing a level while polymorphed affects hero's current monster HP as well as
underlying normal HP
mind flayer brain eating is subject to certain fatal targets and to cannibalism
mind flayer can't eat brains of ghost or shade
alignment of Angels was handled inconsistently
corpses of unique monsters in bones behaved incorrectly if revived or eaten
pets capable of digging could pass through walls and stone on the Rogue level
don't generate mimics pretending to be closed doors when making Rogue level
fix pluralization for "this tin smells like mother-in-laws" when hallucinating
force user-specified fruit name to be singular
avoid false matches when looking up fruit names ("grapefruit" isn't "grape")
handle pluralization of man-at-arms and singularization of men-at-arms
avoid inappropriate "the corridor disappears" when vault guard gets killed
avoid inappropriate "the guard calms down" if vault guard's magic corridor
reaches a spot where gold is embedded in the rock
avoid having vault guard ask hero's name when hero is swallowed
assigning an artifact name is rejected on objects with similar description to
corresponding artifact's type rather than just those of the same type
adjust feedback for gas spore explosion when hallucinating
adjust message for gas effect from chest trap if hero resists hallucination
cancelling non-shop objects in a shop's entrance would upset the shopkeeper
traps detected by scroll or crystal ball overlooked carried or buried chests
can't wish for a trapped box/chest/tin by specifying "poisoned"
grammar bit if killed by stealing a cockatrice corpse from a monster
identified touchstone can rub on gold like the data.base entry says
restore the capability of rubbing any object against known touchstone
being petrified by swallowing a cockatrice violates foodless conduct
devouring Medusa whole is fatal
tombstone's reason for death after being killed by mis-returning Mjollnir
varied depending upon whether it was fully identified
tombstone's reason for death from kicking an object could include so much
detail about the object that is was too verbose
several quest messages were worded inappropriately if the hero was blind
a samurai quest guardian message used "ninja" where "ronin" was intended
revive from fainting if vault guard or bribe-demanding demon approaches
tame flaming spheres and shocking spheres shouldn't pick up items
eating pet won't continue eating after becoming paralyzed or falling asleep
can hear the opening or closing of an unseen drawbridge
prevent "object lost" panic caused by accessing freed memory after worn
non-fireproof water walking boots are destroyed by lava
stop multi-turn running, searching, or resting early if levitation ends
randomize shopkeeper names when hallucinating
fix wording for "leprechaun steals gold from between your feet" when mounted
Call command could be used to remotely identify which high priest is which
large amorphous, whirly, noncorporeal, or slithy creatures can fit through
tight diagonal gaps despite their size
avoid "You summoned it!" for unseen monster produced by same-race offering
fix monsndx panic which happened after currently moving monster expelled
swallowed hero onto magic trap and was made tame by its effect; taming
no longer replaces monster
reduced message verbosity when re-entering a temple
reduced message verbosity when monster with multiple attacks missed wildly
recognize "mindflayer" as an alternative spelling for "mind flayer"
putting on a never seen ring while blinded won't make the ring a discovery
zapping a never seen wand while blinded won't make the wand a discovery
zapping an unID'd wand of teleportation at self will discover it (usually)
zapping unlocking magic at self while punished will remove attached chain
treat mattock as blunt object when forcing locks
restore capability to force locks with wielded statue
only count successful statue creations against the monster limit in sp_lev.c
don't see objects or read engraving when hero changes location (random
teleport) or position (levitation timeout) while asleep or fainted
unseen wand of striking zapped by unseen monster became known if it hit a door
tweak knight quest messages
guidebook grammar bits
special level loader wasn't able to place random door in 1x1 room; could
trigger divide-by-0 crash for user-developed custom levels
polymorphed spellbooks may turn blank or be too faint to read
make gender of quest leaders and nemeses consistent with data.base and
quest messages
Orion and Norn should be giant sized
Orion, Norn, Cyclops and Lord Surtur should be able to tear webs
avoid inappropriate message when using a cursed lamp while blind
player polymorphed as a guardian naga spit the wrong kind of venom
ensure monsters cannot teleport to or be created outside nonpassable bounds
of special levels
candles should not be fireproof
put #define for potion occupant chance and cursed wand zap chance in one place
recognize most instances where hallucinatory monster name should be treated
as a personal name (to avoid "the Barney") instead of a description
avoid giving misleading or redundant feedback when reading scrolls
monsters could end up off the left side of the Ranger quest start level
custom arrival message for special levels could be delivered too soon
custom arrival message for special levels now supports quest text substitution
prevent scroll of charging that has already disappeared from showing in the
picklist of things to charge
doors break instead of absorbing the blast of a broken wand of striking
worms don't have scales, krakens have tentacles, stalkers have a head
you no longer "fry to a crisp" as a water elemental
change leather spellbook to leathery; pertains to appearance, not composition
more precise probing/stethoscope feedback when engulfed
make baby long worms have lower level than full grown ones
use "your kraken" instead of "a kraken" when searching reveals a tame
hidden monster
Magicbane should not produce "<something> are confused" message
handle antholes more sensibly when ants aren't available
avoid "Something's in the way" message with unidentified wand of locking
cancelled nurses shouldn't say "Relax, this won't hurt a bit"
check for hero location in digactualhole() before clearing u.utrap
clear any pits that the hero digs in the vault guard's temporary corridor
better handling for Fort Ludios and endgame in wizard mode's `^V ?' menu
no free lunch for gelatinous cubes eating scrolls of mail
eating gold in front of the vault guard will make the guard angry
calculate engulf time differently for non-digestion attacks than for digestion
preform autopickup and/or report on objects at the spot when a failed #untrap
attempt causes the hero to move onto a trap's location
shattering a monster's weapon didn't work as intended for stack of N>1
thrown silver weapon hitting silver-hating poly'd hero got double silver damage
wielded silver weapon hitting silver-hating poly'd hero lacked silver message
don't reveal surface information that you can neither feel or see
if the hero or a monster is already in a pit don't have them "fall into a chasm"
from drum of earthquake
monsters who ate lizard corpses to cure confusion would lose intrinsic speed
monsters couldn't eat lizard corpses to cure being stunned
code handling a monster's use of potion or food to cure stoning or confusion
was accessing freed memory after the object had been used up
properly handle destruction of equipment carried by monsters hit by
disintegration breath; life-saving retained conferred properties of
formerly worn items (loss of steed's saddle caused much confusion)
don't exercise or abuse wisdom when rumors get used for random graffiti
don't exercise wisdom twice for each minor oracle consultation
don't welcome the hero to Delphi if the Oracle was angered before first entry
create_object() created lizard corpses without timers and troll corpses with
their revive timers, then changed the corpsenm field
when a potion of acid was dropped into water and exploded, nethack would
continue to use already freed memory and later might panic or crash
when jumping over an already seen trap, use an() to get appropriate grammar
fix bad grammar when putting on not-yet-seen Eyes of the Overworld while blind
don't "walk quietly" while levitating
shopkeeper polymorphed into animal form can no longer speak
don't give attribute adjustment messages ("you feel wise") unless the current
value actually changes
fix message handling when multiple shopkeepers are present at end of game
'C' command can't name shopkeepers or temple priests and other minions
when "of <deity>" is intentionally being suppressed, an aligned or high
priestess would be described as an aligned or high priest
specifying role and/or race along with an invalid alignment for it/them in
NETHACKOPTIONS or config file would yield a prompt which misleadingly
mentioned the rejected alignment when asking player to pick alignment
temple donation can recover protection previously stolen by attrcurse attack
even when protection amount is so big that no increment would be given
meditating monsters stop meditating when affected by something which wakes
sleeping monsters
monsters capable of hiding can't do so when trapped or while holding you
limit recursive calls to spoteffects (poly'd hero fell into water, reverted
to human because of it, fell into same water, then crawled out twice)
ensure that the punishment ball and chain make it into save file after being
temporarily orphaned from the normal chains in the swallowing code
display the invisible monster glyph ('I') whenever an unseen monster forces
poly'd hero out of hiding
charge for thrown wand that shatters into a thousand pieces in a shop
wielded light source susceptible to water gets extinguished when weapon rusts
don't discover unknown bag of tricks when monster it releases is undetected
escape the deleted trap after performing the invocation while trapped
use alternate phrasing when life drain attack affects non-living creature
bypass "wait! there's a creature hidden there" when attacking a hidden monster
sensed by ongoing monster detection
remove makedefs.c dependency that time_t and long are the same size
terminal window set to 21 lines can cause a crash during player selection
menus; have bot() check for valid youmonst.data
make region ttl field a long instead of short to get rid of lint warnings
about a possible loss of data
free storage used to hold region messages in free_region()
honor pushweapon when applying a tool or weapon causes it to become wielded
in the quest, if the locate level hasn't been reached yet, don't fall or
randomly teleport past it
fix phrasing in monster against monster attack feedback when attacker is
wielding stacked weapons
pushing a boulder onto a level teleporter trap could issue repeat messages
if shopkeeper or priest gets teleported while inside his shop or temple,
give locations inside that room preference when choosing destination
don't place hero on top of monster when arriving on level which is so full
that the monster can't be moved out of the way
tame/peaceful grabber/engulfer will release hero after conflict ends
any grabber will release hero if it moves away while confused/stunned/afraid
make changes in hallucination be reflected by changes in mimickery feedback
have to see a divine gift in order to have it become a discovery
honor the never-in-hell flag when selecting random monster type for corpses,
eggs, figurines, and statues created in Gehennom
hero is not subject to light-based blindness while fainted from hunger
add Unaware pseudo-property to suppress various messages while unconscious
engraving while underwater should use surface() which handles that case
prevent obj_is_local panic during bones creation when splattered burning oil
from a thrown potion of oil kills the hero
don't leave lit potion intact when splattered burning oil from broken floor
potion kills the hero
fix region timeout detection, caused strange display of stinking cloud
while wearing the Eyes of the Overworld
try to keep migrating monsters from escaping the wizard tower
affected monsters should always respect "Elbereth"
try harder to keep dragged chain between ball and hero
fireproof containers should not burn in lava
missile which kills engulfer will now be placed prior to hero's return to map
fix invalid pointer dereference after applying a wielded cream pie
avoid drowned in a drowning and burned by burning if life-saving is inadequate
bugles affect all monsters to some extent
nurses are affected if player is polymorphed as a cockatrice
getting a particular rotten food result can't make attempting to eat a
corpse of one of the Riders be survivable
pad shortest rumors to improve distribution of delivered rumors
wake up sleeping steed when putting on saddle or mounting
reveal hidden monsters who change levels or are magically summoned
hero can't carry an unlimited number of boulders when poly'd into a giant
stop wielding cockatrice corpse which triggered own death followed by life-save
format various prompts to avoid "Query truncated" entries in paniclog
prevent very large number of objects in # inventory slot from causing
buffer overflow
!fixinv config was using arbitrary characters instead of # for invent overflow
for inventory display, include cost info on hero-owned containers holding
shop goods
shops now claim ownership of items created by using an unpaid horn of plenty
shopkeepers shouldn't refer to non-male character as "cad"
tweak levitation timeout if trap is being triggered on same turn it is to end
don't report death by petrification if cockatrice kills hero via HP loss
Riders are immune to green slime
Rider corpses can't be engulfed by gelatinous cubes
if Rider corpse revival fails, usually try again later instead of rotting away
wielding a cloak of magic resistance or gray dragon scales, or carrying one in
alternate weapon or quiver inventory slot, conferred magic resistance
to polymorphed hero
wielding a potion of blindness or carrying one in alternate weapon or quiver
slot conferred resistance against light-based blindness to any hero
worn item transformed by polymorph remains worn if feasible
zapping closing or breaking magic up or down from beneath an open drawbridge's
portcullis failed if bridge orientation was north-to-south (Valk quest)
can't dip or apply grease to a worn item that's covered by another worn item
sinking into lava didn't track passage of time properly
sinking into lava eventually burns away slime; sitting in it always does
after escaping lava by foot, if hero doesn't move he'll fall back in
suppress corpse from bones data if death is due to being dissolved in lava
suppress "you rise from the dead" if game ends due to be turned into slime
hero poly'd into stone golem and wielding cockatrice corpse casts stone-to-
flesh at self to become flesh golem will revert to stone if no gloves
don't give erroneous "<mon> disappears" message for hero poly'd into quantum
mechanic who hits engulfer while swallowed and blinded
demon lords/princes can't be summoned to the elemental or Astral planes
feedback from casting spell of protection was wrong in some situations
can't engrave on floor while inside solid rock, wall, or closed door
same-race sacrifice can't damage high altars
allow corpses on floor to be offered at high altars
allow hero to attempt to offer the Amulet at ordinary altars
shooting range for crossbow isn't affected by strength; multi-shot volley is
remove engravings at drawbridge location when it is opened, closed, or wrecked
monster killed in midst of multi-shot volley throwing/shooting might cause
freed memory to be accessed, potentially triggering a crash
right-handed boomerang throw travels counterclockwise
can't arm bear traps or land mines on Planes of Air or Water
statues that "come to life" when trap activates shouldn't start out sleeping
shopkeepers and priests wouldn't step on graves put in their rooms by bones
can't throw if poly'd into form which lacks hands
monsters can use ranged attacks over/around boulders, same as hero
can't eat an artifact you're unable to touch
attempting to kick beyond map edge performed an out of array bounds memory
access; symptom seen was "show_glyph: bad pos" warning when blind
attempting to engrave with an empty wand should always use a turn
don't access freed memory after engraving "wrests one last charge" from wand
a magic portal could be rendered inactive for the hero if a successful
hangup save took place during level change; leaving the level by any
means other than triggering the portal would reactivate it
can't drop part of a stack of N weapons welded to hero's hand
pickup still accepts m as command prefix, but now rejects F,g,G,M,numpad 5
scatter piles of kicked gold rather than move the entire pile at once
hero wasn't allowed to affix candles to the candelabrum while underwater
non-unicorn horn healing magic which cures sickness now also cures vomiting
vomiting/nauseated state is included in enlightenment feedback
vomiting countdown actually triggered the final vomit code twice
rats aren't capable of vomiting
fireproof, non-rustable weapon would be revealed as fireproof by hitting a
rust-causing target; ditto for fixed crysknife
surviving choking while eating various foods (cockatrice egg, fortune cookie,
wolfsbane, others) didn't carry through to those foods' side-effects
shapechangers who take on mimic or hider form will mimic or hide when feasible
avoid War message if tinning a Rider corpse fails
prevent long messages from triggering access violation or segmentation fault
due to buffer overflow in pline()
cursed corpse wielded by a monster isn't welded to its hand or paw
fix grammar errors in samurai quest, wakarimasu ka?
fix spelling of Dr Dolittle
hero's sleep resistance shouldn't protect steed from sleeping gas trap
#jump attempt fails if mounted on sleeping steed; jumping spell still works
dropped wielded, in use leash should remain in inventory, since it's in-use
wielded, in use leash can't be snatched by whip-wielding monster
when using two weapons at once, whip-wielding monster can target either one
if normal game save file is restored via `nethack -X', restore in normal
mode--with save file deletion--and require confirmation ala 'X'
command to make deferred switch into explore mode
can't #force floor item while engulfed, levitating, or unskilled riding
can't lock or unlock doors while engulfed
if hero or monster standing on opened drawbridge survives its destruction,
fall into water or lava instead of remaining on top
don't give a speed change message when an immobile monster is seen to be hit
by a wand of speed or slow monster
when shopkeeper "gratefully inherits possessions" of hero who dies in shop
doorway without owing the shop, move those items inside shop for bones
dying in a shop while wielding two weapons could cause "Setworn: mask" warning
make score file processing more bullet proof to avoid potential security issue
stethoscope applied to hiding mimic will bring it out of hiding
rephrase "<artifact> evades your grasp" message if artifact is already held
artifacts which subsequently evade your grasp/control after already being
worn or wielded become unworn/unwielded
towel equipped in weapon, alternate weapon, or quiver slot can be applied
lit candle or potion of oil which burned out while equipped would leave stale
weapon/alternate-weapon/quiver pointer that could cause panic or crash
wielded/worn figurine which auto-transformed had same stale pointer bug
likewise with casting stone-to-flesh on self for figurine of non-veggy monst
format names of not yet id'd artifacts such that obj type shows for non-weapons
hero with lycanthropy is vulnerable to silver in both human and beast form
changing alignment or shape triggers a check for equipment evading hero's grasp
passive fire effects can damage attackers' weapons
make quest leader and nemesis be unlikely to be affected by traps
wielded bow shouldn't affect outcome of kicked arrows
ranged polearm hit can divide puddings and can use confuse monster effect
charge for kicked shop-owned food if it gets used up taming a monster
give better feedback when thrown shop-owned food gets used up taming a monster
effect of negative AC on damage received was calculated differently than
normal when deciding whether hero poly'd into pudding would split
use a more precise jumping path for far, non-straight line destinations
unicorn horn produced by revived monster will polymorph as if non-magic
stone-to-flesh on any golem statue or golem figurine creates flesh golem
stone-to-flesh which activates shop-owned figurine entails shop charges
make giants be less likely to be randomly generated in Sokoban
bear traps dish out some damage on initial entrapment
bear traps and webs are harmless to water elementals
hero with polymorph control and inflicted with lycanthropy can specify own
werecritter or human werecritter monster types as polymorph target
hero undergoing semi-controlled polymorph won't also undergo sex change
when doppelgangers taking on new shape don't specifically pick nasty monster
or role monster, bias the random form towards humanoid
salamanders can use green slime corpses to cure themselves of petrification
increase damage bonus applies when kicking while polymorphed into a monster
form which has a kicking attack, just like for other kicks
feedback about summoned monsters may use singular when it should use plural
if magically removing steed's saddle is fatal, don't leave it saddled in bones
charging prompt used wrong criteria when deciding whether to list rings
rogue's backstab bonus doesn't apply for throwing attacks
hiding monsters who are unhidden when hero leaves a level can hide upon return
touching a pile of objects while blind affects hero even when the pile is
big enough to give "there are many objects here" and not list them
explosion while engulfed only affects engulfer and hero, not adjacent monsters
eliminate case-sensitivity when converting words from singular to plural and
vice versa, so some failing wishes like "Gauntlets of Power" now work
breath attack directed at self by poly'd hero always hits
an orc (or gnome) will respond to #chat if hero is also an orc (or gnome)
override non-silver vs shades for artifacts which deal extra damage to undead
assorted mirror fixes--mainly visibility issues
kicking at "empty space" has side-effects so should use current turn
using weapon to kill tame engulfer from inside triggered "placing defunct
monster onto map?" warning
some monsters can't be strangled; self-polymorph can stop/restart strangulation
nymphs could steal carried boulders
amnesia of object discoveries would never forget the very last one
re-adjust gem generation probabilities when revisiting existing dungeon levels
kick evasion shouldn't move monsters through walls
kick evasion and jousting/staggering blows shouldn't move grid bugs diagonally
#untrap didn't check whether hero could reach the ground
digging/chopping a closed drawbridge message mentioned digging a "wall"
attacking via applied polearm now honors the "confirm" option
engulfer under influence of conflict or confusion could swallow monster at
water/lava/trap spot and not be affected by destination til next move
unicorn horn restoration no longer overrides sustain ability characteristic
hider monster revived from corpse would start out hidden (even if own corpse
was only object around to hide under)
fix sequencing issues with dropping #invoked Heart of Ahriman
applying an unpaid stack of potions of oil forced hero to buy all of them
instead of just the one which got split off and lit
sometimes when hero is forced to buy an unpaid shop item its price changed
monster could attack with a polearm even after attempt to wield that failed
sometimes got "you trip over it" after intervening messages following the
one which described "it"
wizard mode: WIZKIT wishes could overflow inventory's 52 slots
code controlling item drops by small monsters still used pre-3.1.0 weight
monsters who want the Amulet won't attack the Wizard to try to get it
when loading bones files, censor suspect characters from player-supplied
strings such as pet and fruit names
opening or closing the castle drawbridge via music consumes a turn
can't swap places with tame grid bug when moving diagonally
can't move diagonally through a long worm's body (can still fight that way)
require confirmation to read a scroll of mail if doing so will be the first
violation of illiteracy conduct
could get "suddenly you cannot see the <mon>" while invisible mon remained
displayed due to telepathy or extended detection
cutting a long worm in half would trigger segfault/accvio crash if the hit
took parent down to 1 hit point or if long worms had become extinct
cutting a level 0 long worm in half produced a new worm with 0 hit points
using F to force an attack towards a boulder gave "you attack thin air"
random "treasure drop" upon monster's death bypassed dropping side-effects
melted ice on Valkyrie quest should be pool, not moat
some variations of attempting to use open or close commands on a drawbridge
didn't give drawbridge-specific feedback
tin contents can now sometimes be accessed on the same turn that the tin
starts being opened; when not, the opening feedback is more accurate
Nth adjustment of feedback when observing a pet eating
monsters who want the Amulet won't attack temple priests to try to get it
blinded invisible hero can't see self as invisible via ';' or '/'
it was possible to generate an object of 0 gold pieces by dropping 2**32 gold
wizard mode's sanity_check option missed nested containers and migrating mons
always update map display and use up turn if open or close command attempted
while blind reveals change in door state or discloses non-door spot
a hangup save while picking up gold from shop floor could duplicate that gold
secret door detection's trap finding is no longer blocked by water or clouds
on the Planes of Water and Air
potion thrown by monster which hit a long worm's tail gave feedback about
hitting its head
implement energy vortex's previously unused energy drain attack
changing alignment type resets alignment record to 0 (nominally aligned)
jellyfish do not technically have a head
while polymorphed, suppress attribute gain/lose earned by pre-poly exercise
wizard mode #monpolycontrol prompting asked about "it" when monster was unseen
reprompt if player fails to make a menu choice during inventory identification
potion explosion during failed alchemy should awaken nearby monsters
seen eels who were stuck in isolated pools would never re-hide
can no longer get both strength and resistance from eating one giant corpse
aborting key/lock pick usage via ESC at direction prompt no longer uses a move
lit south wall of C quest leader's room contained dark gap at secret door spot
when probing from inside an engulfer, "not carrying anything" overlooked hero
archeologist shouldn't start with sling skill by carrying slingable touchstone
wearing or removing an amulet of restful sleep clobbered permanent sleepiness
if attempt to select a co-aligned artifact for first divine gift fails because
none is available, choose one from among nonaligned artifacts
ensure current_fruit gets set to the correct index when setting fruit
option to existing entry whose fid is not the highest
monsters already wearing suits can't put on shirts
if breaking a wand of polymorph causes hero to drop items, don't transform them
give "shuddering vibrations" feedback if breaking a poly wand uses up items
if polymorph causes a monster to drop items, they won't be used up via
shuddering vibrations or as golem creation fodder
monsters who ate green slime corpses weren't turned into green slime
"hand slip" while naming an object would never pick 'z' as a substitute letter
hero would "gladly take off <armor>" for nymph or succubus even while asleep
concealed mimic wasn't revealed if kicking attempt yielded a clumsy miss
too accurate feedback given to a blinded hero when a monster summons insects
if life-saved steed became untame, repeated "placing steed onto map?" warnings
would be given as long as the hero remained mounted
message sequencing for fatal explosions was confusing if feedback was given
for carried items being destroyed
when dipping something in holy/unholy water, only learn its new bless/curse
state if hero sees it glow
describe lit Sunsword as shining rather than glowing
prevent poly'd shopkeepers from taking on forms that can't handle objects
attempting to move direction 'u' as a grid bug performed #untrap command;
the other diagonals reported "unknown command" instead of "you can't"
mimic posing as statue or corpse now picks and maintains particular monst type
trying to move down while levitating said "you are floating high above floor"
even when being stuck in floor or lava blocked full levitation
when levitating, don't show '>' as a likely direction for digging
poly'd or mimicking hero who was hidden from monsters would still be treated
as a normal target for their ranged attacks
hero would remain stuck to an adjacent monster after rehumanizing if he had
been attacked while hiding via #monster when poly'd into a small mimic
hero poly'd into mimic and hiding as an object via #monster didn't unhide
when polymorphing into non-mimic
attacking via applied polearm never scuffed engraving underneath hero
auto-wielding a polearm took no time if ESC was used to cancel target choice
applying a bullwhip while at very edge of map could target beyond edge,
potentially leading to a panic or crash
prevent temple priests and minions from wearing helms of opposite alignment
'D' drop command didn't handle 'u' choice correctly if the only unpaid items
were inside containers
pearl rings shouldn't rust
shouldn't be able to read a worn T-shirt when it's covered by a worn suit
simplify hero placement on Castle level when climbing up stairs from Valley
spell attack by low-Int hero could inflict negative damage
some wand/spell/breath zaps that hit a secret door failed to reveal it
wand explosion feedback about adjacent door was phrased as if for a wand zap
improve the message sequencing when a thrown poisoned weapon loses is poison
message "You hit the with all your might." could be issued if a boulder
went away while it was being dug/broken with a pick-axe
prevent "object lost" panic if/when drinking a wielded potion of polymorph
causes hero's new form to drop weapon
documentation tidbit: change Guidebook and in-game help for pickup_burden
option to match game's 'O' command ("Unencumbered", not "Unburdened")
writing while blind no longer possible for books, might fail for scrolls
blanking items in pools while blind shouldn't reveal new obj description
for ones which had been seen before becoming blind
avoid infinite loop in topten output when killed by long-named monster
grid bug could move diagonally 1 step using travel command
attempting to open, close, or lock/unlock a door while confused or stunned
uses up a move regardless of whether direction choice finds a door
grammar fixes for vault guard messages given after player assigns guard a name
wearing cloak of displacement auto-discovered it even when hero couldn't see
wearing elven cloak auto-discovered it even when already stealthy
putting on ring of stealth never auto-discovered it
forgetting spells due to amnesia now sets memory retention to zero instead
of removing them from hero's list of known spells
shouldn't have been able write scrolls by guessing type name when they're
only partly known via name assignment
scrolls given names can be written by assigned name as well as by description
fix writing feedback "the spellbook warps strangely, then turns parchment"
make stone artifacts usually resist stone-to-flesh
when reading an unknown scroll and learning it, discovery of teleportation was
too late if hero happened to land on another scroll of teleportation
using an unlocking tool on a closed door which was actually a mimic reported
that there was no door to unlock instead of exposing the mimic
purple worm could end up in wall or solid rock when swallowing ghost or xorn
unpaid shop items stolen from hero by a monster remained on hero's shop bill
#untrap toward known trap location containing concealed mimic would yield
"{The mimic|It} {is in the way|isn't trapped}." but not reveal mimic
some actions taken when blind would yield "Wait! That's a monster!" (for a
mimic posing as a door) but not display the unseen monster glyph
enhance life-saving by preventing subsequent poison from being fatal upon
rescue from death due to spiked pit, dart trap, or poisoned missile
don't create mail daemons when populating special levels with random demons
teleport control and polymorph control are ineffective while hero is stunned
don't report "fried to a crisp" for disintegration from divine wrath
when polymorphed into an opposite sex monster, if you then become a new
human while failing to polymorph into something else, you'd be told
"you feel like a new man" for female or "a new woman" for male
spellcasting monsters' spell selection became less likely to choose harder
spells as their level got higher (including Wizard's "double trouble")
Eye of the Aethiopica, Eyes of the Overworld, and Sceptre of Might must be
worn or wielded rather than just carried to convey magic resistance
Mitre of Holiness and Tsurugi of Muramasa convey Protection when worn/wielded
effectiveness of magic cancellation by worn armor has been reduced
Protection improves the effectiveness of magic cancellation
the weight of a non-cursed bag of holding was sometimes off by 1 unit
for number_pad:2 (MSDOS compatibility), M-5 (Alt+5, or Shift+keypad5 using
MSDOS/Windows keystroke hackery) didn't function as G movement prefix
if an angry shopkeeper chased the hero to a different level and then got paid
off, he'd dismiss kops on that other level but not on his shop level
objects inside the Wizard's Tower can't be teleport to outside and vice versa
dying in lava and being life-saved or leaving bones would destroy ring of
fire resistance if it happened to be made of wood, and also burn up
scrolls of fire and spellbook of fireball
surviving in lava boils away carried potions, but dying in lava and being
life-saved or leaving bones would keep them intact
when applicable, give "your body rises from the dead as an <undead>..."
even when bones data isn't being saved
unlit candelabrum would become unlightable if its candles had exactly 1 turn
of fuel left and it was applied anywhere other than the invocation spot
have shk claim ownership of worn saddle dropped by dying pet if hero is
not within the same shop at the time of the drop
temporary loss of Dex from wounded legs will become permanent if it occurs
while mounted and hero dismounts before steed's legs have healed
for poly'd hero hiding on ceiling who gets attacked, make attacker's position
be an eligible location for hero when vacating hero's spot for attacker
to prevent ending up far away under crowded conditions
for poly'd hero hiding on ceiling, attack by sea monsters won't move them
into hero's position unless it is over water or they're already on land
for poly'd hero hiding on ceiling, attack by long worm might fill hero's
destination with worm's tail, so double check and maybe choose again
poly'd hero can't hide on floor or ceiling when on Planes of Air or Water
when shop prices are adjusted, handle roundoff (integer truncation) better
for hero poly'd into a monster form that lacks a weapon attack but has a claw
attack, use wielded weapon even when claw attack isn't the very first
rename the SLEEPING property and Sleeping attribute to SLEEPY and Sleepy, resp.
character escape sequence handling during options processing was vulnerable
to malformed escapes and could potentially be abused to clobber the
stack and launch a buffer overrun attack
give alternate message for "<mon> turns to flee" when mon can't move
all statues in a cockatrice nest were for giant ant if 'record' was empty
when dying outside all shops on a level with multiple shopkeepers and one takes
hero's stuff, choose one who is owed money over first one on fmon list
hero poly'd into a critter without hands could still open tins
if a vault guard was killed, his inventory would be dropped at <0,0>
throwing gold to/at a vault guard will no longer be treated as an attack
non-pit traps created in vault guard's temporary corridor would remain after
the location reverted to solid rock
using magic to light vault guard's temporary corridor would produce lit solid
rock after reversion, and then yield lit corridor if dug out again
if hero was blind, killing the vault guard while in his temporary corridor
would leave hero encased in solid rock without informing player
if hero dragged iron ball into temporary corridor and then killed vault guard,
the portion of corridor currently in existence would become permanent
on Plane of Water, restrict levitation and flying to air bubbles;
elsewhere, restrict them such that they don't work inside solid rock
wand/scroll/spell of light now hurts gremlins (lamp/candle light doesn't)
ditto for hero in gremlin form (camera too)
autosearch finds and transforms secret doors and corridors even while blind,
but it wasn't updating the map to show them unless the hero could see
fix message typo, "you sold some items inside <container> for N gold piecess"
hangup save made during magic mapping or <foo> detection performed while
underwater could put hero on top of the water after restore
fix bug preventing stone-resistant monster w/o gloves from wielding cockatrice
items conferring life drain resistance were affected by drain life spell
'a'pply command could be used to recognize undiscovered potions of oil
fix replacing an existing bones file in wizard mode [load?y, unlink?n, die?y,
save?y, replace?y] for configurations using external file compression
theft of worn armor with wear/unwear delay would interfere with completion of
wearing or unwearing some other armor which also imposed a delay
(disrupted wear attempt for +N helm of brilliance would result in loss
of N points of Int and Wis; gauntlets of dexterity had similar problem)
#sit while swallowed would give the wrong message
alchemical explosion or evaporation only used up one potion instead of all
the potions being dipped
feedback for reverse-genocide was plural even when just one monster was created
fix message given when part of a stack of items in a monster's inventory is
being destroyed
add "Boing!" message when hero zaps resistant monster with striking/force bolt
adjust gaze reflection message when your scales are embedded in your skin
adjust turning-to-stone or -slime messages when you have no limbs
wizard mode ^F on Plane of Water marked portal as seen but didn't display it
magic mapping now displays furniture in preference to known or remembered traps
or objects and known traps in preference to remembered objects
restrictions on diagonal movement were ignored when crawling out of water
when using magic whistle, prevent steed from being affected (trap interaction)
declining to attack a peaceful monster via movement used up nutrition even
though no action took place
declining to attack a peaceful monster via kicking woke nearby monsters and
scuffed engraving at hero's location even though no action took place
make hero be immune from stinking cloud damage during successful prayer
very fast hero would sometimes take two consecutive moves with very fast
monsters then getting two moves, instead of interleaving the activity
when a monster zapped by polymorph drops inventory because of its new form,
don't let that same zap hit the dropped item(s)
entering an untended shop while blind gave an inappropriate message
engraving feedback about partial text when weapon became too dull to finish
was lacking sentence-ending period
impossible() might display inaccurate feedback after updating paniclog
fix crash which occurred if hero was teleported onto a sink while busy putting
on or taking off levitation boots
fix "object lost" panic (or even crash) when dropping multiple items while
levitating and a lit potion of oil explodes and destroys some inventory
fix "object_is_local" panic when saving bones after hero is killed by explosion
produced by dropped or thrown lit potion of oil
gold dropped on altar by hero wouldn't stack with gold dropped there by monster
if lava burns up the player's water walking boots, the player falls in
the messages for lava burning items up are always printed
fix used-up magic trap trying to hit steed.
messages are now printed when objects on the ground are eroded
object erosion now always identifies fooproof objects
grease protects from all types of erosion
all sources of erosion now affect objects the same way
passive attacks no longer erode armor covered by other armor
dipping a fooproof item into acid no longer forgets that it's fooproof
dipping a container into uncursed water now gets its contents wet
sanitize petnames and fruit to prevent escape codes
data.base "bat" overrode later "combat" entry
data.base "gelatinous cube" and "jack boot" have their own entries
data.base "vampire bat" matched twice; use the bat entry
data.base dagger attribution started with spaces instead of tabs
remove 'if (Deaf)' guards preceding You_hear which already checks deafness
use a menu to loot multiple containers
do_look() in post-3.4.3 used glyph prior to setting it in pager.c
charge for a boulder that fills a pit in shop
abuse wisdom in keeping with Rider eating message
message inconsistency: death message "swallowed <mon> whole" was preceded
by "You bite into"
improve the messaging when a monster you can't see is causing an obstruction
add option mention_walls, which gives feedback when bumping against a wall
fix invalid pointer dereference in morguemon if ndemon returns NON_PM
after object loss through polyshudder don't get left hiding under nothing
if you're polymorphed into a hider
show object symbols in menu headings in menus where those object symbols
act as menu accelerators, toggleable via "menu_objsyms" option
show t-shirt text at end of game inventory disclose
hitting with a polearm remembers the position of the last monster you hit
add messages for trying to pick up some terrain features
boomerang makes noise when hitting a sink
non-pet rust monsters would eat rust-proofed non-digestibles but ignore
those non-digestibles otherwise
kicking a grave may topple the gravestone
allow showing legal positions for stinking cloud, jumping and polearms
when asked for a location
cloned creatures (of any type) don't deathdrop items
pudding corpses behave somewhat differently than before
mithril armor should have silver color
lichen corpse is an acid indicator
camera may contain a picture-painting demon
some monsters can eat through iron bars
inaccessible niches occasionally have iron bars in front
sinks may teleport or polymorph
shopkeepers give honorifics to vampires and elves
when commands (D, A, object identify) mix object class filtering with BUCX
filtering, take the intersection rather than the union (so ?B picks
blessed scrolls rather than all scrolls plus blessed everything)
bmask is stored with the objects on the Plane of Water to prevent segfault
engraving on drawbridge with wand of digging should produce appropriate
message instead of referring to gravel
engraving Elbereth is less efficient as protection
scare monster scroll now provides a better effect
monsters without hands can no longer pick up piles of objects (with
certain exceptions)
uncursed enchant weapon now correctly fixes erosion
scroll of earth messages cleaned up
long worms can no longer be leashed
the chest in the Castle containing the wishing wand can never be trapped
the vibrating square is now a trap
mimics wouldn't take on the form of "strange object"
add an option to prevent omitting the uncursed status from inventory
show prices when walking over the shop merchandise
you shouldn't see Sting glow light blue if you're blind
when jumping, bumping into something is noisy
flesh golems hit by electricity healed by wrong amount
fleeing monsters couldn't use stairs that lead to different dungeon branch
casting spell of protection when previous casting(s) hadn't time out yet
miscalculated the new AC increment
remaining monsters continued to move after hero conceptually left the level
when a monster knocked him onto a level-changing trap (this bug made
it be feasible--but not practical--to level teleport with the Amulet)
#turn for non-priest/non-knight attempts to cast "turn undead" spell, but
was forcing the spell to target self rather than choose a direction
potions of gain energy are more useful for recovering hero's spell energy
spellcasting attempt of any spell while stunned now always fails
spellcasting attempt of expired spell while confused will increase confusion
duration rather than replace it
add ways to get out of inaccessible niches in one of the minetown layouts
Platform- and/or Interface-Specific Fixes
-----------------------------------------
FreeBSD: compilation problems on FreeBSD 6.1
linux: compile support for TIOCGWINSZ by default
smartphone: do not translate input when command helper is hidden (fixes
Motorola Q keyboard bug)
smartphone: new keypad layouts
smartphone: wizard mode command layout
smartphone: option to feed arbitrary text as a command to nethack core
tty: when loading user's run-time configuration, explicitly negating one of
{DEC,IBM,MAC}graphics options after enabling another of them switched
to regular ASCII and left the earlier option inaccurately set to "on"
tty: various bugfixes for very wide and/or tall screens
tty+GOLDOBJ: dropping or looting by menu wouldn't honor a count for gold
tty: fix crashing when a location has more than 32k items
tty: fix segfault when MD termcap is not defined
tty: do not cut off statuslines at 80 characters for wider term
tty: prevent accidental escapes from string entries
tty: hilight object piles
unix: remove use of parentheses in nethack man page usage that confused a
man page conversion tool
unix: new -wwindowtype option
unix: don't clobber old level files if 2nd hangup/disconnect occurs while
reconnected user is responding to the "destroy old game?" prompt
unix/Qt: saved games were not found if nethack was built with prefixes in use
unix,vms: allow digits after first character in name at "Who are you?" prompt
unix: implement fcntl(2) locking on systems that can handle it
vms: the DLB configuration could fail to build if a file without a dot
in its name happened to match a logical name
Windows: starting a game with nethack.exe (tty) and saving, then restoring
and finishing with nethackW.exe (win32) would display the high scores
output in a series of popup windows, one for each line of text
Windows, probably MSDOS and OS/2: attempting to use very first false rumor
for cookie fortune or random engraving could produce garbled text
when rumors.tru had CR+LF line ends instead of Unix-style LF lines
#if CLIPPING: during teleport or hurtle, re-clip the map immediately instead
of waiting until hero's next move
winCE: disable processing of double-click messages if the first click
causes map to scroll
winCE: help text windows close immediately after open (unhandled WM_KEYDOWN
in mhtext.c)
winCE: correct coordinates used by action button
winCE: wrap/unwrap text option for text windows
winCE: hardware keyboard detection
winCE: hide keypad when hardware keyboard is present
winCE: backport message window highlighting from winnt port
winCE: new icon with recommended image sizes
pocketpc: menu window closes on up/down keys from first/last position
win32gui: better handling of "more" prompt for messages that would have
scrolled off the window
win32gui: set correct checkmark on "Lock Windows" menu item on startup
win32gui: redraw message window on resizing (it does not update properly otherwise)
win32gui: fixed copy/paste error in read registry settings function
win32gui: improved calculation of the size of the menu window
win32gui: made auto-arrange windows on/off option (it was reset automatically
which was unintuitive and in some cases annoying
win32gui: fix a possible crash with AltGr-4 WM_KEYDOWN handling
win32gui: use whatever alternate tile set is loaded in the menus
win32tty: prevent early error messages from flashing by too fast and not seen
win32tty: work around problem where display symbols were wrong or
unrecognizable on systems where the default language for non-Unicode
programs was not set to "US English" - courtesy Ray Chason
win32tty: work around problem where some characters did not show up if the
console code page was other than 437
X11: support dynamic switching of map mode via tiled_map option
X11: added support for hilite_pet to text map mode
X11: ensure vertical scrollbar shows up in text display windows
X11: fix typo in mouse click sanity check; result might have pointed to
spurious location after window resizing
X11: use a plus sign to mark piles of objects
platforms that support hangup: SAFERHANGUP to avoid losing objects in transit
between lists when hangup occurs, and also avoid cheats due to
well-timed hangups to stop a long melee
build-from-source: dlb utility can handle arbitrary number of files
General New Features
--------------------
when you're teetering on the edge of a pit you can use '>' to enter the pit
when you're flying over a pit you can use '>' to enter the pit
when asked for a direction, a response of '?' yields help and then asks again
when adding an item to inventory, try to stack it with the quiver slot
before trying against other carried objects
#adjust can be used to split an inventory stack
cockatrice meat has a distinct flavor to some
wish request for "<something> armor" will match item named "<something> mail"
Fire Brand and Frost Brand have a chance to avoid taking rust damage
support ^R (and ^L in numpad mode) to request display repaint during direction
choosing and location choosing prompting modes
intelligent pets will use keys to unlock doors
destroyed drawbridge leaves some iron chains
give feedback when a nearby monster grows into a stronger form
familiars are now created without any starting inventory
using the 'f' command when quiver is empty will fill quiver with player's
response to the "what to throw?" prompt
breaking a wand with the apply command has a chance to wrest an extra charge
burying a punishment ball no longer ends your punishment
#tip command (with M-T shortcut) to empty a container's contents onto floor
add clicklook option to allow looking at things on the display by clicking
right mouse button when floating mouse pointer over them
Izchak's lighting store is now able to stock oil for your lamp
provide core support for saving of message history in save file
the following actions can now be continued after save/restore: digging,
eating, studying, removing armor
hero-created and monster-created ice will eventually melt away
extend Warning to include ice danger
wishing for particular variety of tin contents (deep fried, broiled, etc.)
debug-mode wishing for random monster(s) via '*'
debug-mode viewing of fully identified object descriptions without
actually identifying the objects
health-food store that stocks monk-appropriate foods in mine town when monk
give more information about your attributes in debug mode
polywarn to give intrinsic monster detection of limited species while poly'd
rocks can skip on water sometimes allowing them to pass over water creatures
vampires can now shapeshift into bats and fog clouds; the latter can be done
at will to slip through locked doors
shapeshifted vampire will transform back to vampire form after you defeat it
and continue to fight in its native form
container lknown flag for locked/unlocked/broken awareness
container cknown flag for container content awareness
plname is stored in the save file on all platforms now
introduce support for negation of role, race, align, gender values to eliminate
them from random selection and the pick list of startup choices
some intelligent pets will avoid cannibalism
keep track of which monsters were cloned from other monsters
cloned and revived monsters become worth fewer points than ordinary ones
number_pad:3 run-time option to use inverted phone keypad layout for movement
number_pad:-1 to swap function of y and z keys; z to move NW, y to zap wands
display spell retention information in the spell menu
tame ghouls can eat old eggs
new effect for reading a scroll of light while confused
allow digging an adjacent pit with wand of digging while trapped in a pit
#terrain command to show unobstructed view of map (w/o mons, objs, traps)
digging can activate or disarm some types of traps
some monsters can eat tins in addition to corpses to cure some ailments
add ability to sort the list when viewing known spells with '+' command
describe magic cancellation from worn armor in enlightment/end-of-game feedback
disclose half physical and/or spell damage in enlightment/end-of-game feedback
rephrase see invisibility enlightenment feedback when unable to see at all
add atmospheric sound messages for temples
sometimes give announcement message when monsters teleport to hero's vicinity
obsolete config file keywords: GRAPHICS, OBJECTS, TRAPS, EFFECTS
deprecated options: IBMGraphics, DECGraphics, boulder
new options: symset, roguesymset for choosing a symbol set from symbols file
new config file keyword: SYMBOLS for overriding character symbol values by name
opening magic frees from bear traps and webs, activates trap doors
closing magic activates bear traps and webs
locking converts a hole into a trap door; striking does the opposite
lembas and cram never rot unless cursed
multiple squeaks for squeaky boards
include time, user ID, and play mode in paniclog entries
add oracle and rumor regarding priestly donations
anti-magic traps have alternate effect on targets who have magic resistance
the Amulet can be offered to Moloch
javelins and spears now share the same weapon skill
all stackable weapons are capable of being thrown/shot for multi-shot volleys
worm teeth and crysknives have become stackable
improved container interface
acid can destroy iron bars
OPTIONS=playmode:normal|explore|debug to choose mode without command-line
score bonus for ascending is reduced or denied for changing alignment
player can give a monster class when asked for type of monster to poly into
likewise when asked about type for #monpolycontrol
both controlled self-polymorph and #monpolycontrol accept ESC, "*" or "random"
when asking for type of monster; ESC aborts #polyself command
scroll of taming/spell of charm monster now gives some feedback
doppelgangers can take on the shape of alternate roles' quest guardians
pile_limit option to control when to switch to "there are objects here"
vs listing objects on floor when hero goes over objects while moving
some monsters will use fire to prevent selves being turned into green slime
add `#vanquished' debug mode command
C and #name commands are now same and use menu to choose monster vs object
hallucination provides partial protection against gaze attacks
attempting to read "dull" spellbook might cause hero to fall asleep
dipping prompt is more precise
using F to attack wall/boulder/statue while wielding pick digs/breaks target
shapechangers shouldn't receive starting inventory of their initial shape
streamline old ^X output and integrate it with enlightenment feedback;
new ^X output includes expanded form of abbreviated bottom line info
"killed by X" becomes "killed by a chameleon imitating X" when appropriate
eating disenchanter corpses is now considered risky
make '[' command more precise when poly'd hero has embedded dragon scales/mail
fainting while wielding a cockatrice corpse will be fatal
Sunsword's light radius depends on its curse/bless state
Add M-C and M-R meta-key shortcuts for #conduct and #ride, respectively
can now use ESC to cancel out of prompts for playing musical instruments
being crowned gives an additional benefit: one extra skill slot/credit
chatting to a gecko or shopkeeper while hallucinating gives alternate message
mimic posing as door might steal hero's key when [un]locking is attempted
polymorphing into a dragon while wearing dragon scale mail will cause that
mail to revert to dragon scales
flexibility for specifying "detect <foo>" vs "<foo> detection" when wishing
when a sokoban puzzle has been completed (last pit or hole filled in),
stop assessing luck penalties and lift most movement restrictions
'`' command to show discoveries for one class of objects
add "about nethack" to '?' menu as an alternate way to view 'v'+'#version'
display version and build information at startup
repeatedly setting the fruit option will check to see if fruits have been
created, so the user can't easily overflow the maximum this way
bones files now include extra data to identify dead hero and reason for death
dipping multiple potions in another potion may only dip part of their stack
make being inside a stinking cloud (when not immune or resistant) become a
major trouble which is fixable by prayer
introduce some variation in monster movement rates
add database entry for shuriken and make it match throwing star
add database entries for fedora, land mine, cream pie, bullwhip, blue jelly,
and boomerang
change command X to twoweapon toggle
pressing @ when cursor positioning moves cursor on top of hero
pressing # when cursor positioning toggles automatic description of features
under the cursor
cursor positioning ignores uninteresting dungeon features
allow reading many more items
when you're hiding under something a zap downward should not hit that
something, while a zap upward should
show more explicit reason why player was helpless at death
added new hallucinatory-only gods
options to create the character blind or nudist
moving clouds on the plane of air
disclose extinct species alongside genocided ones
a tribute to Terry Pratchett
some levels in Gehennom now use the old corridor-style maze instead of the
new room-style. Beelzebub's level always does this and the
"beetle legs" are restored.
gnomes will occasionally have a candle
stop travel or run when you get hungry
'I' command can accept 'B','U','C',or 'X' as an alternative to normal object
class character to show inventory of items known to be blessed,&c
debug-mode viewing of object weight
prizes on various levels now protected by ?oSM scrolls as well as Elbereth
regexes now use system libraries consistently for all pattern-matching systems
wet towels deal more damage
'P' and 'W' commands work on both accessories and armor but treat different
types of items to be likely candidates when prompting for an item
'R' and 'T' commands also work on both accessories and armor; setting the
Remove/Takeoff category for the paranoid_confirm option will be needed
if user wants to stick with just one command for all worn items
Platform- and/or Interface-Specific New Features
------------------------------------------------
pcmain: check for dlb_init failure rather than relying on dungeon open failure
win32gui: support perm_invent
win32gui: menu option to add/remove windows captions
win32gui: support for saving/restoring message history
win32gui: added menu options "Copy ASCII Screenshot To Clipboard" and "Save
ASCII Screenshot To File"
win32gui, win32tty: add support for looking for sysconf in %COMMONPROGRAMFILES%
first and for user config file in %USERPROFILE% (improves support for
multi-login Windows environments)
win32tty: support for 'selectsaved' option for menu of existing save files
to choose from at game startup
tty: add window port routines for saving/restoring message history
tty: enhanced role, race, &c selection at start of new game
tty: implement : (menu_search) command
smartphone: added "Type Cmd" command that allows to type arbitrary commands
using phone keypad
smartphone: added Q(quiver) command to "Attack" layout
smartphone: fixed F command to prompt for direction
unix,vms: altmeta option to handle terminals which send "ESC c" for Alt+c
tty,win32gui,win32tty: add menucolors
MSVC: send debugpline output to 'debug' window to declutter game screen
NetHack Community Patches (or Variation) Included
-------------------------------------------------
Roderick Schertler's pickup_thrown patch
adopt/adapt/extend Malcolm Ryan's Statue Glyphs patch to work for tty and tiles
adopt/adapt/improve the Paranoid_Quit patch; default is paranoid_confirm:pray
paranoid_confirm:Confirm when requiring "yes" instead of y to confirm,
also require explicit "no" to reject
paranoid_confirm:quit yes vs y to quit or to enter explore mode
paranoid_confirm:die yes vs y to die in explore or wizard mode
paranoid_confirm:bones yes vs y to save bones when dying in wizard mode
paranoid_confirm:attack yes vs y to attack a peaceful monster
paranoid_confirm:pray y to confirm #pray; supersedes prayconfirm
paranoid_confirm:Remove always pick from inventory for 'R' and 'T'
adopt/adapt/improve Dungeon Overview
Aardvark Joe's Extended Logfile
Michael Deutschmann's use_darkgray
Clive Crous' dark_room
sortloot by Jeroen Demeyer and Jukka Lahtinen
Auto open doors by Stefano Busti
Code Cleanup and Reorganization
-------------------------------
removed OVLx section dividers previously used for TRAMPOLINE overlay system
move all flags that are system or port specific from flag struct to sysflags
struct which is used only if SYSFLAGS is defined
all fields in flags struct are unconditionally present
monst cham field now a short and uses mons[] index
rearrange some monster ordering to follow rule #2 listed at top of monst.c
change region player_flags to more appropriate unsigned int instead of boolean
remove remains of sync_hunger, which has been ifdef'd out for years
new mextra structure housing pointers to mname, egd, epri, eshk, emin, edog
consolidate vault.h, epri.h, eshk.h, emin.h and edog.h into new mextra.h
new oextra structure housing pointers to oname, omonst, omid, olong, and omailcmd
drawing symbols for DECGraphics, IBMGraphics, MACgraphics are now stored in an
external symbol file that can be changed without rebuilding
new hints-based configuration system
allow documentation to be specialized to the options in the game binary
add param to winsys ini routines to allow cleaner shifting during startup
make STEED, EXP_ON_BOTL, REDO, AUTOPICKUP_EXCEPTIONS, GOLDOBJ, WIZARD, SINKS,
REINCARNATION, TOURIST, KOPS and ELBERETH unconditional
make SEDUCE compile-time unconditional but still removable through SYSCF
clean up some DEBUG conditional code
allow defining of generic usernames in config.h instead of hard-coding in role.c
set indentation to 4 spaces in most source files
|