Commit Graph

426 Commits

Author SHA1 Message Date
nhmall
69455f404e Guidebook date bump 2020-12-11 08:46:39 -05:00
PatR
6f5a1ccc63 fix Guidebook thinko
Fix the recently revised description of "#version".
'windowtype' doesn't have an underscore in it.
2020-12-11 05:26:00 -08:00
PatR
80a3c0c4d2 key rush.numpad/M-5 doc 2020-12-10 15:32:23 -08:00
PatR
241cb2a8d3 Guidebook catchup
The command rename "#seegold" to "#showgold" that also revised
a few of the short command desctipions didn't include a Guidebook
update.  So here one is.
2020-12-10 01:01:04 -08:00
PatR
516af11dc7 reduce the number of #seeXYZ commands
Noticed while working on Qt's extended command handling, there
are an awful lot of "seeXYZ" commands.  Keep the inventory display
ones (named versions of ')' to show wielded weapon(s), '[' for
worn armor, '"' for worn amulet, &c) and rename the others:
| #seenv     -> #wizseenv     debugging command
| #seespells -> #showspells   '+' command
| #seetrap   -> #showtrap     '^' command

Also, expand the descriptions of #shell and #suspend a bit in
the Guidebook.  LaTeX version is untested.
2020-11-30 16:16:14 -08:00
nhmall
0d6481ad8c spelling correction tidbit
Closes #415
2020-11-28 08:59:03 -05:00
PatR
6df9ebc1af add Guidebook description of rogue level
This is in response to the bug report we got however long ago
about the map display breaking when the [unfamiliar to player]
rogue level was reached.  It probably wouldn't have helped back
then since the subset of players who read the documentation is
about same subset as those who expect the Spanish Inquisition.

I wasn't sure whether appending "'s" to an italicized word
should be italicized itself and made it revert to the regular
font instead.  That should be changed if it's incorrect usage.
2020-11-25 10:21:43 -08:00
PatR
dde70b8d4a Guidebook bit: ascii_map and tiled_map
|ascii_map:
|If NetHack can, it should display an ascii character map if it can.
|tiled_map:
|If NetHack can, it should display a tiled map if it can.

Remove the "if {NetHack,it} can" redundancy and expand a little bit.

Also, alphabetize "tiled_map" as if the underscore were a space
instead of something that happens to collate after letters.

As usual, the Guidebook.tex changes are untested.
2020-11-25 09:15:20 -08:00
PatR
cb8baa1d1c Qt status overhaul: add support for 'statuslines'
Condense the Qt status slightly, moving Alignment field from the
Conditons line to the Characteristics line and the Time and Score
fields from their own possibly blank line to the HP,&c,Gold line.

That's for statuslines:2, which is the default.  statuslines:3
restores the previous layout.  I tried to make that become the
default for Qt but it got messy fast and I gave up.

I also tried to make changing 'statuslines' back and forth on the
fly work but failed.  I left the code in as #if DYNAMIC_STATUSLINES
but that isn't defined anywhere.  For the time being at least,
'statuslines' is config file or NETHACKOPTIONS only for Qt, not
changeable via 'O' like for curses and tty.

Change the option description for 'statuslines'.  That depended
upon whether curses was compiled in when it should depend on which
interface is active.  This moves the alternate info to Guidebook.
2020-11-17 05:07:09 -08:00
nhmall
af739196cf bump Guidebook date to reflect most recent changes 2020-10-02 12:29:26 -04:00
Pasi Kallinen
396b819988 Add safe_wait to toggle search and wait prevention 2020-10-02 19:00:40 +03:00
PatR
46f19f89ac goodbye END-CHOOSE
Instead of an additional options file directive to end the last
section of a CHOOSE directive, simplify by using an empty-name
section, [], instead.  So
...
CHOOSE one,two
[one]
...
[two]
...
[]
...

As with the short-lived END-CHOOSE directive, if no [] is present
then the rest of the file is part of the last choice.
2020-08-07 00:29:28 -07:00
PatR
2392832f22 END-CHOOSE directive for .nethackrc
Add an optional way to terminate the last section after a CHOOSE
directive in the run-time options file so that it's possible to
revert to common options.  If no END-CHOOSE directive is present
then the last CHOOSE section continues until the end of the file.
(All existing uses of CHOOSE already behave that way.)

