Commit Graph

480 Commits

Author SHA1 Message Date
nhmall
a0b53ee391 merge 2018-11-11 10:29:52 -05:00
Patric Mueller
f87931a7bf fix typo of the Junethack tournament 2018-09-27 22:14:28 +02:00
PatR
e0b7d2f5a9 monpolycontrol, wizdebug_*
Demote #monpolycontrol and #wizdebug_traveldisplay from commands to
simple boolean options.  The former has the same name, the latter
is called travel_debug.  Rename #wizdebug_bury to #wizbury; it
shouldn't matter that it goes away when compiled without DEBUG.

There are now five wizard-mode boolean options:  monpolycontrol,
sanity_check, and wizweight are documented in the Guidebook;
menu_tab_sep and travel_debug are commented out there.

Guidebook.mn has been tested; Guidebook.tex has not.
2018-09-26 18:40:13 -07:00
nhmall
22d69d2424 update tournament reference 2018-09-24 15:59:38 -04:00
nhmall
a18ae517f8 some orctown follow-up bits, fix Bad fruit #0 and some minor tuning 2018-09-21 11:31:01 -04:00
nhmall
672e28d294 Merge branch 'fix-grammar-and-punctuation' of https://github.com/mogigoma/NetHack into mogigoma-fix-grammar-and-punctuation 2018-09-20 18:01:32 -04:00
Mak Kolybabi
9c46a26af4 Grammar and punctuation fixes. 2018-09-19 22:48:43 -05:00
nhmall
647b671c76 some data.base bits
Take some of the entries from the github pull request.

resolves #35
2018-09-19 23:30:19 -04:00
Mak Kolybabi
0500040427 Fix spelling and capitalization issues in dat and DEVEL. 2018-09-19 16:55:43 -05:00
PatR
3774cb29f3 quest message typo
Remove an extra space from Val 00021.

This does not address github issue #124 where the extra space shown
on the message line is the result of combining two separate plines
rather than coming from the data.
2018-08-12 17:02:12 -07:00
PatR
4dabfb5c3c fix github issue #120 - quest message typo
Fixes #120

The one-line summary [for inclusion in message history] of the priest
quest's block message when bringing the quest artifact back to leader
misspelled "congratulations".
2018-08-01 17:39:02 -07:00
nhmall
5101b9efb8 Update some dates and comment out BETA 2018-04-25 17:11:28 -04:00
keni
0f58af6f37 add missing copyright info 2018-04-25 16:54:50 -04:00
keni
09502df9f1 force expand unexpanded substitution variables 2018-04-25 15:36:11 -04:00
keni
11f1983253 update .gitattributes files for substitution and copyright headers 2018-04-25 14:52:43 -04:00
nhmall
d420d8073d update some old version references 2018-04-21 18:05:46 -04:00
nhmall
12e65cde47 history paragraph sync with Guidebook 2018-04-19 22:43:21 -04:00
PatR
5054e7154b dat/history formatting
A bunch of trailing spaces crept in with the most recent udpate;
remove them.  Also, most sentences are separated from each other by
two spaces, but 2 or 3 had only one space.  Also, rewrap a couple of
the widest lines although none of them were too wide for displaying
within 80 columns.
2018-04-14 12:19:23 -07:00
nhmall
297fb5522e updated 2018-04-07 08:58:35 -04:00
Pasi Kallinen
c15546585a Update opthelp 2018-04-03 18:42:04 +03:00
Pasi Kallinen
68523fe88c Add catch-all database entry for the polearms 2018-03-03 16:15:20 +02:00
PatR
b73d45fd66 throw-and-return for aklys
The comment I added to data.base--to explain that despite what the
short description says, an aklys wouldn't return to sender after being
thrown--was bugging me, so I've made aklyses behave like Mjollnir.
If thrown when wielded as primary weapon, it will usually return and
usually be re-wielded.  I also added a new message when either thrown
Mjollnir or thrown aklys is expected to return and fails to do so.

