Commit Graph

11501 Commits

Author SHA1 Message Date
PatR
d27b8cb043 adopt some orphan commands
'? i' shows three keyless commands in the General section.  This
makes M-X the key for #exploremode.  #herecmdmenu and #therecmdmenu
are still keyless but now autocomplete.

A ridiculous amount of documentation for a three line code change.
2020-12-16 19:22:04 -08:00
PatR
48d39b2ffd allow #exploremode from wizard mode
Allow changing form debug mode to explore mode without resorting
to a debugger.  The same caveat, "you won't be able to change back,"
applies as when in normal play.

Character's name will remain "wizard" rather than reverting to
whatever it would have been if not starting in wizard mode.
2020-12-16 03:07:55 -08:00
PatR
4f0e47fd0c extra ^X feedback
Report "abnormal" play (wizard mode or explore mode) in ^X output
or end of game dumplog.  Omitted for normal play.
2020-12-16 02:49:00 -08:00
Bart House
3a91d65bb6 Added MSDOS build and made improvements to pipeline configuration. 2020-12-16 00:43:59 -08:00
PatR
5a6cf6a20f '? i' refinement
Make the key bindings help better able to decide whether a key
binding actually works.  If you bind some command to a key that is
used by default for a prefix, the commands array will indicate that
it (the bound key) runs the bound command.  But if you don't bind
some other key to the prefix action, typing that earlier key will
perform the prefix action instead.  The code for displaying the
list of key bindings needs to know that for the case where no other
key runs the command.

BINDINGS=M:takeoffall
will still report 'A'==takeoffall, which continues to work, but it
would not show 'M'==takeoffall because 'M' is still used to run
without autopickup which takes precedence over ordinary commands.

BINDINGS=A:nothing
BINDINGS=M:takeoffall
would omit any mention of takeoffall in the '? i' output.  Now it
will show #takeoffall as a keyless command at the end of the 'Game
commands' section.
2020-12-15 16:33:51 -08:00
Pasi Kallinen
c8164d86af Fix monster hide status when mon relocated 2020-12-15 17:50:32 +02:00
Pasi Kallinen
ec1d01bbe1 Fix monster hide status when moving ball & chain 2020-12-15 17:35:18 +02:00
Bart House
a7b47ff071 Modify mingw makefile to allow caller to specify LUA build parameters. 2020-12-15 02:20:11 -08:00
Bart House
b08b47749f Revert "Switch mingw build to use submodules in default path."
This reverts commit e5fb08ae4e.
2020-12-15 01:57:18 -08:00
Bart House
be1432ad74 Revert "Working on getting WinGW building with Azure pipeline."
This reverts commit d88749e419.
2020-12-15 01:55:53 -08:00
Bart House
bc7922908b Revert "Make compiling the lua interpreter optional."
This reverts commit f89005efd7.
2020-12-15 01:54:27 -08:00
Bart House
bad05e2fb4 Reverting recent changes that hard coded use of submodules. 2020-12-15 01:50:01 -08:00
Bart House
746c313aee Re-enable mingw pipeline build. Use pdcurses submodule for pipeline
mingw build.
2020-12-15 00:53:01 -08:00
Bart House
9db1aff070 Use LUASRC variable when generating nhlua.h. 2020-12-15 00:46:55 -08:00
Bart House
679ffd6719 Disable mingw build while we are still getting it to work. 2020-12-14 20:46:04 -08:00
PatR
1d48b78dd1 spell learning feedback
Tell the player the spell casting letter when learning a new spell:
|You add "knock" to your repertoire, as 'e'.
Comparable to "k - ring mail" when picking up a suit of ring mail
puts it into inventory slot k.
2020-12-14 13:12:33 -08:00
PatR
496777384b Qt paper doll bit
Override the 'implicit_uncursed' option when formatting an item
of equipment for its paper doll tool tip.  Each tile is outlined
in yellow if known to be uncursed; force "uncursed" in the tool
tip text for the same situation.

Also add or revise some comments.
2020-12-14 12:32:43 -08:00
Bart House
49460dcafb Final changes needed to enable Windows minGW build.
Removed some of the temporary changes necessary due to 4 hour delay.
Added the specification of the working directory to avoid the change
in working directory behavior that occurs when checking out one
repository vs. two.
2020-12-14 10:17:02 -08:00
Bart House
190f9dc488 Modify expectations of where LUA sources are located.
We want the build to assume the same basic layout as the lua repository.
The sources are immediately at the top of the repository and not in
a subdirectory called 'src'.
2020-12-14 09:56:59 -08:00
Pasi Kallinen
480c253933 Fix segfault when the Wizard tried teleporting on the planes
The wizard of Yendor tried teleporting to the stairs on the
plane of Earth, but there are none there.

This was caused by the stairs structure reworking.