Change the Guidebook to refer to OPTIONS=x, AUTOPICKUP_EXCEPTION=y,
CHOOSE=z, and so on as "directives" rather than "statements".  It
just feels like a better fit.
2020-08-06 15:57:05 -07:00
PatR
d7307f9ca5 Guidebook tweaks
Fix at least one typo.  Change a few quoted and/or italicized words
to fixed width (tty) font.  In the "Curses and Blessings" subsection,
mention dropping objects onto altars and the terms "BUC" and "BUCX".
2020-07-25 19:45:50 -07:00
PatR
2980aaa4cb history/Credits: aeb's Hack
Give an implied explanation for the seemingly odd copyright info in
the source files and the run-time startup banner.

The extra Hack version number, the release dates, and the newsgroup
creation are from
 https://homepages.cwi.nl/~aeb/games/hack/hack.html
which is the "Brouwer's /Hack/ page at CWI" external link near the
end of Andries Brouwer's Wikipedia page.
2020-07-12 17:17:14 -07:00
PatR
adb8fb57a2 Guidebook: traps
The documentation on traps was pretty skimpy so expand it.
2020-07-10 03:37:44 -07:00
PatR
0bd2c3154d fix default engraving/epitaph/bogusmon corruption
Fixes #369.
Fixes #370.