Most of the diff to dothrow.c is a change in indentation level.  The
amount of code needed was quite small.

Autopickup for thrown Mjollnir which had failed to return was putting
it into the quiver slot if that was empty.  Note quite an outright bug,
but it started wielded and can't be thrown if quivered, so exclude it
from the stuff that will auto-fill the quiver slot when added to invent
(post-3.6.0 issue).
2018-02-26 11:18:29 -08:00
PatR
f44ff54c7f fix #H6861 - whatis behaves weirdly with plurals
Report indicated that looking up "more info?" for "kittens" would show
the data.base entry for "kitten" and then when the display window was
dismissed, another "--More--" prompt for a empty second display window
would occur.  Looking up "2 arrows" from a closely-seen object on the
map behaved similarly.  User correctly diagnosed that the two-pass
lookup left the 'found_in_file' flag set from the first pass during
the second but that just clearing that resulted in "I have no info
about such things" on the second pass.  The code is on the convoluted
side and needed an extra flag to handle 'seen on first pass' in
addition to clearing found flag after the first pass.  I also added a
check to skip the second display if primary and secondary keys don't
match each other but both find the same entry.  To test it, I tried
"a +0 aklys named aclys".  That found the aclys entry but failed to
find "+0 aklys", so I added another change to have the key massaging
remove +/-N after removing "a", "an", or "the".

If "Want to see more info \"" + lookup string + "\"?" was too long,
the prompt buffer passed to yn() was being left uninitialized.  Also,
test for too long was based on BUFSZ but yn() complains (to paniclog)
if the prompt is longer than QBUFSZ.  Make checkfile() construct a
truncated prompt if the lookup string is too long.

I untangled some spaghetti by making all the 'goto's be forward.  It
didn't help a lot but did simplify a few early returns by having them
jump to a common exit instead of replicating the file close.
2018-02-24 19:35:56 -08:00
nhmall
0ffde7e45f copyright notice to 2018 2018-01-25 23:23:16 -05:00
PatR
9a6c3b4192 master key of thievery data.base entry
Make the description of the rogue's Key be more accurate:  it disarms
trapped door and check locks rather than "any trap".
2017-10-06 01:13:17 -07:00
PatR
2b8c2eac23 fix #HH5887 - Dark One / Eye message bug
Some roles' quest message when returning the nemesis lair refer to
sensing the presence/aura/whatever of the quest artifact, but it might
not be there anymore.  In reported case, the nemesis had picked it up
and later fled up the stairs to another level.  Other situations are
possible; it's feasible for the hero to already have it.  So provide
an alternate message, and some extra code to decide whether to use it.

Other anomalous messages, such as looking down on the dead body of a
nemesis who didn't leave a corpse, can still occur.
2017-09-11 15:59:50 -07:00
Pasi Kallinen
7e793a09d7 Add database entry for "martial arts" the skill 2017-08-28 20:40:41 +03:00
Pasi Kallinen
439028dcae Add whatis_filter option to filter eligible map locations for travel
Compound option whatis_filter, filters the eligible map locations
when getting a cursor location for targeting. Accepts 'n' (none),
'v' (map locations in view), or 'a' (map locations in the same area,
eg. room or corridor).
2017-07-31 16:58:23 +03:00
PatR
fa2fbb64c8 tribute typo 2017-07-02 14:36:01 -07:00
PatR
67c1325a81 tribute: The Amazing Maurice
and His Educated Rodents.  The last Discworld book with only one or
two passages to choose from when reading.
2017-06-30 02:09:56 -07:00
PatR
8e213472c2 update wizhelp for ^O and #wizwhere
I think ^O changed when the dynamic key-binding code was incorporated.
It's a shortcut for #overview in all modes.  To get the old wizard mode
behavior, use #wizwhere.

