Commit Graph

4974 Commits

Author SHA1 Message Date
nhmall
4ccbf2edc8 some updates
Changes to be committed:
	modified:   include/botl.h
	modified:   src/botl.c
2015-05-30 22:22:39 -04:00
nhmall
54cee6913e Merge branch 'master' into status_hilite 2015-05-30 10:59:39 -04:00
nhmall
d5a8004acf formatting fix 2015-05-30 04:56:24 -04:00
PatR
bd968776a9 menucolors parsing
Revise the menucolor parsing (color and attribute portion, not the
regexp part) to switch to the string matching used for wishing in
order to allow space in the "light <foo>" entries instead of forcing
the two words to be run together.  Having them be run together still
works, as does use of dash or underscore to separate the two words.
So the canonical form for light blue is now "light blue" instead of
"lightblue", but all of "light blue", "lightblue", "light-blue", and
"light_blue" match it.  (So do weird things like "--li-gh_-_tbl ue _"
but I won't lose any sleep over that.)

Almost all of this if formatting; mostly blank line after declarations
but also there was new stuff that didn't match the recent reformat.
2015-05-30 01:25:46 -07:00
PatR
37763d030e add warning glow for Orcrist & Grimtooth
Make Orcrist glow light blue when orcs are present, just like Sting.
(Sting supposedly glowed because it was made by the elves of Gondolin
rather than any particular attribute built into it, and Orcrist was
made there too.  I think it also glowed in the Hobbit; that was how
Bilbo recognized what the situation was when he first saw Sting glow.
Maybe it was the other sword rather than Orcrist, but they were treated
as being functionally equivalent.)

Also make Grimtooth glow red when elves are present.  That's from thin
air, to give it some novelty.  Unlike Sting, whose double-damage bonus
is restricted to orc targets, Grimtooth's weak 1d6 bonus still applies
to all targets.
2015-05-29 17:42:15 -07:00
PatR
77373baadf 'Du' bug with non-empty containers
ckunpaid() had the same coding error as allow_category().  A hero-owned
container holding hero-owned contents followed in invent an any unpaid
object was mis-classified unpaid.
2015-05-29 15:46:13 -07:00
PatR
95aab36c4c Adjust the getpos() hint for naming a floor object if the hero happens
to polymorphed into something which is hiding under an object.

Also, make the attempt to name a floor object while hallucinating give
a more interesting result.
2015-05-29 15:14:38 -07:00
Pasi Kallinen
b8c752f269 Add vibrasquare symbol to Guidebooks 2015-05-29 22:47:39 +03:00
Pasi Kallinen
4c43b88732 Renumber glyphs for vibrasquare trap conversion 2015-05-29 22:42:11 +03:00
Pasi Kallinen
8c5796ff6e Fix typo in potion dilution message, found by Raisse 2015-05-29 13:20:20 +03: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
nhmall
42ab33d76c update the name of the fixes file in Files
Changes to be committed:
	modified:   Files
2015-05-28 23:05:45 -04:00
nhmall
43c9ae30ba a note about the reformatting
Changes to be committed:
	modified:   doc/fixes36.0
2015-05-28 22:09:40 -04:00
nhmall
e19cf8332e Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-05-28 22:04:00 -04:00
nhmall
3bb9ea62db Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource
Conflicts:
	src/artifact.c
2015-05-28 21:56:42 -04:00
karnov
046f304490 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource
Resync prior to pushing tribute changes.
2015-05-28 21:56:34 -04:00
nhmall
b46e61d486 don't see Sting glowing light blue if you're blind
Changes to be committed:
	modified:   doc/fixes35.0
	renamed:    doc/fixes35.0 -> doc/fixes36.0
	modified:   src/artifact.c
2015-05-28 21:49:13 -04:00
karnov
ad96e17a8d Add a quote for The Fifth Elephant 2015-05-28 21:48:55 -04:00
PatR
29617ada12 Sting's glow while blind
Give an alternate message if Sting starts or stops glowing while the
hero can't see.  It probably ought to give an immediate message when
blindness toggles but that looks like it could get messy.

Having an 'o' die or migrate off level should probably also redo the
Sting message immediately, otherwise we see things like:
  The little dog kills the goblin.
  The little dog eats a goblin corpse.
  Sting stops glowing.
(There could be lots of additional intervening messages depending on
other monster activity at the time.)  Calling see_monsters() in the
relevant places--probably m_detach() and migrate_to_level()--would
address this but won't do because that could result in hallucinating
monsters changing appearance mid-turn.
2015-05-28 18:36:51 -07:00
nhmall
777038d110 more tribute quotes
Changes to be committed:
	modified:   dat/tribute
2015-05-28 19:04:37 -04:00
nhmall
b4f7eb0cd5 Terry Pratchett quotes from Raisse
Changes to be committed:
	modified:   dat/tribute
2015-05-28 18:08:27 -04:00
PatR
92a8ec1796 MSGTYPE lint
Fix a couple of bits of lint in options.c, plus do some formatting
cleanup (in the vicinity only, not the whole file).
2015-05-28 02:36:00 -07:00
PatR
7e05f03bc4 fix [pre-]beta 'Du' bug with containers in shops
'Du' in a shop was listing hero-owned containers that didn't contain
any unpaid items.  At least one unpaid item must be carried; bug
manifested iff one or more unpaid items followed the container in
the invent list.

Recently revised allow_category() was using count_unpaid() for
container contents incorrectly, inadvertently checking the rest of
inventory after the container in addition to its contents.
2015-05-28 02:22:48 -07:00
Derek S. Ray
c3d579007a strncmpi, not strcasecmp 2015-05-27 21:09:54 -04:00
Derek S. Ray
f606b367ab no, really, use the right header 2015-05-27 21:00:00 -04: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
b2291aaf93 Make options-menu more uniform 2015-05-27 20:51:40 +03:00
Pasi Kallinen
773eecc472 Rename omit_buc option to implicit_uncursed
... so the name is less cryptic.
2015-05-27 20:43:22 +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
Sean Hunt
c447088538 Remember novel titles in bones. 2015-05-27 22:17:17 +09:00
PatR
ad3af4efb2 hacklib.c formatting
hacklib.c took a beating in the reformatting, so clean it up.
A tweak to the anti-predictability hack in setrandom() is the only
change in the actual code.
2015-05-27 03:49:09 -07:00
PatR
eeb69bfe09 omit_buc tweak
gcc complained about mixing && with || without parantheses.  After
scratching my head a bit, I think this change yields the intended
result.

'omit_buc' is a bad option name.  It's cryptic and it doesn't even
describe the function.  At a minimum it ought to be changed to
'omit_uncursed' to accurately describe what it does.
'implicit_uncursed' or 'explicit_uncursed' (with opposite boolean
value) would be even more precise but probably not any clearer.
2015-05-27 03:35:28 -07:00
Pasi Kallinen
5fabcdf692 Add omit_buc -option
The option defaults to on, which is the old-style behaviour.
Turning the option off will never omit the "uncursed" -status
from inventory lines. This is pretty much required if users
want to use menucolors based on the BUC state.
2015-05-27 12:46:35 +03:00
Derek S. Ray
a65c568e49 New precompiled versions of these 2015-05-26 22:54:55 -04:00
PatR
5f02b15a75 mimics mimicking strange objects
The code that intended to have mimics occasionally take on the form
of "strange object" always produced downstairs instead because
S_MIMIC_DEF is greater than MAXOCLASSES.

This problem was present in 3.4.3.  I didn't try to go back to see
how long it's been there, but strange objects used to occur once
upon a time.  Either nobody noticed that they'd gone away or there's
an alternate way to produce them.
2015-05-26 17:16:30 -07:00
Sean Hunt
2174d26c47 More wishing nits. 2015-05-26 09:06:41 +09:00
Sean Hunt
58052f88ad Count only stacks when listing container contents.
By popular demand of the beta testers.
2015-05-26 09:04:04 +09:00
Sean Hunt
9c827ad231 Provide feedback when one of your items gets wet. 2015-05-26 09:00:33 +09:00
PatR
fca75c5766 questpgr.c's in_line[], out_line[]
Replace static in_line[] and out_line[] with local variables that are
released when the quest pager code returns to caller.  QTEXT_IN_SIZ
was already removed from makedefs; now QTEXT_OUTSIZ is removed from
nethack.  Use regular BUFSZ for them instead of trying to maintain a
separate size for quest text.
2015-05-25 15:49:44 -07:00
PatR
dfd9586ab4 wishing bit - royal jelly 2015-05-25 14:54:48 -07:00
Pasi Kallinen
29ecd78efc Fix squeaky board creation segfault
If a trap is created on top of another trap, maketrap reuses
the trap struct in place, instead of deleting and recreating it.

If a squeaky trap was created on top of another trap, maketrap
first set the trap type to squeaky board, and then tried to
look through all squeaky boards on the level, to determine
what note the new trap should play. Unfortunately, the union
with the trap note most likely contained a rolling boulder
coordinate or something else outside the 12 note range, so
then the tavail-array lookup would cause a segfault.
2015-05-25 22:03:04 +03:00
Pasi Kallinen
fd1932075e Fix dark room glyphs on level re-entry 2015-05-25 10:02:09 +03:00
PatR
911745a5ea trickier lint cleanup
Suppress some mostly longstanding "unused parameter" warnings where
the usage was generally conditional.

restlevl() had a conditional closing brace that confused the recent
reformat, resulting in some code inside a funciton ending up flush
against the left border (first column, that is, as if outside of the
function).
2015-05-24 23:49:05 -07:00
PatR
49c997c22c makedefs lint
makedefs.c: In function 'fgetline':
makedefs.c:2630: warning: comparison between signed and unsigned
makedefs.c: At top level:
makedefs.c:2638: warning: ISO C does not allow extra ';' outside of a function

fgetline() makes my recent check for quest line truncation become
redundant, so strip that out.  I haven't taken the corresponding
macro out of qtext.h though.

[I didn't see any patch introducing 'fgetline'.  Was it hidden as
part of some big merge?]
2015-05-24 23:26:35 -07:00
nhmall
53363e05b9 add missing tile and correct clobbered header file 2015-05-24 21:10:22 -04:00
Sean Hunt
6df9d25a09 Add clang-formatting file.
This should be in the repository, even though nobody can use it yet.
2015-05-25 09:21:31 +09:00
Sean Hunt
1c081b1647 Remove stale version control lines. 2015-05-25 09:21:31 +09: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
Sean Hunt
26ee7dc370 Convert the vibrating square to a trap
Patch due to ais523 in NetHack 4.

This is not ready to be merged yet; the vibrating square needs a tile
image for tiles builds.
2015-05-25 09:19:20 +09:00
nhmall
0e1a0d9bd9 remove #include of file that doesn't exist 2015-05-24 19:29:20 -04:00