Commit Graph

526 Commits

Author SHA1 Message Date
nhmall
9999ba9700 Merge branch 'master' into status_hilite
Conflicts:
	include/extern.h
	win/tty/wintty.c
2015-06-01 22:13:41 -04:00
PatR
f0904157c5 tty role selection when filter by options
Honor things like OPTIONS:role=!tourist and NETHACKOPTIONS='race=!orc'
when performing interactive role selection.  I don't think it was
completely correct when players let the program choose, but it must
have been close enough because we haven't gotten any complaints.
The post-3.4.3 interactive selection was ignoring options-base filtering
entirely and did get complaints for the pre-beta.

Role selection has a ton of code which bloats the program without doing
anything useful for actual game play.  It ought to be split off into a
separate front end.
2015-06-01 18:18:47 -07:00
nhmall
ec92c2007a Merge branch 'master' into status_hilite
Conflicts:
	include/extern.h
	src/options.c
2015-06-01 09:09:44 -04:00
nhmall
1c00f3b8f3 yet more updates
Changes to be committed:
	modified:   include/botl.h
	modified:   include/extern.h
	modified:   include/wintty.h
	modified:   src/botl.c
	modified:   src/options.c
	modified:   src/windows.c
	modified:   win/tty/wintty.c

get the tty versions started
2015-05-31 16:50:08 -04:00
nhmall
7e4074b61f more status_hilite work
Changes to be committed:
	modified:   include/extern.h
	modified:   src/botl.c
	modified:   src/options.c
	modified:   src/windows.c

defer notification of the window port until after
proper initialization. Options are processed very
early in 3.6.0
2015-05-31 11:54:06 -04:00
PatR
0171345aad more Sting,&c
Add "(glowing light blue)" to the formatted object description when
Sting or Orcrist is glowing due to presence of orcs or "(glowing red)"
if Grimtooth is glowing due to elves.  Use "(glowing)" if blind;
assumes that some aspect of the glow (perhaps warmth or vibration) can
be noticed via touch.

Make enlightenment's "you are warned about <monster class> because of
<artifact>" catch up with Orcrist and Grimtooth.  It was attributing
Orcrist's warning against orcs to Sting, and Grimtooth's warning was
against "something" rather than elves.

The glow color is now a new field in artilist[], so the biggest part
of this patch is adding an extra value to each artifact's definition.
2015-05-30 22:41:30 -07:00
PatR
7d74a25a14 using #name to call a floor object
Implement Boudewijn's suggestion that #name be extended to allow naming
something of the floor.  I'm sure he wants this so that he can avoid
picking up gray stones, but it's something I started to implement years
ago (probably at an earlier suggestion from him...) and then forgot all
about.

This changes the #name menu to be
   m - a monster
   i - a particular object in inventory
   o - the type of an object in inventory
   f - the type of an object upon the floor
   d - the type of an object on discoveries list
   a - record an annotation for the current level
   What do you want to name?
with the i and o choices omitted when inventory is empty.  If the
'lootabc' option is set it will use a through f instead, but then the
last three entries change letters when inventory is empty.  'y' and 'n'
are still accelerators (effectively hidden choices) for the i and o
entries, corresponding to the answers for the 3.4.3 and earlier "name
an individual object?" prompt.

The floor choice asks you to pick a location.  If you pick yourself,
then the top object of the pile underneath you is targetted.  Otherwise,
the target must be an object glyph, and the object must have its dknown
bit set, so have previously been seen up close or revealed via blessed
potion of object detection.  To make it be more useful, targetting an
object on an adjacent square will set the dknown bit.  (Just the top
object if there is a pile there.)  There's no cockatrice corpse touch
check since you aren't actually touching anything, just looking.

The setting of dknown bit for an adjacent object has been extended to
the '/' and ';' commands for examining things on the screen as well.
It's only done for adjacent spots you actively select, not all 8 spots
around you.
2015-05-29 02:07:50 -07:00
Pasi Kallinen
2944dc6935 Show cost of merchandise when walking over it
This is another feature the betatesters seemed to miss a lot.
2015-05-27 21:45:00 +03:00
Pasi Kallinen
f0eca282a8 Add MSGTYPE config option
MSGTYPE allows the user to define how messages in the message
area behave. For example:

  MSGTYPE=stop "You swap places with "

would always make that message prompt for -more-.  Allowed types
are "show" (normal message), "hide" (do not show), "stop" (wait
for user), and "norep" (do not repeat message).

Adding this, because it's relatively simple, proven to work, and
it seemed to be the major thing betatesters felt was lacking when
compared to NAO.
2015-05-27 20:21:57 +03:00
Pasi Kallinen
fd1932075e Fix dark room glyphs on level re-entry 2015-05-25 10:02:09 +03:00
Sean Hunt
8b57d96fd2 Reformat .h files.
I did my best to exempt some of the bigger aligned blocks from the reformatting
using the /* clang-format off */ and /* clang-format on */ tags. Probably some
that shouldn't have been formatted were anyway; if you encounter them, please
fix.