Fixes #422
2020-12-14 17:51:16 +02:00
nhmall
1b415af302 Makefile.msc update for visual studio 16.8.3 2020-12-14 07:46:23 -05:00
nhmall
6abce574d7 document typo fixes in README.xcode
Closes #424
2020-12-14 07:20:14 -05:00
nhw_cron
b5a085437f This is cron-daily v1-Jan-20-2020. guidebook updated: doc/Guidebook.txt 2020-12-14 07:17:12 -05:00
nhw_cron
0e048b64e6 This is cron-daily v1-Jan-20-2020. files updated: Files 2020-12-14 07:16:50 -05:00
PatR
aa7f01eed7 github pull request #417 - disclosing apron text
Adopt the patch to show the writing on any alchemy smocks in
hero's inventory during end of game disclosure.

I also added one more saying among the choices for alchemy
smock/apron.  It's based on a T-shirt descibed in a movie.
(I remember the description of the text but I don't remember
noticing anybody wearing the T-shirt that lead to that.)
Since so many of the smock quotes are about cooking, it seems
better to add it as an alchemy quote instead of just another
T-shirt where there'd be no context to explain it.

Closes #417
2020-12-14 03:30:58 -08:00
PatR
d4313ff828 Qt 'game' menu tweak for OSX
Change "_Quit-without-saving" in the Game dropdown menu to be
"\177Quit-without-saving".  That makes the prefix used on OSX to
prevent matching "^[&]?[Qq][Uu][Ii][Tt].*" be invisible.

