$RCSfile$ $Revision$ $Date$ General Fixes and Modified Features ----------------------------------- prevent panic() obj_not_free when pushing a boulder over a landmine there was no feedback when successfully hitting shock resistant monsters with Mjollnir via hand-to-hand attack unbought single-bite food eaten in shops was not billed properly charge for shop contents inside "no charge" containers add wishing for "nothing" and genociding "none" to the conduct section of the Guidebook allow both wishing and genocide to accept either "none" or "nothing" when the player wants to decline left word in format string in get_wet() causing "The spellbook fadefades" two bad wizkit items in a row shouldn't make the user hit space many times kicking thrones no longer loosens rocks wall symbol not replaced when digging while blind and levitating increment FQN_NUMBUF from 2 to 3 to prevent premature reuse of a buffer that caused a level creation error to be reported as a lock file error print regular death message when leashed, mounted steed dies of starvation fix more funny messages, new and old restore the behavior of bumping into closed doors when moving while impaired fix iron ball cases that could put the chain in solid rock discovering a mimic on a closed door location should not unblock the location don't drop corpse when a monster kills another monster on an inaccessible location (i.e. behave like xkilled behaves) half-physical-damage from gas spore explosion should only affect you Sunsword didn't stop glowing when hero killed a monster wielding it mimics caught in explosions with messages printed about them are discovered let lev_comp and dgn_comp accept optional carriage return character prior to the terminating newline in special level and dungeon description files Wizard of Yendor will start harassing you after the invocation if you've managed to get that far without ever killing him characters polymorphed into centaurs can't wear boots if an unknown rolling boulder trap kills a monster, you shouldn't be a murderer touchstone entry in data.base specific message for engraving headstone with wand of digging wielded/quivered chained ball should be unwielded when thrown polymorphing into a form that cannot twoweapon should immediately disable twoweapon mode; likewise when reverting from a monster form which can use two weapons to a normal form which can't taking partial count of merged objects from a container while your pack was full split the object and did not re-merge animal_parts are not always appropriate for ravens prevent panic if tombstone window cannot be created clarify travel command behavior in the Guidebook touch_artifact checks needed when snagging w/bullwhip and stealing cannot trip over submerged objects if you're water walking wand of striking was not identified if it activated a statue trap cannot sacrifice while you're swallowed player polymorphed into an eel cannot drown breathless/amphibious monsters avoid dmonsfree impossible message due to migrating a dead monster via mhurtle causing the monster to end up in a hole or other trap avoid temporary disappearing Burdened message due to updating status line midway thru in_container don't credit player's wisdom when makelevel creates random Elbereth engravings reduce insect/monster creation from monster spells avoid "couldn't place lregion type 5" warning when arriving at Plane of Fire avoid crash due to delayed poly or were change no longer being valid ensure that Priest's ability to recognize B/U/C is considered in B/U/C menus can't push boulders through iron bars; traps can't roll such through either; likewise for objects thrown by monsters thrown objects susceptible to breaking might do so when they hit iron bars assorted monsters can pass through iron bars; ditto for polymorphed character attempting to dig iron bars will wake nearby monsters instead of yielding "you swing your pick-axe through thin air" autodig won't accept iron bars as candidate location allow knight to retaliate for all thefts except those "you gladly hand over..." randomize starting position on goal level for M, P, and S quests prevent the Wizard of Yendor from displacing the high priest of Moloch out of the Sanctum's temple ATR_BOLD on spell menu header travel command should restrict its shortest paths to areas of the map the hero knows about or might reasonably guess non-altar prayer should limit god action, not maximize it potions of acid explode, not dilute, so make water_damage behave this way lookat monster notes if you see monster is trapped don't crash when angry shopkeeper re-enters the shop and you pick up something monsters with WAITFORU strategy should act if successfully attacked by non-damaging attacks (e.g. seduction, rust damage) don't summon kops if credit covers cost of unpaid goods taken out of shop update swallowed display immediately if an engulfing monster polymorphs into another engulfing monster undo xname FAKE_AMULET_OF_YENDOR AD_DRIN check, the_unique_obj checks this case axes should chop trees; picks shouldn't chance to aim grappling hook when skilled or better level limit of monsters like naga hatchlings should be high enough to grow up scroll of enchant weapon will become discovered when read in some cases don't crash when using lookat on a boulder an BOULDER sym is unique attaching a single candle to fill candelabrum's last slot gave message with poor grammar: "The candelabrum now has seven candle attached." vault guards won't ask who you are if you're unconscious or paralyzed monsters should not repeatedly try to teleport on noteleport levels crocodiles legs are not designed for kicking open doors, chests, et al. walls of one of the luckstone locations in minend-3 were diggable minetn-6 could place downstairs in a cut-off location corpses in bones files don't retain their role characteristic boulder was not displayed if blind and discovered with a monster known via ESP behind it don't claim that statue comes to life if the monster it turns into is invisible fix goodpos() so worm segments don't get placed on top of each other (causing a possible display problem if the worm is cut in two) fix fountain noises on some special levels (castle, valk home, various mines) disallow mounting a trapped steed to avoid inappropriate trap effects #chat with meditating monster will rouse it suppress redundant message when stoning effect transforms a golem clear worn bits of any object grabbed by shopkeeper to avoid extract_nobj panic looting any container on a location should suppress looting nearby monsters give more specific message when forbidden role attempts to use twoweapon mode avoid double billing if #loot causes a shop's bag of holding to explode when polymorphed, player killing a paper or straw golem via fire damage would kill the golem twice, resulting in an impossible error usually stop mimicing if you polymorph while using #monster mimic capability under !GOLDOBJ, gold shouldn't disappear if you try to throw it at yourself under !GOLDOBJ, remove temp gold from inventory during restore Staff of Aesculapius did not always cure sliming correct singularization of fungi, liches, vortices prevent "remove_object: obj not on floor" panic for iron ball placement if riding while punished leads to a fall off steed when changing levels specifying -D (or -X) to enter explore mode while restarting from a save file was lost in the restore process fix crash when using lookat on an known invisible monster with monster syms set prevent getting stuck in infinite loop when using wizard mode #levelchange command to reduce level while having level-drain resistance naming an already wielded elven dagger "Sting" activates warning against orcs naming either of the wielded weapons unintentionally ends two-weapon combat Various nemesis monsters must resist stoning so their death messages make sense don't call DEBUG impossible in rn2 when a level 0 monster tries to cast a spell GOLDOBJ: don't call money2mon with 0 zero when killed by shopkeeper headstone writing was using the adjective "weird" when engraving with a wand of digging. don't report "you were riding" if you die as a result of dismounting allow #untrapping of chests that are co-located with floor traps and hero unmap "I" symbols when searching while blind and levitating monsters that are frozen or sleeping cannot be grateful for untrapping grammar of blessed-detection eating warning messages when eating 1 of N objects message for charging for items lost in a cursed magic bag wasn't always shown dropping gold on an altar printed no message and didn't change gnostic conduct don't allow cursed daggers thrown by monsters to go thru closed doors hero polymorphed into an exploding monster should explode when attacking thin air, just like the monster itself don't mark holes/trapdoors as seen if you levitate over them while blind player polymorphed as rust monster would lose gold in inventory by attempting to eat it, even though the eat failed no messages were printed when dowaterdemon or dowaternymph failed to create a monster doe to the G_GONE check knights should be able to avenge attacks from covetous monsters eating various rotten food items would not break vegan/vegetarian conduct unaligned special levels should inherit alignment from the dungeon Platform- and/or Interface-Specific Fixes ----------------------------------------- win32: win32 build no longer defines MICRO win32: allow error save files to be generated win32: strip illegal file name characters from plname and replace with '_' win32gui: make error() work; it was essentially non-operative in 3.4.0 win32gui: fix alignment of columns in menu windows win32gui: Window menu File|Save worked during #quit disclosure processing win32tty: honour the use_inverse option and default to ATR_BOLD if disabled win32tty: respond only to mouse clicks not mouse movement X11: restore support for non-square tiles when USE_XPM is defined Gnome: add support for non-square tiles tty: remove #define DEBUG that forced debug behavior in production builds X11: getlin dialog got steadily narrower each time it was used unix: install recover command into GAMEDIR by default tty: correctly handle an empty TERM environment variable tty: don't lose messages when ESC has canceled their display tty: clear topl after pickup_burden prompt Gnome: destroy main game windows correctly Gnome: Dylan Alex Simon's port of KDE-style worn window Gnome: Dylan Alex Simon's port of KDE-style hero cursor color tty: support terms where turning off inverse video turns off color too Gnome/Linux: more portable getres*id workaround General New Features -------------------- lootabc option showrace option travel option mouse_support wincap option debug mode: #panic routine to test panic() and panic save file generation a new PANICLOG optional file to log the reason for panic and impossible messages added validate_prefix_locations() for early directory prefix validation