The default entries inserted by makedefs -s (starting in 3.6.6,
to guard against having an empty data file which led to divide by
zero crash when nethack picked a random entry) lacked a terminating
newline so the first entry from the file (for the usual case when
that data file wasn't empty) got implicitly concatenated to it.
If the first entry got chosen during play, the initial portion
corresponding to the default entry was decrypted properly but the
concatenated portion corresponding to file's first line didn't.
So gibberish was appended to default engraving or epitaph or bogus
monster; also, the input file's first line would never appear.

The newline fix in makedefs is different from pull request #370
but accomplishes the same thing.

The bulk of the patch is an enhancement to #wizrumorcheck to show
first (default inserted by makedefs), second (first in input file)
and last engravings, epitaphs, and bogusmons in addition to rumors.
The command name has become a little misleading but the limited
functionality doesn't call for separate commands.
2020-07-09 19:23:19 -07:00
PatR
bcd6665ccf history/Credits update
Fix two of the unresolved issues from the previous reconciliation
between dat/history and doc/Guidebook.*: synchronize the list of
devteam members for 3.0 and also the information about Izchak's
death.

Add a description of the Y2K situation.  It's been moved to its
own paragraph and rephrased from the earlier draft(s), both the
introduction and a switch from present to past tense.  Parentheses
around a whole paragraph look a bit odd but including the paragraph
without them also looks unusual because the context is so different
from adjacent paragraphs.  Maybe use "Note: Blah blah..." instead
of "(Blah blah...)"?

Redo the paragraph about 3.0 version numbering since the situation
was more complex than I realized.
2020-07-07 03:39:03 -07:00
nhmall
5a437b336a remove SYSFLAGS and MFLOPPY code
A check into github issue 364 confirmed that
ba6edbe5dc
had incorrectly updated the bwrite sizeof entry for sysflags.

The SYSFLAGS and MFLOPPY code is all in the outdated part of the tree, so just
remove it rather than re-correct it.

Closes #364
Closes #207
2020-07-05 08:50:13 -04:00
PatR
84bba3f099 refine documentation of Sokoban branch and conduct
Rephrase a few things and mention the extra boulder(s) since
that feature is a fundamental difference with actual Sokoban.

Fix typo/thinko:  "Others rules can...".

Change one instance of /Sokoban/ in italics to ordinary text.
Other conduct descriptions don't use such so it looked odd.
2020-07-04 15:09:56 -07:00
PatR
8801ec34eb fix github pull request #355 - Sokoban cheating
Track sokoban cheating (taking actions that incur a luck penalty).
The pull request only reported the number of times (possibly zero)
that the player broke nethack's sokoban rules when reporting the
"you obtained the Sokoban prize" achievement, which is when the
count is most meaningful, but this implements it as a full-fledged
conduct instead.  This way the #conduct command can be used after
"creative nethacking" to check immediately whether an action has
violated the Sokoban rules so a player willing to put in a bit of
effort can eventually learn which actions have a negative impact.

The new conduct is only shown during games where the character has
entered the Sokoban branch, but once that has happened it gets shown
no matter the location at the time of #conduct or end of game.

Most of this wasn't in the pull request:  expanding the Guidebook to
give more information about sokoban and its conduct.

Bump EDITLEVEL to invalidate to-be-3.7 save files because u.uconduct
has been extended.

Fixes #355
2020-07-03 02:21:30 -07:00
PatR
e762429151 Guidebook fixup
The new sound stuff needed some fixing up.

Guidebook.mn - list start no longer specified the longest key;
  in the Postscript/PDF output, the new longer one was partially
  overwritten by the text which followed and in the text output,
  things didn't line up cleanly anymore.
Guidebook.tex - former last list entry which became next-to-last
  was missing a necessary line break.  [not tested]
both - sentence punctuation:  change period to semi-colon in former
  last entry that's now next-to-last; vice versa in new last entry.
2020-07-02 16:15:02 -07:00
nhmall
e4b18f0545 fix github issue 361 to make user_sounds useful even if MSGTYPE is hidden
fixes #361

Also, experminental introduction of vt_sounddata to enable tty to pass
a sound file index to the terminal side of things where perhaps someone
can add code to something like hterm to take the information relayed by
NetHack to trigger user_sounds locally even if playing on a server.

Compile time option TTY_SOUND_ESCCODES required to build that support in.

It should be independent of TTY_TILE_ESCCODES.
2020-07-02 15:49:45 -04:00
PatR
30b19a3891 history reconciliation
Eliminate most of the minor differences between dat/history and the
end section of doc/Guidebook.txt which didn't seem to be intentional.
Several commas, a couple of past/present tense discrepancies, and
various clauses or whole sentences which were in one but not the
other.  There are still differences which this doesn't address.

Also a couple of actual changes.  Make the Guidebook refer to itself
as "this document" rather than "this paper".  Change "dozens of
people's work" to "scores of people's work".  Add a new sentence
describing the version numbering scheme used by 3.0, which wasn't
3.0.x yet.
2020-06-26 17:56:03 -07:00
PatR
e30f1b800e history of 'tiles'
Warwick did the heavy lifting of the first tiles implementation.  But
I was the one who suggested changing his terminology to "tiles" even
though that doesn't match the term's traditional usage in computer
graphics.  Since then, our [mis-]usage has spread beyond nethack and
its variants.  [This isn't just bragging; I recall several years ago
that someone thought our implementation of tiles for MS-DOS was the
original implementation.  Their search of the newsgroup archives didn't
find Warwick's original announcement--Atari binaries and/or a source
patch in between releases--because the term "tiles" wasn't in use yet.]

I'm not sure whether Dean's font preceded Warwick's icons, but the
concept did.  If the description of their implemenations is backwards
than that bit should be reworded.

Also, add a sentence explaining why NetHack++ "was quickly renamed
NetHack--".
2020-06-20 19:57:53 -07:00
PatR
1d631a701d long dash formatting in the Guidebook
Guidebook.mn had a mixture of literal "--" and \(em to insert an
M-sized dash.  The literal was poor usage but the 'em' directives
were using " \(em " for source readability.  Unfortunately those
spaces ended up being included in the output where a long dash
shouldn't be surrounded by such.  This changes both to be
|start\(emmiddle\(emend
for proper usage without unwanted spaces.  The 'roff source becomes
harder to read so such phrases have been moved onto separate lines
instead of just staying within the flow of words.  (I tried
|start
|\(em
|middle
|\(em
|end
but the newlines became unwanted spaces in the output.)

Guidebook.tex incorrectly had a numeric range dash ("--") instead
of long dash punctuation ("---") in the places where the 'roff
version had literal "--".  I also moved the quite readable
|start---middle---end
phrases and a handful of whole sentences to separate lines to match
the Guidebook.mn source more closely.

One trivial text change is "you will forget" to "you will have
forgotten" in the bit about what happens to remembered objects
when the "remembered, unseen monster" glyph is taken off the map
since forgetting happens when that glyph is put on.
2020-06-20 18:07:36 -07:00
nhmall
61482344ad Guidebook date bump 2020-06-20 08:40:21 -04:00
PatR
44a2e108e1 fix github pull request #358 - Guidebook typo
"if will" should be "it will".  The pull request only fixes this
for Guidebook.tex but it is also present in Guidebook.mn.  The typo
made it from one to the other via copy+paste.

Fixes #358
2020-06-19 15:50:25 -07:00
PatR
116642ce1e track eight more achievements
Record reaching experience level 3, 6, 10, 14, 18, 22, 26, and 30,
the levels where the character gets a new rank title, and report
those as achievements at end of game.  These achievements persist
even if enough levels to lose a rank are lost, and if lost ranks
are regained the original achievement is the one that gets tracked
and disclosed.
2020-05-04 16:35:40 -07:00
Pasi Kallinen
ac94c44b0b Prevent searching or waiting next to a hostile
Generally speaking there's no reason to wait or search next to
a hostile monster, so let's just prevent those actions. You can
still do those commands by prefixing them with the 'm' prefix.
2020-04-12 17:32:29 +03:00
Pasi Kallinen
f5d9324f28 Fix wizmakemap to consider monster birth counts and uniques
Also add a new wizmode command #wizborn to show those.
2020-03-07 21:35:26 +02:00
nhmall
2af37f44d4 Merge March 2020 changes into NetHack 3.7 2020-03-06 10:59:50 -05:00
nhmall
e20024e42b March 2020 updates 2020-03-06 10:31:51 -05:00
nhmall
abdd3254ae updates for 3.6 March 2020 2020-03-04 10:41:57 -05:00
nhmall
73ffb61e7e typo in .tex and replacement of obsolete OS reference 2020-02-17 13:39:04 -05:00
PatR
63c3ec21b8 yet more Guidebook tweaks
A couple of indentation adjustments:  a bit more space for continued
lines in the table for suits of armor, and restore the indentation of
the list of Achievements in the Postscript version (lost when dealing
with the wouldn't-span-page-boundary issue).
2020-02-15 17:44:41 -08:00
PatR
998d8b1fd4 more Guidebook tweaks
Add a missing word to Guidebook.tex and add a couple of new sentences
to both Guidebook.{mn,tex}.

Also, add Guidebook.dat to .gitignore.
2020-02-15 13:08:34 -08:00
nhmall
f37dd40110 Guidebook date bump and .txt sync 2020-02-15 13:24:48 -05:00
PatR
4bd3fdbd57 Achievements documentation
> Todo:  redo the recently revised Achievements table again.  Current
> formatting isn't spanning page boundaries, resulting in a big chunk
> of blank space preceding it so that it will start on the next page.

The '.SD i' environment was causing this, and also changing the font
somehow when forcing the text to start on the next page (but not when
it fit on current page?).  Taking '.SD i' out loses the indentation
that Guidebook.ps had (one of the explicit differences between it and
Guidebook.txt), which looks a little inferior, but fixes the page
boundary issue.
2020-02-15 05:19:23 -08:00
PatR
629e417bba Guidebook update
This adds a new figure that shows the 3-line status.  Also expands
a couple of status items.

In the commands section, redo the hjkl direction diagram to make
"Figure 2" (now Figure 3) line up with the rest of the table.  Lot's
of trial and error involved, and the plain text version didn't come
out as expected (but still looks better than before).

Modify suit of armor table to wrap an additional line and make the
table narrower.  Having the pair of columns closer together is a bit
easier on eyes when tracking from the suit names to the AC number.

Todo:  redo the recently revised Achievements table again.  Current
formatting isn't spanning page boundaries, resulting in a big chunk
of blank space preceding it so that it will start on the next page.
(Only noticeable at the moment with the Postscript output; plain
text had enough room on its current page to not need to force next.)

Guidebook.tex is lagging again.
2020-02-14 15:28:28 -08:00
PatR
914c78546f Guidebook spelling mistake 2020-02-12 16:22:33 -08:00
PatR
804499d9be add some new, easier achievements
Introduce eight achievements that can be attained by more players.
 Entered Gnomish Mines  - self explanatory
 Entered Mine Town      - the town portion, not just the level
 Entered a shop         - any tended shop on any level
 Entered a temple       - likewise for temple
 Consulted the Oracle   - bought at least one major or minor oracle
 Read a Discworld Novel - read at least one passage
 Entered Sokoban        - like mines
 Entered the Big Room   - not always possible since not always present

The novel and bigroom ones aren't always achieveable since novels are
only guaranteed if a book or scroll shop gets created and bigroom is
only guaranteed in wizard mode.  No one ever claimed that every
possible achievement can be attained in a single game.  (If one for
entering the Fort Ludios level--or perhaps entering the Fort itself--
eventually gets add, that won't be possible in every game either.)

The mine town one probably needs some tweaking.  Two of the town's
seven variants have no town boundary (despite a rectangular area of
pre-defined map) and at present simply arriving on either of those
levels is enough to be credited with the entered-town achievement.

Bump EDITLEVEL because u.uachieved[] has increased in size.  This
time it has been expanded to the maximum that xlogfile's bitmask of
achievements can handle, enough for up to 9 more achievements without
another EDITLEVEL increment.
2020-02-12 14:35:37 -08:00
PatR
1ec6e6f96b Guidebook.mn streamlining
Set up variable 'fF' once and use it to conditionalize between
fixed-width font Guidebook.txt and proportional-width font
Guidebook.ps instead of making the width comparison of 'f' and 'F'
each time.  There are four instances where it is used; three that
suppress some indentation for the plain text output and one that
manually wraps a couple of long lines for it.

This change shouldn't produce different output from before (last
night) and doesn't need any corresponding change in Guidebook.tex.
2020-02-12 11:43:25 -08:00
PatR
bfe23d0c8c Guidebook update: Achievements
Redo the Achievements section in Guidebook.mn to be more compact.
It's also become more complicated because it formats Guidebook.txt
differently from Guidebook.ps/.pdf.

Finally add the Achievements section to Guidebook.tex to catch up.
Not as complicated but also not tested.
2020-02-12 02:35:35 -08:00
PatR
7da5a8b8e3 Guidebook update: armor and other objects
Condense the clunky one entry per line table of suits of armor and
their AC values in Guidebook.mn.  Guidebook.tex uses a two-column table
that I've left alone.

Mention all the other types of armor instead of leaving out gloves and
shirts.  For armor commands, mention that P and R work.

Rings:  describe their interaction with gloves.  For ring commands,
include a pointer to amulets.

Amulets:  for amulet commands, mention that A, W, and T work.

Tools:  mention that some can be worn and include a pointer to amulets
for the relevant commands.  Also, that some can be wielded as weapons.

Boulders and statues:  boulders can be pushed and smashed, statues can
be smashed.

Gold:  not subject to blessing or cursing.  goldX option affects BUCX
filtering.
2020-02-11 17:21:39 -08:00
nhmall
b7e0a9a9dc version bit 2020-02-11 00:04:28 -05:00
nhmall
0342a2b029 bump Guidebook date 2020-02-10 23:56:46 -05:00
nhmall
de339ce14d Merge branch 'msdos-video-doc' of https://github.com/chasonr/NetHack into chasonr-msdos-video-doc 2020-02-10 23:05:33 -05:00
PatR
89c1b09d70 Achievements doc bit
Confusion on my part.  "Entered Gehennom" achievement is recorded if
you enter the Valley of the Dead rather than requiring that you get
past that level.

Guidebook.tex is still lagging but not forgotten.
2020-02-09 16:56:23 -08:00
nhmall
d37fa196b2 make a distinction between rock and unexplored area
This adds a pair of new glyphs: GLYPH_UNEXPLORED and GLYPH_NOTHING

GLYPH_UNEXPLORED is meant to be the glyph for areas of the map that
haven't been explored yet.

GLYPH_NOTHING is a glyph that represents that which cannot be seen,
for instance the dark part of a room when the dark_room option is
not set.  Since the symbol for stone can now be overridden to
a players choice, it no longer made sense using S_stone for the
dark areas of the room with dark_room off. This allows the same
intended result even if S_stone symbol is mapped to something visible.

GLYPH_UNEXPLORED is what areas of the map get initialized to now
instead of STONE.

This adds a pair of new symbols: S_unexplored and S_nothing.

S_nothing is meant to be left as an unseen character (space) in
order to achieve the intended effect on the display.

S_unexplored is the symbol that is mapped to GLYPH_UNEXPLORED, and
is a distinct symbol from S_stone, even if they are set to the same
character. They don't have to be set to the same character.

Hopefully there are minimal bugs, but it is a deviation from a
fairly long-standing approach so there could be some unintended
glitches that will need repair.
2020-02-08 00:48:03 -05:00