Commit Graph

3154 Commits

Author SHA1 Message Date
PatR
ea0729c5ca some mthrowu.c formatting cleanup 2015-10-07 15:49:59 -07:00
Pasi Kallinen
8212ddd69e setmnotwielded should always MON_NOWEP
Instead of making the caller remember to use MON_NOWEP, make
setmnotwielded handle that automatically.  This fixes the
"bad monster weapon restore" errors I've been seeing.

Also adds sanity checks for this.
2015-10-06 18:47:55 +03:00
PatR
a51531776d flesh golem healing
Fix one of the entries in the "A few bugs" mail.  Flesh golems hit by
electric damage calculated a healing amount of dam/6, then ignored it
and used dam instead.  Probably never noticed in actual play....
2015-10-05 18:32:40 -07:00
PatR
9656225247 sanity check for embedded dragon scales
The problem discovered with sanity checking of embedded dragon scales
was with the checking, not with the object flagged "embedded in skin".
I thought W_ARM got cleared when switching 'uarm' object to 'uskin',
but it isn't.
2015-10-05 18:18:03 -07:00
Pasi Kallinen
d9bc2fb621 Add paranoid option for breaking a wand
Add OPTION=paranoid_confirm:wand to prevent accidental
wand breaking - suggested by scorchgeek
2015-09-27 19:13:20 +03:00
Pasi Kallinen
798b2e76f9 One more scroll name, a tongue twister 2015-09-17 19:32:28 +03:00
Pasi Kallinen
c48b3c4556 Jump-and-bump should wake up monsters
It was possible to wake up single monsters by jumping at the monster.
Make such bumping somewhat noisy.
2015-09-15 16:17:16 +03:00
PatR
80ca4e9837 novel bit
Feedback phrasing:  don't refer to a novel as a "spellbook" when
rejecting the attempt to write on one with a magic marker.
2015-09-14 17:18:05 -07:00
Pasi Kallinen
6ba0baa4cd Improve wand of nothing randomizing
As per Sean's suggestion, just use rn2. This means the line
can also be moved to better place, with the other object
init stuff.
2015-09-13 08:53:23 +03:00
Pasi Kallinen
0ee1f31601 Make wand of nothing zap ID harder
Just to mess with zap identification, make wands of nothing
either ask for direction or not, determined at game start.
2015-09-11 18:42:06 +03:00
PatR
ba6c2c1f9f VMS updates from KevinS (1 of 2: core)
His changes add file_exists() to sys/vms/vmsfiles.c, which might be
needed in the future but is not useful here.  Checking for 'gbd' and
'grep' for PANICTRACE support (which I had working on Alpha--and
ought to work on VAX, no idea about IA64--before losing access to vms)
is pointless since neither is used.

src/files.c
  SYSCF support, parse_config_line():
    #if VMS, ignore GDBPATH and GREPPATH if present in sysconf;

  SYSCF support, assure_syscf_file():
    #if VMS, force open()'s optional third argument since the macro
    which redirects open to vms_open requires it.

src/sp_lev.c
  selection_do_randline():
    use configuration-specified 'Rand()' rather than raw 'rand()'.
2015-09-08 16:12:27 -07:00
Pasi Kallinen
9a4d29b365 Add new scroll names
via UnNetHack, with some slight changes:

1) Folded the two Portal references into one
2) Removed "ACHAT SHTAYIM SHALOSH" ("One Two Three" in Hebrew and apparently
   Uri Geller's catchphrase) - I know nothing about Hebrew nor Geller, or
   whether this would be appropriate to add.
3) Added "XOR OTA" ("Atorox", reference to Finnish fandom and early scifi)
2015-08-30 21:29:08 +03:00
PatR
96f9997164 unicorn horn vs deafness
Implement the suggestion that applying a non-cursed unicorn horn can
cure deafness like other similar troubles.  Also, applying a cursed one
can cause deafness, although I made the chance be half of what it is
for the other troubles since they tend to be more significant.