Add an entry for #terrain, expand several of the descriptions, and fix
up the formatting (remove periods in ^ section, align text in # section).
2017-06-26 00:22:09 -07:00
PatR
6a84840971 address #H5426 - inventory category selections
Report #5426 was classified as not-a-bug, but the underlying issue
can be improved.

For item selection where BUCX (bless/curse state) filtering is
supported (mostly for menustyle:Full, but there are a few actions
where Traditional and Combination handle BUCX too), 3.4.3 took the
union of object class and bless/curse state (so ?!B gave all scrolls
and all potions and every blessed item from other classes) but 3.6.0
changed that to the intersection (so ?!B gives blessed scrolls and
blessed potions, period).  Since gold is inherently not blessed or
cursed it has been getting excluded during intersection handling
when that includes BUCX filtering.  Report #5426 was from a player
who was used to choosing $X when putting newly acquired loot into a
container asking to have the old behavior reinstated.

The ideal fix would be to support both union ($ | X) and intersection
(?! & B), but implementation would be bug prone and the interface,
especially when done for menus, would be cumbersome.  Instead, this
adds new boolean option, goldX, to allow the player to decide whether
gold is classified as uncursed--even though it is never described as
such--or unknown.  The new-loot-into-container issued can be solved
either via $abcX, where abc lists all classes that have any X items
(when gold is included as one of the classes, its BUCX state is now
ignored for the current selection), or by setting the goldX option
and then just picking X for the types of items to put into the
container (or drop or whatever other action supports BUCX filtering).

The situations where menustyle:Full allows BUCX filtering during
object class specification and styles Traditional and Combination
don't should to be fixed (by extending BUCX support to Traditional
and Combination rather than removing it from Full, obviously).
2017-06-21 14:02:13 -07:00
PatR
16bd5262ee dat/opthelp formatting (mostly)
Make the formatting of 'opthelp' be more consistent.  When entries
span multiple lines, sometimes the default value was shown on the
first line, sometimes on the last.  This puts it on the first line
which is more useful for quick looks with 'grep'.

This also adds an explanation for the value of 'disclose', adds
missing choice "full compass" to 'whatis_coord', and expands upon
the explanation for several other compound options.

As mentioned at least once before, menu_* is missing win32 in the
list of interfaces that support the various menu accelerators.
2017-06-14 15:12:31 -07:00
PatR
1151ec19a1 fix rumors.tru typo
"They say that an ooze will bite your boots and a rockmole will eat them."

'rockmole' should be two words.  Also, rock moles won't eat leather
boots, so change 'will eat' to 'might eat'.
2017-02-08 13:23:00 -08:00
PatR
da39338d43 tribute typos 2017-01-20 00:37:24 -08:00
PatR
d606b2a8ff tty's compress_str(), core's dat/keyhelp
Rewrite 3.6.1's compress_str() to avoid peeking past the end of the
input string.  This should eliminate the reported valgrind complaint.
The problem was noticed for post-3.6.0 code introduced [by me...] last
June, but it looks like it was present in the old code too.

Also, fix the wording in the paragraph about NUL in the keyhelp text.

tty_putstr() always passes non-message window text through compress_str(),
clobbering usage of two spaces to separate sentences.  putstr()'s caller
ought to have more control over that (possibly via its hardly ever used
'attribute' arg?).
2016-12-20 12:43:35 -08:00
Pasi Kallinen
daff7653f8 Add missing symbols to Blank symset and Guidebook 2016-12-04 21:38:59 +02:00
Pasi Kallinen
56e51b9b6b Add wizmode command to recreate current level 2016-10-11 17:26:32 +03:00
Pasi Kallinen
96df8ce580 Add couple hallu monsters 2016-10-08 13:16:46 +03:00
PatR
d0783facdc tribute: The Shepherd's Crown 2016-10-04 17:08:16 -07:00
Pasi Kallinen
f07c5570ca Add configurable symbol entry for strange object 2016-10-03 09:36:28 +03:00
Pasi Kallinen
a562cc88a7 Fix Blank symset 2016-10-02 00:03:37 +03:00
Pasi Kallinen
539401ca88 Add missing glyphs to Blank symset 2016-09-24 19:04:38 +03:00
Pasi Kallinen
e14120b282 Add completely blank symbol set
The blank symbol set can be used with screen reader software
to prevent it from reading the map symbols.