Also change the order of the choices for the command+Q and
application dropdown menu entry "quit nethack" so that "cancel
and return to game" is the default for arbitrary response to the
confirmation prompt.  <return> and <space> select "quit without
saving".  Note that the nethack dropdown menu is OSX-specific
(a Qt feature to emulate other OSX applications) and its
nethack->Quit action is separate-from/in-addition-to Game->Quit
menu action mentioned above (which runs nethack's #quit command).
2020-12-14 02:11:53 -08:00
PatR
788e21ac43 have <del> run #terrain
Having recently noticed that using <del> aka <delete> aka <rubout>
could work as a command, assign it to #terrain.  #terrain was the
only command in the "game" subset of commands as shown by '? i'
that didn't have any key assignment.

Since <delete> might be swapped with <backspace> on some terminals
and is a keypad key on the typical PC keyboard, it might not work
reliably depending on nethack's number_pad mode or the hardware
Num-Lock setting.  Players in either of those situations haven't
lost anything; they can still use extended command #terrain.
2020-12-14 01:00:19 -08:00
Bart House
fcd74aedf4 Added mingw build. 2020-12-14 00:28:36 -08:00
Bart House
f89005efd7 Make compiling the lua interpreter optional. 2020-12-14 00:24:05 -08:00
Bart House
d88749e419 Working on getting WinGW building with Azure pipeline.
Fix typo recently introduced.  Allow LUATOP to be specified by pipeline.
2020-12-13 20:38:56 -08:00
Bart House
e5fb08ae4e Switch mingw build to use submodules in default path. 2020-12-13 20:31:01 -08:00
Bart House
d58a034721 Merge branch 'master' into NetHack-3.7 2020-12-13 20:17:12 -08:00
Bart House
93a49c7845 Adding pdcurses submodule for MinGW build. 2020-12-13 19:44:15 -08:00
Bart House
b18cbdb160 Improvements to azure pipeline. 2020-12-13 18:55:35 -08:00
PatR
e9d729733b bargethrough/monster-vs-monster displacing
Fix the regression that monster movement flag unification
introduced for monsters able to swap places with adjacent
monsters.  It used to be restricted in order to prevent
Riders swapping places with other Riders so that they didn't
repeatedly exchange places when one was right behind the other
and the farther one moved first.  Then when displacer beasts
were added, that restriction was extended to prevent them
swapping places with Riders (but not the other way around.)
The flags change inadvertently let any displacer swap with any
other displacer.
2020-12-13 15:51:23 -08:00
PatR
04724fc5a0 Qt: remove "Search [______]" from Help menu
Prevent Qt from inserting an extra entry in the Help dropdown
menu displayed in the menu bar across the top of the screen
when nethack has focus.  "Search [______]" lets the user enter
a string to search for but doesn't give nethack any control
over that so we can't have it.

I haven't found a sane way to get rid of it.  The insane way
of not naming any menu "Help" works.  This uses "\177Help" so
that it still looks like "Help" but won't match that string.
2020-12-13 13:45:04 -08:00
nhmall
c1b0f4e47a Xcode updates 2020-12-13 12:24:35 -05:00
nhw_cron
abb21797e7 This is cron-daily v1-Jan-20-2020. files updated: Files 2020-12-13 12:02:05 -05:00
nhmall
1a369f1af0 ensure a rebuild of include/nhlua.h after fetching Lua source 2020-12-13 10:40:02 -05:00
nhmall
8c42d306f7 purge trampoli.h 2020-12-13 10:27:49 -05:00
Pasi Kallinen
4729062846 Make Death revive faster
Death will revive faster than the other riders.
Make all the riders revive after 67 turns, instead of 500.
There was practically a zero chance a rider would revive at 500,
so keep it somewhat sensible.
2020-12-13 12:28:45 +02:00
Michael Meyer
02ba5e4811 Improve consistency of polearm targeting rules
Multiple functions are involved in the process of targeting and
attacking an enemy with a polearm or lance, and these functions
previously used inconsistent tests to determine which targets were
legal.  For instance, find_poleable_mon would give up immediately if the
hero was blind, while neither get_valid_polearm_position nor use_pole
cared as long as the hero could detect a target on the square (e.g. by
ESP).  find_poleable_mon considered warning symbols as potential
targets, but use_pole discarded them.  get_valid_polearm_position
considered moats and pools to be illegal targets, but use_pole would
let the hero successfully hit a monster on those squares; on the
other hand, get_valid_polearm_position would mark squares that were not
visible and did not contain a known monster as legal targets, while
find_poleable_mon and use_pole would exclude them.

Obviously this was inconsistent and could introduce confusion for
polearm users, who would potentially need to explicitly target squares
marked "(illegal)" at some point over the course of their game, among
other problems.  This commit makes polearm targeting tests more
consistent; the following rules are applied to positions within the
appropriate range:

* Monsters which are detected by any means that reveals an actual
  monster glyph are legal to target, even if the hero is blind

* Monsters the hero cannot detect, but is aware of -- i.e. those
  represented by an 'I' -- are similarly legal to target

* Monsters detected via warning are not legal targets, since the hero
  does not have as strong a sense of where exactly they are, their shape
  and size, etc

* Statues are legal targets, but will not be suggested by
  find_poleable_mon unless the hero is impaired (confused, stunned, or
  hallucinating); the same is true of tame/peaceful monsters

* Apparently empty squares, including those containing an undetected
  monster, are legal to target unless they cannot be seen (whether due
  to blindness or a very dark room/level)

* Positions which are otherwise legal but are blocked by an obstruction like a
  tree or pillar are not legal targets
2020-12-13 11:05:48 +02:00
Bart House
939b1c00dd Fix azure pipeline build for linux/mac. 2020-12-12 21:41:24 -08:00
PatR
b7a140d006 towel adjustments
Consolidate a small amount of duplicate code from wet_a_towel()
and dry_a_towel().
2020-12-12 14:22:21 -08:00
PatR
bc7fb05dcf Makefile vs lua fix
I've been ignoring submodules so far.  For the old method of
dealing with lua, the instructions

You might need to do
  make spotless
  make fetch-lua

aren't adequate.  They should be

When lua version has changed in Makefile.top, before running
setup.sh to put that new Makefile in place, do
  make spotless
then
  sys/unix/setup.sh [hints/...]
  make fetch-lua

otherwise it will try to clean up the not yet fetched new lua
version instead of the old one.
2020-12-12 14:10:18 -08:00
PatR
25bcbe3846 fix github pull request #418 - towel wetness
Fire damage would dry out a wet towel but never all the way to 0.
Water damage would wet a towel but if it was already wet, its
wetness might decrease.

This uses the pull request's change for increasing the wetness
but changes dry_a_towel so that the original code for decreasing
that will work as is.  Using wet_a_towel() to set wetness to 0
doesn't make much sense, so still won't do so; dry_a_towel() does
and now will.

This also adds missing perm_invent update for towels in inventory
changing wetness.

Fixes #418
2020-12-12 12:04:20 -08:00
Bart House
bbc5cee97f Fix Azure pipeline introduced by only checking out a single repository.
If checking out a single repository, the repository is checked out
to the path $(Agent.BuildDirectory)\s instead of
$(Agent.BuildDirectory)\s\<name of repository>.  Modified checkout
to hard code path to avoid this change in behavior.
2020-12-12 11:47:44 -08:00
Pasi Kallinen
704b11fb05 Add some new demonic and angelic maledictions
From SpliceHack
2020-12-12 20:54:04 +02:00
PatR
8d65d6dbf0 fix #H3134 - selling container for credit
If a container holds anything that a shop wouldn't ordinarily
buy and sell and you sell it for gold, the 'foreign' contents
are marked no_charge and hero still owns them.  But selling the
same container+contents for credit instead of gold would take
shop possession of all the contents without increasing the
credit amount.

The fixes entry is longer than the fix.  It solves cited case but
I won't be surprised much if it messes up some other case(s).
2020-12-11 22:32:38 -08:00
nhw_cron
f489328836 This is cron-daily v1-Jan-20-2020. files updated: Files 2020-12-11 22:52:01 -05:00