This is entry #2 on the bugzilla list, but I haven't figured out how to
update that yet.
2015-08-20 18:31:12 -07:00
PatR
791c41e6b4 branch traversal via W quest artifact
Require the hero to pass the next_to_u() check when using the Eye of the
Aethiopica to portal to another dungeon branch.  Even though the reported
exploit of having a steed which is carrying the Amulet bring it along had
already been prevented, this changes the temporary portal behavior to be
like level teleport.  A steed carrying the Amulet or a non-adjacent pet
on a cursed leash will inhibit the attempted change of location.
2015-08-14 19:18:12 -07:00
PatR
35cabe53bf wear/remove commands, P & R vs W & T
Allow 'P' and 'R' commands to accept armor and wear/take-off the chosen
item, and 'W' and 'T' commands to accept accessories and put-on/remove
the item.  The which-object prompt only lists the type(s) of items that
traditionally go with each command, as does an inventory menu if the
user picks '?', but items of the alternate type(s) can be chosen, by
unshown letter or by the inventory menu given for '*'.

There shouldn't be much difference if you continue picking items that
go with the original commands, although you will somestimes get
"which object? [*]" when the only choices are for alternate command.
And you won't see the all-four-accessories-are-already-worn message
for 'P' unless you also have something worn in all seven armor slots.

The Guidebook.mn changes have been tested (that's how/why I noticed
the preface glitch) but the corresponding Guidebook.tex ones haven't.
2015-08-03 18:38:38 -07:00
Sean Hunt
ff823095ee Revert "Add tombstone tribute to S.T.P. for 3.6.0"
This reverts commit 64dfb4fcc8.
2015-08-03 12:56:32 -04:00
PatR
5e909d3b44 obj bypass: move vs turn
Reported by ais; clearing object bypass bits once per turn isn't often
enough.  Clear them after the hero moves (which might be more than once
in a turn) and before each monster moves (ditto) and after last monster
moves.  This might not be optimal but that shouldn't matter since it's
usually a no-op.
2015-08-02 01:54:51 -07:00
PatR
9034e2a7e5 W_WEAPON, W_ACCESSORY
Add macros W_WEAPON and W_ACCESSORY, similar to existing W_ARMOR, bitmask
of all the relevant worn bits.  Just for code readability; there should
be no change in behavior.

Also, reformat the "ugly checks" portion of getobj().  Slightly better
readability and fewer continuation lines, but only a modest improvement.
2015-07-25 19:19:58 -07:00
Sean Hunt
64dfb4fcc8 Add tombstone tribute to S.T.P. for 3.6.0
I've added build files for unices, but other platforms will need to define
NH360_DEDICATION on their own.
2015-07-19 12:42:23 -04:00
Sean Hunt
bda16a1703 A little bit more tribute.
Also clean up a pline->pline1 in the tribute code.
2015-07-19 12:34:25 -04:00
PatR
2b2ee0fbab formatting fixup (1 of 2)
Replace instances of strings split across lines which rely on C89/C90
implicit concatenation of string literals to splice them together
with single strings that are outdented relative to the code that uses
them.  It's uglier but it won't break compile for pre-ANSI compilers.

This covers many files in src/ that only have one or two such split
strings.  There are several more files which have three or more.  Those
will eventually be '(2 of 2)'.

Noticed along the way:  the fake mail message/subject
  Report bugs to devteam@nethack.org.
wasn't using its format string of "Report bugs to %s.", so would have
just shown our email address.  Doesn't anybody enable fake mail anymore?

I modified that format to enclose the address within angle brackets and
made a similar change for the 'contact' choice of the '?' command.
2015-07-12 19:35:06 -07:00
Pasi Kallinen
f05f716dbc Fix dark_room glyphs when restored from save
If color or dark_room options were toggled during gameplay, and then
the game is saved and restored with different options, the dark room
glyphs were wrong.

