When I expanded the Guidebook's sample configuration file I added
several status_hilite options. I decided that I'd better test what
was written and discovered that if Xp had an up or changed rule as
well as one or more percentage rules, it was showing bogus changes
whenever the integer value of the percentage changed. The fix
turned out to be simple but it took a while to figure out.
I ultimately left the status_hilite settings out of the sample
options, because they tended to be too wide for Guidebook.txt's
formatting rather than because they weren't working as expected.
Expand the sample configuration file a little and prevent it from
going past the right margin in Guidebook.txt.
Replace all instances of "config file" with "configuration file".
Reformat the "notes" at the end of the table of map symbols.
Unfortunately Guidebook.pdf from Guidebook.ps from Guidebook.mn
puts a page break between the header line "notes" and the two
actual notes.
Value 1 for 'mouse_support' was not just exceeding the margin of
Guidebook.txt but wrapping to the next line. Shorten it.
Guidebook.tex had a typo "in the foler" (where 'folder' was meant)
and Guidebook.mn didn't have that phrase at all.
Remove a few trailing spaces.
Noticed that "multiple" was misspelled for entry about menu action
':' misbehaving under curses, but the phrasing for whole entry was
difficult to comprehend so try to word it better.
[This one is in the highlights list with the old wording.]
Reported directly to devteam, the POSIX_TYPES subset (most? all
these days?) of Unix that defines USE_FCNTL was unlocking lock file
'perm' when done with it but wasn't explicitly closing it unless
the unlocking failed. Triggered a valgrind complaint and could have
posed a problem if restart gets implemented for this configuraiton.
Feedback when playing music while hallucinating misspelled
"butterflies".
Other bits in the same code (not part of #H9407):
All feedback messages while impaired gave "You produce <something>"
which was immediately followed by many of the instruments giving
their own "You produce <some other thing>." Change the verb for the
playing-while-impaired messages to avoid having two consecutive
"you produce" ones.
Also, multiple impairments (two or more of stunned, confused, and
hallucinating) always gave the generic "what you produce is far
from music" message. Have them sometimes ignore excess impairments
to give the message for one of those.
Game is playable, and should compile on linux and Windows.
Assumes you have a lua 5.3 library available.
Removes level compiler and associated files.
Replaces special level des-files with lua scripts.
Exposes some NetHack internals to lua:
- des-table with commands to create special levels
- nh-table with NetHack core commands
- nhc-table with some constants
- u-table with some player-specific data (u-struct)
- selection userdata
Adds some rudimentary tests.
Adds new extended command #wizloadlua to run a specific script,
and #wizloaddes to run a specific level-creation script.
nhlib.lua is loaded for every lua script.
Download and untar lua:
mkdir lib
cd lib
curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz
tar zxf lua-5.3.5.tar.gz
Then make nethack normally.
Wizard mode shows the number of points needed to reach the next level
(unless already maxxed out at 30) for ^X and end of game disclosure.
Do it in normal play for the latter too. (I think it would ok to do
that for ^X too but haven't gone that far.)
Even when it was wizard mode only, the phrasing for past tense had a
minor grammar bug, and it could make the line a little too long for
tty and curses (not sure about others) when level was high, resulting
in wrapped text. That looked bad for tty, which first tries removing
indentation (just 1 space in this case), making that line outdented
as well as wrapped. So change the phrasing slightly when experience
level is 'too high'. I had a version which formatted, measured, and
re-formatted if necessary but that was overkill; simple hardcoded
rephrasing suffices particularly when measuring was against assumed
display width (80) rather than actual width.