Prevent a segfault when looking at the map and many symbols
share the same character. Don't list too many symbols when
looking at those, if many share the same character.
2016-09-20 21:03:51 +03:00
Pasi Kallinen
20893bf95d Fix tribute typos
Ran the tribute file through a spellchecker, and double-checked with Pat as he
added most of the tributes.
2016-08-21 09:16:25 +03:00
PatR
e5263b5ff0 fix #H4460 - tribute typos in /Thud!/
Passage 2: DELIBERATEDLY -> DELIBERATELY
Passage 6: vengence -> vengeance
2016-07-30 14:53:00 -07:00
PatR
4e12bb6144 more cmdhelp
Some number_pad handling which wasn't present in the original cmdhelp
but is acted upon in cmd.c.
2016-06-11 15:35:35 -07:00
PatR
9ad584523f dat/symbols: RogueEpyx
I don't know whether this fixes #H4335 but it does eliminate a
bunch of duplicate symbol entries.  And the two whose duplicates
had different values are suspicious ones: using linefeed and tab as
the character for object class symbol, which could easily confuse
the tty interface's cursor position tracking.  But those should
have been overridden by the later entries which specified the
default object class characters--I couldn't find anything in symbol
processing which would cause it to keep the first value instead of
replacing that with the second one.

The report had a link to screen shot which showed a door (I think
an open one despite the '+' shape) in the corner inside a room,
something like
 --+-----------
 |            |
 |       =
 |          ..##
 |          .+#
 ----+---------
where the '+#' in the lower right looks like it belongs two rows up
and one column over, the upper left of the three '#' is white and
the other two gray (lit corridor or empty dooryway or what?), the
'=' is actually three horizontal bars in green, and the lower '.'
has the cursor on it.  There aren't any object class symbols shown
(unless the triple-barred = is one), so linefeed and tab don't look
like likely culprits.
2016-06-11 00:16:11 -07:00
PatR
ca22b3fe46 cmdhelp revamp
Implement a rudimentary if/elif/else/endif interpretor and use
conditionals in dat/cmdhelp to describe what command each keystroke
currently invokes, so that there isn't a lot of "(debug mode only)"
and "(if number_pad is off)" cluttering the feedback that the user
sees.  (The conditionals add quite a bit of clutter to the raw data
but users don't see that.  number_pad produces a lot of conditional
commands:  basic letters vs digits, 'g' vs 'G' for '5', phone
keypad vs normal layout of digits, and QWERTZ keyboard swap between
y/Y/^Y/M-y/M-Y/M-^Y and z/Z/^Z/M-z/M-Z/M-^Z.)

The interpretor understands
 '&#' for comment,
 '&? option' for 'if' (also '&? !option'
                       or '&? option=value[,value2,...]'
                       or '&? !option=value[,value2,...]'),
 '&: option' for 'elif' (with argument variations same as 'if';
                         any number of instances for each 'if'),
 '&:' for 'else' (also '&: #comment';
                  0 or 1 instance for a given 'if'), and
 '&.' for 'endif' (also '&. #comment'; required for each 'if').

The option handling is a bit of a mess, with no generality for
which options to deal with and only a comma separated list of
integer values for the '=value' part.  number_pad is the only
supported option that has a value; the few others (wizard/debug,
rest_on_space, #if SHELL, #if SUSPEND) are booleans.
2016-06-08 14:58:35 -07:00
PatR
d92ae04afb some doc bits
Add fixes36.1 for '&' command's support of altmeta option.

Short command help lacked an entry for '&' command.

Wizard mode help omitted #vanquished and some other obscure commands.
2016-06-08 05:35:53 -07:00