Reported by both Boudewijn and Pat.
2015-07-10 16:17:04 +03:00
Pasi Kallinen
c1ef2e19df Fix more dark_room and nocolor
Fixes for example the case of searching while blind, as
reported by Boudewijn.
2015-07-10 16:04:04 +03:00
Pasi Kallinen
864fb1e203 Fix nocolor messing with dark_room on levelchange
As reported by Pat:
> After leaving a level and then returning, I'm seeing lit
> room squares as blank
> Options all have their default settings

OPTIONS=nocolor is the default; we should probably change this
sometime, because nearly everyone plays with color.
2015-07-10 15:49:33 +03:00
PatR
72303206fc questpgr: plural neuter pronoun
%o[hij] relied on makesingular() converting "the Eyes of the Overworld"
into "the Eye of the Overworld" to recognize when it should use
they/them/their instead of it/it/its, but makesingular() was changed to
keep "eyes" intract instead of stripping the 's'.  So qtext_pronoun()
needs to check for "Eyes" itself.
2015-07-10 01:00:07 -07:00
PatR
63736ba33b '/' enhancement
Add new entries to the menu used for the '/' command:  describe nearby
monsters, describe all shown monsters, describe nearby objects, and
describe all shown objects.  It makes a text window listing monsters--
or objects--currently displayed on the map, showing lines of
X  r,c  monster-or-object description
where 'X' is symbol (monster or object class letter for tty), 'r,c' is
row and column separated by comma, and description is similar to what
using '/y' or ';' manually would provide (how-seen info is omitted
when listing monsters).

Originally intended for blind players using screen readers to describe
what is displayed, but will probably get used by other players too.

The map doesn't use a separate set of glyphs for objects which are the
tops of piles, so the information that there are additional objects
beneath the ones shown isn't available to '/' and ';'.  That feels like
a bug to me....
2015-07-06 19:07:26 -07:00
PatR
fe09f7156d vampshifter messages
If you've just received the "dead bat revives as a vampire" message,
suppress the rather obscure "Maybe not..." message given when an unseen
creature gets life-saved since it ends up being out of sequence.  You
could get them both when the death/revival was sensed via telepathy
without being in sight.

Also, some formatting cleanup and a couple miscellaneous code tweaks.
2015-07-06 18:24:13 -07:00
PatR
c64036c97b \#overview quest feedback
Implement the requested feature to have an automatic annotation on the
dungeon level with the quest entry portal where you sense the leader
summoning you.  It stays even after entering the portal (which results
in another automatic annotation of "portal to quest"), up until you
return to that level after having completed the quest.

Add a second one for the quest home level once the leader has given
you the go ahead to start the quest.  After completing the quest that
one remains but its wording is changed.

This ought to haved incremented EDITLEVEL but I decided to risk leaving
current save files viable.  That should work ok for anyone who isn't
overriding the default definition of Bitfield(), although odd behavior
could conceivably occur.  New games have nothing to worry about.
2015-07-04 20:06:31 -07:00
PatR
60de579757 another do.c formatting bit 2015-07-04 17:49:47 -07:00
PatR
b1d8ce0993 do.c formatting
Fix a couple of instances of a mis-indented block comment which happens
to be immediately preceded by an end-of-line comment.  Change a couple of
|  if (condition)
|    something;
|  else {
|    other_stuff;
|  }
to have braces around the 'then' part.  Remove some gratuitous 'register'
declarations.
2015-07-04 17:07:41 -07:00
PatR
8f758cce25 boot weights
Make both pairs of iron boots weigh the same (kicking boots become
heavier).  Make boots of water walking weigh the same as levitation
and elven boots (slightly lighter; 3/4 as much as speed, fumbling,
and mundane high boots).
2015-07-04 16:28:08 -07:00
Pasi Kallinen
fe073055b6 Comment typofix 2015-06-25 08:08:39 +03:00
nhmall
5df350d548 separate option to toggle hilite_pile
Beta tester report.