The clang-format tags were left in on the basis that it's much easier to prune
those out later than to put them back in, and it means that, modulo my custom
version of clang-format, I should be able to run clang-format on the source tree
again without changing anything, now that Pat has fixed the VA_DECL issues.
2015-05-25 09:21:15 +09:00
PatR
168572fd0d #terrain update
Make the post-3.4.3 '#terrain' command be more versatile by allowing the
player to choose between floor-only, floor+traps, and floor+traps+objects
so that it is possible to view known traps covered by objects or monsters
and remembered objects covered by monsters.  The extra explore mode and
wizard mode choices aren't affected.
2015-05-21 16:53:46 -07:00
PatR
f0370f5f86 you feel {a,an unexpected} draft
Move the message given when a monster digs through a closed door
or a secret corridor into a separate routine.  In theory, nethack
should determine whether there is a path between the new opening
and the hero's location in order to decide whether a draft can
be felt.  (I don't think anyone is likely to implement that--I'm
certainly not.  Checking whether the hero is in a room with no
breaches in its walls could at least catch being inside a vault.)

While at it, add some USA-centric puns about feeling the prospect
of imminent military conscription instead of air current if it
happens while hallucinating.
2015-05-18 18:25:44 -07:00
Sean Hunt
167800afdf Fix type compatibility warning. 2015-05-09 13:07:49 -04:00
Derek S. Ray
d0fb68795d Merge branch 'derek-elbereth'
* derek-elbereth:
  ensure that the 'safe' objects remain safe
  finish up the changes to trigger erosion on use
  initial pass for toning down Elbereth

Conflicts:
	dat/castle.des
	dat/sokoban.des
	include/extern.h
	src/engrave.c
	src/mklev.c
	src/monmove.c
	src/zap.c
2015-05-09 11:58:36 -04:00
nhmall
20069798d4 Merge branch 'master' into win32-x64-working 2015-05-07 04:52:30 -04:00
karnov
2a907f894e Version number increment 2015-05-06 22:04:27 -04:00
nhmall
088e0471f1 Merge branch 'master' into win32-x64-working 2015-05-01 18:36:39 -04:00
Pasi Kallinen
8f639796d5 Handle boulder-option in config file
Setting boulder in config file did not work correctly in post-3.4.3
code, due to the symset changes.
2015-05-01 22:03:13 +03:00
nhmall
353417c642 Merge branch 'master' into win32-x64-working
Conflicts:
	src/mon.c
	src/options.c
	src/pickup.c
	src/zap.c

 Changes to be committed:
	modified:   doc/Guidebook.mn
	modified:   doc/Guidebook.tex
	modified:   doc/fixes35.0
	modified:   include/color.h
	modified:   include/extern.h
	modified:   include/mondata.h
	modified:   src/ball.c
	modified:   src/dbridge.c
	modified:   src/dig.c
	modified:   src/display.c
	modified:   src/dokick.c
	modified:   src/dungeon.c
	modified:   src/fountain.c
	modified:   src/invent.c
	modified:   src/mkmaze.c
	modified:   src/mkobj.c
	modified:   src/mon.c
	modified:   src/monmove.c
	modified:   src/mthrowu.c
	modified:   src/options.c
	modified:   src/pickup.c
	modified:   src/sit.c
2015-04-30 06:39:44 -04:00
Derek S. Ray
fb8a071a39 finish up the changes to trigger erosion on use
Elbereth is a magical power, and like everything else, magic eventually
gets used up... even for burned engravings.
2015-04-27 18:18:16 -04:00
Pasi Kallinen
86dc5cf588 Unify getting terrain under drawbridge 2015-04-27 22:15:23 +03:00
Pasi Kallinen
0903df974f Unify guards yelling 2015-04-27 21:31:25 +03:00
nhmall
fa238fad65 Merge branch 'master' into win32-x64-working 2015-04-26 08:39:18 -04:00
Pasi Kallinen
4e067f5f2b Show level annotation on level entry
Idea by Chris Smith, via Unnethack
2015-04-26 10:46:42 +03:00
Derek S. Ray
22ffe3b84e initial pass for toning down Elbereth 2015-04-23 23:04:35 -04:00
nhmall
67e7565ee2 Merge branch 'master' into win32-x64-working
Conflicts:
	src/sp_lev.c
2015-04-22 22:33:22 -04:00
PatR
16d8074352 lint 2015-04-22 19:17:49 -07:00
nhmall
68a68e167a merge fallout from previous night 2015-04-22 20:05:27 -04:00
Pasi Kallinen
5a42ce4040 Unify boulder dropping on player
... and if you're swallowed, make the dropped boulder hit the monster.
(Changes from UnNetHack)
2015-04-22 20:22:55 +03:00
nhmall
c78d09a7d4 Merge branch 'master' into win32-x64-working
Conflicts:
	include/extern.h
	src/do.c
	src/mon.c

 Changes to be committed:
	modified:   include/extern.h
	modified:   src/ball.c
	modified:   src/do.c
	modified:   src/eat.c
	modified:   src/hack.c
	modified:   src/invent.c
	modified:   src/lock.c
	modified:   src/mon.c
	modified:   src/pickup.c
	modified:   src/pline.c
	modified:   src/save.c
	modified:   src/sp_lev.c
	modified:   src/steed.c
	modified:   src/trap.c
	modified:   src/uhitm.c
