$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.52 $ $NHDT-Date: 1578258722 2020/01/05 21:12:02 $ General Fixes and Modified Features ----------------------------------- hero polymorphed into a vampire can use #monster to shape-shift rather than just do a one-shot polymorph into bat/cloud/wolf and shifted vampire hero can use #monster again to take on another form (randomly chosen among the shiftable shapes and true vampire form) adjust bones filename buffer sizes to accommodate suffix fix internal self-recover to work with recent fields added to checkpoint file improvements to pronoun usage when hallucinating function calls made from mapglyph based on dungeon level are now called once per level fix accessing mons[-1] when trying to gate in a non-valid demon fast hero could have random clairvoyance happen more than once on same turn using 'Q' on wielded weapon would offer to split stack; make using 'w' on a quivered stack behave similarly weight for giant spider was too low for creature of size 'large'; weight for giant beetle was much too low for 'large' leave some menu items out of "invert all" via '@' when their inclusion would degrade the usefulness of that interface feature change crysknife from mineral to bone and worm tooth from unspecified to bone worn meat ring shouldn't cause increased hunger; neither should fake Amulet worn +0 ring of protection should cause increased hunger if it is the only source of extrinsic Protection fix accessing mons[-1] when monster figures out if a tin cures stoning monster wielding Stormbringer or healer's Staff against another monster would heal the hero instead of the wielding monster when draining life change twoweapon feedback from "not a weapon" to "not a suitable weapon" don't allow twoweapon combat if either weapon is a bow, crossbow, or sling drum of earthquake feedback reported various things (fountains, thrones, &c) falling into a chasm but they remained intact because trap creation had been changed to not clobber such things (so couldn't make pits) make earthquake which hits a secret door or a secret corridor reveal it Fixes to 3.7.0-x Problems that Were Exposed Via git Repository ------------------------------------------------------------------ fix compile when DLB isn't defined urealtime.realtime was being incorrectly calculated revised "mysterious force" when climbing out of gehennom could generate warnings about "rn2(0) attempted" or "rn2(-n) attempted" after 'w' on split stack patch, wielding '-' would cause an object_lost panic same patch allowed partial stack from getobj to replace cursed wielded weapon if the orc-town version of mine town has been loaded, creation of orc zombies or orc mummies would name them as part of the town raiding orc clan Platform- and/or Interface-Specific Fixes ----------------------------------------- General New Features -------------------- if a killer bee encounters a lump of royal jelly and there is no queen bee on the level, the bee will eat the jelly and become a new queen automatic annotation "gateway to Moloch's Sanctum" for vibrating square level once that square's location becomes known (found or magic mapped); goes away once sanctum temple is found (entered or high altar mapped) savefile: add support to deconstruct internal data structures down into their individual fields and save those fields instead of the entire struct savefile: use little-endian format for fields where that makes a difference replace build-time level compiler and dungeon compiler with run-time loading of the dungeon and level descriptions and interpreting them via LUA split off some of the functionality that was in makedefs (compiled-in options build date/time, etc) so that it can be built by a cross-compiler and accessed on the target platform replace quest.txt and associated conversion to quest.dat via makedefs with lua quest texts loaded at runtime some altars are displayed in different colors (for tty and curses at least) add 'quick_farsight' option to provide some control over random clairvoyance where pausing to be able to browse temporarily visible aspects of the revealed map can seem intrusive; doesn't affect clairvoyance spell replace "money" in in-game texts with "gold" when hallucinating, see hallucinated currencies instead of bits for an ale applying a spellbook hints about read charges left wizard mode wishing for level topology can now create hidden doors (ask for "secret door" when at a door or wall location) and hidden corridor spots ("secret corridor" at a corridor location) Platform- and/or Interface-Specific New Features ------------------------------------------------ NetHack Community Patches (or Variation) Included ------------------------------------------------- hallucinatory trap names from github pull request #174 autounlock feature originally from unnethack in github pull request #228 applying a candelabrum with no candles gives a tip (github #265) candelabrum now reads "(n of 7 candles attached)" (github #265) replace "You feel cold" message for freezing unseen door (github #265) applying a candelabrum with no candles gives a tip (github #265) candelabrum now reads "(n of 7 candles attached)" (github #265) show appropriate message on throne when crowned (github #265) choir chanting, bathing in darkness for death by Moloch (github #265) remove "iron hook" unidentified description (github #265) suppress "Unknown command" messages in the dumplog. (github #265) give player message informing them they can use #enhance (github #265) neutral sacrifices disappear in a cloud of smoke (github #265) call potion bottles by nonsensical names if hallucinating (github #265) add a default message for chatting to gnomes (github #265) better reporting directions for impossible() (github #265) underwater fire scroll causes vaporization (github #265) default shk sell prompt to N (github #265) teach non-mindless monsters about the Castle trapdoors (github #265) always print a message when the hero teleports (github #265) always print a message when the hero level teleports (github #265) Code Cleanup and Reorganization ------------------------------- move majority of global variables into instance_globals struct g move zeroobj, zeromonst, zeroany into const_globals struct cg remove STATIC_DCL, STATIC_OVL, STATIC_VAR, STATIC_PTR old Qt moved from win/Qt to win/Qt3 and files renamed to use qt3_ prefix more current Qt for Qt version 4 and 5 moved from win/Qt4 to win/Qt; qt4 moniker changed to qt_ window-port-interface: add_menu() modified to take a more general itemflags parameter to support uses beyond just 'preselected' add some bounds checking to tabexpand (doesn't prevent the apparent compiler optimization bug that put homebrew OSX executable into endless loop)