The use of use_inverse meant that you couldn't selectively
choose to hilite pets but not piles. Add its own option.
2015-06-22 15:51:43 -04:00
nhmall
3ba5def8f1 fix windows console bug reveals monster (console tty) 2015-06-22 15:06:00 -04:00
nhmall
735539461c Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-06-21 22:41:43 -04:00
Derek S. Ray
8798392e78 try not to miss ! marks 2015-06-21 20:59:17 -04:00
nhmall
993ea2e41f update beta #
I cut a new windows binary for one of the beta testers.
2015-06-21 15:51:40 -04:00
Derek S. Ray
2224df66f0 Slight improvement to handless pets' pickup changes
Allow one item to be taken out of a pile, and leave framework in place
for partial splits so that all monsters will take up to their capacity,
rather than leaving the whole pile if it's too big to take all at once.
2015-06-21 15:16:22 -04:00
Pasi Kallinen
866b5caee0 Text tombstone overflow and helpless
Betatesters noticed the death message could overflow the text tombstone,
because the helpless reason was also shown there.

So don't show the helpless at all in the tombstone.  The helpless is
still put in the record, logfile, and as a separate while-field in xlogfile.
2015-06-21 17:57:17 +03:00
nhmall
d07e92f882 Merge branch 'master' into win32-x64-working 2015-06-20 08:40:13 -04:00
Pasi Kallinen
c574df1239 Prevent unique monsters waking up prematurely
Reported by Stefan:
> I just did the valkyrie quest. When I arrived on quest goal, I took only
> a few steps away from the upstairs and Lord Surtur jumped me. One of the
> monsters in his lair had stepped on one of the guaranteed squeaky boards

Squeaky boards (and other noisy things) woke up monsters that were
meditating. Unfortunately this also woke up such meditating monsters
as the Wiz, or the quest nemesis.

Prevent unique monsters with waiting strategy being woken up by the noise.
2015-06-20 14:15:08 +03:00
nhmall
cba799172f I'm also told "no quotation marks" in the books for Death
Changes to be committed:
	modified:   src/sounds.c
2015-06-19 17:47:38 -04:00
nhmall
5fb16cfe0f typos 2015-06-19 17:27:57 -04:00
nhmall
d167f86f1d I'm told Death is absent from two titles 2015-06-19 17:23:51 -04:00
nhmall
876b96c5ae I'm told that Death does not appear in two titles.
Changes to be committed:
	modified:   src/sounds.c
2015-06-19 17:17:40 -04:00
PatR
60e974e9f1 reformat objects.c
Manually reformat objects.c so that it's a bit easier to work with,
prior to possibly modifying it.  I wrote objects[] and obj_descr[].*
to files before and after and they were byte-for-byte identical, so
the revised objects.c hasn't introduced any changes.  It was done
from scratch rather than reverting to the pre-clang-format edition.

There was nothing particularly wrong with the uniform spacing
produced by the automated reformat, but organizing things in columns
and/or controlling where the line splits occur make changes and
comparisons easier.

artilist.h and monst.c should probably be redone too, but I don't
think I going to get around to tackling them.
2015-06-18 19:07:43 -07:00
nhmall
33b948e452 increment the beta version number 2015-06-18 19:17:29 -04:00
Pasi Kallinen
2094aa16ad Fix default boulder symbol
Previous boulder symbol fix unearthed another problem:
When no boulder symbol was defined in config file, the default
iflags.bouldersym null value was used as a symbol.
2015-06-18 20:55:19 +03:00
Pasi Kallinen
6bbf7c9444 Fix boulder symbol changing
Boulder symbol could not be changed in config file with
"SYMBOLS=S_boulder:0" because the glyph code was checking
iflags.bouldersym; that is only set if boulder symbol
is changed with the deprecated "OPTIONS=boulder:0" way.
2015-06-18 20:18:44 +03:00
nhmall
72a0841dbb Merge branch 'master' into win32-x64-working 2015-06-17 19:39:24 -04:00