2015-04-22 08:08:50 -04:00
Pasi Kallinen
ed164ad324 Fix typo in func decl 2015-04-22 13:24:51 +03:00
Pasi Kallinen
bd69677933 Unify stumbling on door mimic 2015-04-22 09:23:54 +03:00
Pasi Kallinen
75e7d837e6 Unify food-related conducts when eating a monster 2015-04-22 09:16:49 +03:00
Pasi Kallinen
6d4aa312e6 Unify hero free hand check and msg 2015-04-22 09:02:38 +03:00
Pasi Kallinen
171e8284cd Unify monster gender setting 2015-04-22 08:58:04 +03:00
Pasi Kallinen
3bf2d17e2c Unify iron ball unwielding 2015-04-22 08:53:13 +03:00
Pasi Kallinen
34d5a4c1f9 Unify file removed -trickery 2015-04-22 08:45:03 +03:00
Pasi Kallinen
2783157f95 Unify "You are rooted" message 2015-04-22 08:35:14 +03:00
nhmall
aaca36a6d5 build both tty NetHack.exe and gui NetHackW.exe
Changes to be committed:
	modified:   include/config.h
	modified:   include/extern.h
	modified:   include/flag.h
	modified:   include/global.h
	modified:   include/ntconf.h
	modified:   include/wintty.h
	modified:   src/cmd.c
	modified:   src/files.c
	modified:   src/options.c
	modified:   sys/share/pcmain.c
	modified:   sys/share/pcsys.c
	modified:   sys/share/pcunix.c
	modified:   sys/winnt/Makefile.gcc
	modified:   sys/winnt/Makefile.msc
	modified:   sys/winnt/nttty.c
	new file:   sys/winnt/stubs.c
	modified:   sys/winnt/winnt.c
	modified:   util/makedefs.c
	modified:   win/tty/wintty.c

Adjust the code and the command line Makefile so that
you no longer have to choose whether to build the tty
version NetHack.exe, or the gui version NetHackW.exe.

Both will now be built in a single 'nmake install' pass.
2015-04-22 00:07:46 -04:00
Derek S. Ray
0bef94cfde Make coalescence message be smart about status
- honor blindness and hallucination
- honor ability to see one of the mergees
- provide audible feedback if appropriate
- merging inside pack gets special-cased so player knows something
  different/unusual is happening
2015-04-21 21:47:33 -04:00
nhmall
9b63abf2b0 Merge branch 'master' into win32-x64-working 2015-04-21 17:52:40 -04:00
Pasi Kallinen
c9bb75eaf3 Unify dropping boulder on monster 2015-04-21 22:40:27 +03:00
nhmall
0918e65801 Merge branch 'master' into win32-x64-working 2015-04-18 17:47:14 -04:00
nhmall
0fdcea70c6 suggested booktribute mods
Changes to be committed:
	modified:   include/extern.h
	modified:   src/files.c
	modified:   src/objects.c
	modified:   src/spell.c

- charge a little more.
- no free read in the bookstore.
2015-04-18 17:45:27 -04:00
Derek S. Ray
7c644c1507 Merge branch 'win32-x64-working' of https://rodney.nethack.org:20040/git/NHsource into win32-x64-working
* 'win32-x64-working' of https://rodney.nethack.org:20040/git/NHsource: (27 commits)
  Makefile bit
  gcc Makefile updates for recent file additions
  ...

Conflicts:
	src/files.c
2015-04-15 18:30:13 -04:00
Derek S. Ray
df52ba17ec add debugger window support via _RPT*; add regex
currently it's locked behind _MSC_VER, but anything that runs on Win32
should be able to use those functions as long as it has something that
can pass as a debug window.

also, add a non-wildcard-accepting version of showdebug for the dumpit()
functions in dungeon.c and questpgr.c; this makes DEBUGFILES=* workable
without being excruciatingly painful
2015-04-15 18:19:16 -04:00
Pasi Kallinen
cd3b0efe5d Unify description of hero's visage into single function 2015-04-14 19:41:44 +03:00
Pasi Kallinen
879f6d55c2 Add Auto open doors -patch 2015-04-13 21:11:44 +03:00
Pasi Kallinen
1c970b171e Some monsters can eat through iron bars
Any monster with rusting or corrosion attack can eat through
the bars. This includes rust monsters, grey oozes, and black puddings.

Original patch by Malcolm Ryan
2015-04-13 19:41:51 +03:00