Commit Graph

4129 Commits

Author SHA1 Message Date
keni
9480f880c4 Add .gitattribute files. 2015-02-26 08:54:12 -05:00
Pasi Kallinen
ce0665cd15 Add a missing break
Stepping on a magic trap while riding could delete the trap and
make the deleted trap hit the steed.
2015-02-20 20:26:46 +02:00
Sean Hunt
0d9ae1d293 Add fixes notes for the recent lava changes. 2015-02-20 12:59:45 -05:00
Sean Hunt
a3b1cb8432 Remove the 'nul' variable. 2015-02-18 23:51:31 -05:00
Sean Hunt
72c2ae233d Clean up lava messages a little.
This change has two parts.

First, the Book of the Dead now has a special message in lava. This was
originally added by Steve Melenchuk (aka Grunt) as a precaution against the Book
burning up. While I'm pretty sure that the Book can't burn up in the current
codepath, the message is a nice touch and it doesn't help to add a safety check.

Second, always print the inventory destruction messages. The reason for this is
fairly subtle, but relates to the timing. By not printing the messages when
dying, the visible effect to the player is that if they have lifesaving, the
items burn up before they die, but if they do not, they burn up after they
die---the fact that they do burn up is visible in the dump or bonesfile.
2015-02-18 23:24:41 -05:00
Sean Hunt
ad4f3fc0fe Clean up the lava code a little. 2015-02-18 23:19:23 -05:00
Sean Hunt
d34bc6fd73 Destroy water walking boots on lava first.
This avoids a player being left standing on lava if their boots are burned up and
they survive the damage.

This change is originally due to Steve Melenchuk, fixed up by Derrick Sund.
2015-02-18 23:05:37 -05:00
Sean Hunt
ca6bbf8bc3 Fix warning with verbalize1 2015-02-18 21:48:34 -05:00
Pasi Kallinen
2bf54fd893 Fix the X11 hints file. 2015-02-17 16:54:38 +02:00
keni
bbfb2a4623 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-02-16 08:58:20 -05:00
keni
5dda2afd32 Fix bug: NHtext adds a space to a substitution value.
Add support for debugging from the command line.
2015-02-16 08:53:52 -05:00
Sean Hunt
7e93cadc1c Replace && with & in blindness timeout check.
Caught by clang.
2015-02-16 00:24:05 -05:00
Sean Hunt
862d32c2ec Fix a few compiler (clang) warnings. 2015-02-16 00:23:48 -05:00
Derek S. Ray
d34bab1509 more win32-specific pieces 2015-02-15 14:45:36 -05:00
keni
3266234ecc Convert mdgrep from cvs to git. 2015-02-13 20:32:09 -05:00
keni
b7ea921ea0 Set up mdgrep for git instead of cvs. 2015-02-13 17:54:15 -05:00
keni
aed830f493 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-02-13 17:37:36 -05:00
keni
b87b568f72 Typo 2015-02-13 17:37:06 -05:00
Pasi Kallinen
a55bef240c Typofix. 2015-02-13 22:32:33 +02:00
Derek
f5089838c1 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-02-13 13:29:23 -05:00
Derek
bae3c6088f Exclude all the Win32 build artifacts (Studio and otherwise)
Squashed commit of the following:

commit e37c7626f035a29321c9ac12cca83a0af2132abb
commit 86ebb3e66aedb6b5a31d61d57c39cf84c12d2276
commit 6cd677c8fca4102f223fb1708d00a65c2ded6658
Author: Derek <derekray@gmail.com>
Date:   Fri Feb 13 13:24:29 2015 -0500
2015-02-13 13:26:05 -05:00
keni
b312870522 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-02-13 11:54:28 -05:00
keni
8c7b6cd110 add another note about executable scripts 2015-02-13 11:54:04 -05:00
keni
5404e9d253 add note about making PRE file executable 2015-02-13 11:52:29 -05:00
Sean Hunt
967364b6ed +x .sh files in unix dir; ignore Makefiles 2015-02-13 11:39:37 -05:00
keni
b3c8089e55 .git* cleanup tids 2015-02-12 16:39:51 -05:00
keni
a0315f3f34 add DEVEL to the directory list 2015-02-11 20:24:14 -05:00
keni
34221670bc initial git setup 2015-02-11 19:42:57 -05:00
nethack.rankin
5cc7f32044 retouch_equipment() bypass handling
Simplify retouch_equipment (post-3.4.3.code, called when hero
changes alignment or turns into a silver-hating critter; inventory
traversal must cope with the possibility of losing object->nobj when
processing object) by switching to recently added object->bypass code.
2013-11-07 01:03:16 +00:00
nethack.rankin
e8e291b018 fix #H3039 - panic() when trying to drop destroyed items
From a bug report, dropping a lit
(burning) potion of oil while levitating can produce an explosion which can
destroy inventory.  If in the process of dropping multiple items, the ones
after the oil might be gone, resulting in use of stale pointers and possibly
triggering an "extract_nobj: object lost" panic or even a crash.  While
testing my fix, I discovered that being killed by an exploding potion of oil
could produce an "object_is_local" panic if bones are saved  (and reproduced
with unmodified 3.4.3).
2013-11-05 00:57:56 +00:00
nethack.rankin
d7a467fff1 fix #H3033 - Crash upon teleport onto a sink while equipping levitation boots
From a bug report, being teleported onto
a sink while busy putting on levitation boots triggered a crash when
Boots_on() was called (as '(*aftermv)()' on the next turn) because
'uarmf' would be null by then.  Not mentioned, but the same problem was
encountered by Boots_off() if the teleport happened while you were busy
taking boots off.  It could be fixed by having having dosinkfall() call
cancel_don() if donning(uarmf) yields true, but this patch does a little
more than that:  cancel donning/doffing of any multi-turn armor if you
fall onto a sink.  It also prevents you from falling if you end up
flying (which will have been blocked while levitating).

     The situation when putting on levitation boots has a sequencing
issue:  setworn() causes you to be flagged as levitating immediately,
but the float_up() feedback doesn't occur until Boots_on() gets called
a turn later.  Teleporting to the sink will tell you that you crash
onto the sink and and that you stop putting on boots, without having
been told that you've floated up into the air.  It's suboptimal but it
doesn't seem to actually be incorrect.
2013-10-26 21:33:47 +00:00
nethack.rankin
c9fc8fcc09 Magicbane grammar
After newsgroup discussion of C343-162, I noticed that it had fixed
the verb usage in the message for confused and/or stunned, but not in the
one for resisting.  (If a monster name ends in 's', or it has been named
"you", 3.4.3 used the wrong verb because vtense() was fooled about plural
or second person.)  No new fixes entry needed....
2013-03-17 00:17:18 +00:00
nethack.rankin
fec8981102 poly'd hero hiding feedback
When hiding as a monster, say so during the #monster command and
also list being hidden in the status section of enlightenment/^X.

     Also, prevent hiding on the floor or ceiling on the planes of air
and water.  (Didn't apply to monsters, who only hide on ROOM spots.)

     Half the change to dohide() is just revised indentation.
2013-03-16 01:44:28 +00:00
nethack.rankin
0a86304023 flying into pits
In the newsgroup recently, someone mentioned that when polymorphed into
a flying monster, he couldn't retrieve items out of pits, even with the '>'
command.  I thought that we had fixed that, but the fix apparently only
covered walk-through-wall creatures (xorns and earth elementals), not flyers
and ceiling clingers.  Now those can also deliberately enter pits via '>'.

     The fixes entry is in the new features section in order to be next to
the xorn one.  '>' at pit locations is new, but it handles something which
was missing so feels more like a bug fix than a new feature to me....
[Keni, the bug page entry C343-12 about '>' (for xorns?) is general enough
to cover this fix, so we don't need to add a new one for flyers.]
I noticed an unrelated fixes35.0 entry mentioning '>' which was duplicated;
this removes one of the copies.
2013-03-14 01:58:21 +00:00
nethack.rankin
1183aa6805 impossible fix - potentially invalid feedback
From a bug report, the message displayed to the screen by
impossible() might be different from the one written into paniclog, if it
had argument subsitution/formatting.  I couldn't reproduce that myself,
but stdarg.h/varargs.h is tricky stuff and I think that passing the va_list
to a routine which steps through it requires that va_start be called again
if you're going to use the va_list a second time.  This changes impossible()
to handle its arguments only once, like panic().
2013-02-09 01:33:37 +00:00
nethack.rankin
6847b78316 engrave phrasing
Message wording suggested by Michael.
2012-12-20 01:48:36 +00:00
nethack.rankin
aebb5949f7 fix #H2785 - engraving punctuation
Message tidbit when engraving with a weapon which becomes too dull to
finish the whole text:  add missing final period to
  You are only able to write "<partial text>".
I think that proper usage puts the period in front of the quote rather than
after, but that could make it look as if the period ended up inside the
partial engraving.
2012-12-19 01:26:54 +00:00
nethack.rankin
d356779195 fix #H2671 - feedback when entering untended shop while blind
From a bug report, you get the message "this shop
appears to be deserted" when entering a shop whose shopkeeper is not there,
even if you can't see at the time.  Change it to be
 'this shop is deserted'
     when you can see that the shop is empty,
 'this shop is untended'
     when there's no shopkeeper but you can see some other monster(s) inside,
 'this shop seems to be deserted'
     when you can see but there is a monster that you can't see (probably a
     hidden mimic, but possibly an invisible monster or one standing behind
     a boulder that's ended up in the shop), or
 'this shop seems to be untended'
     when you can't see (and don't have active telepathy or persistent
     monster detection).
2012-07-03 22:54:49 +00:00
nethack.rankin
98a609a03b wand of polymorph vs monster inventory
From the newsgroup:  inventory dropped by a monster killed by system
shock when zapped by a wand of polymorph is protected against being poly'd
by that same zap, but worn/wielded equipment that's forced to be dropped
due to being unusable in a transformed monster's new form was not.  Not
mentioned in the newsgroup, but also fixed:  boulders dropped when a giant
turns into a non-giant were also subject to the zap instead of protected.
2012-05-25 23:54:59 +00:00
nethack.rankin
b90d87ec3c addtional monster movement tweak
Introduce some variation in monster movement by adding and substracting
small random amounts to the fixed increment from the main monster table.  The
amount added is potentially bigger (average is +2) than the amount substracted
(average is +1), so monsters will tend to be slightly faster.  Probably not
noticeable except for super-slow monsters not being so glacially slow, since
net +1 is a bigger relative increase for such critters' low movement rates.
In practice, the noticeable effect will be that ordinary speed monsters will
occasionally get an extra move even if/when player keeps the hero unburdened.

     Possible extension (although I'm not planning to do it):  sort the
monster list by pending movement points, so that faster monsters move before
slower ones.  The random variation would become noticeable because groups of
same-speed monsters would alter their movement order depending upon who got
a bigger increment or smaller decrement on that turn.
2012-05-16 02:15:10 +00:00
nethack.rankin
8c4e324856 fix #H2588 - turn order alternation bug
From a bug report, when the hero has
precisely 24 movement points, fast monsters will move twice and then the
hero will move twice, instead of being interleaved.  The hero will get 24
additonal movement points approximately one turn out of three when wearing
speed boots (or when using spell of haste self or potion of speed) and can
also get 18 additional points twice in succession, with a net of 24 after
12 of them are used on the first turn.  But hero might not be starting at
zero at the time, so I'm not sure how often this is actually noticeable.

     He apparently got a report about this for <some variant> and had some
user-contributed instrumentation in place that made it easier to replicate.
This fix is the one he suggested.
2012-05-16 01:47:18 +00:00
nethack.rankin
18dfc82175 oracle tidbit
From the newsgroup, while rehashing our bug page entries someone
mentioned that buying a minor consultation from the oracle exercizes
wisdom twice.  First when getrumor() chooses one, then again when
outrumor(BY_ORACLE) delivers it.

     This also simplifies some #if GOLDOBJ conditional code.
2012-05-11 22:36:33 +00:00
nethack.rankin
0add521787 fix #H2645 - invulnerability during prayer is vulernable to stinking cloud
From a bug report, stinking cloud
harms hero even when u.uninvulnerable is set during successful prayer.
This makes the cloud harmless during prayer as he suggested.

     It also makes being inside a stinking cloud become a major trouble
that prayer can fix.  (With magical breathing such a cloud is harmless and
with poison resistance it is just a nuisance; it won't be considered to be
trouble in such cases.)  The fix is to clear away the cloud, or to teleport
the hero if he's inside multiple overlapping clouds or in one that is
marked as permanent (which I think isn't currently possible).
2012-05-07 01:44:38 +00:00
nethack.rankin
b1dbd463c5 fix hider bug
From a bug report, this turned out to be caused by a fix
I implemented for #H1749 three and a half years ago.  Kicking a hidden
monster's location would bring the monster out of hiding but lacked a
newsym(), so if there was 'I' displayed there it stayed displayed as 'I'
even while subsequent messages referred to the unhidden monster.

     No fixes entry.
2012-05-06 02:29:33 +00:00
nethack.rankin
669c2ab560 container_impact_dmg
A post-3.4.3 change made the contents of thrown (or dropped while
levitating) containers subject to breakage, but it had sequence issues.
When something was thrown from outside a shop (or from its doorway or
entry spot) and arrived inside, the shopkeeper was taking possession too
soon, charging the hero for any broken contents, and then going ballistic
(summoning kops and attacking) because the hero was outside the shop while
owing money.  We need to break contents before shk claims ownership, which
turned out to be trickier than it sounds since it has to occur after any
item-hits-floor message if such feedback is given.

    Also, clear the container's contents-known flag when contents break.
Conceivably it should stay set when there is only one item, since hearing
something break could only be that item, but this resets container->cknown
unconditionally if anything inside breaks.
2012-05-05 23:26:26 +00:00
nethack.rankin
07f6cd66d4 player as eel
Four years ago, hit point loss for eels out of water was adjusted, but
the same change wasn't applied to hero polymorphed into an eel.
2012-05-04 02:04:34 +00:00
nethack.rankin
e2ff15fe09 fix [rest of] #H2554 - noise when declining to kick peaceful monst
Reported last December by <email deleted>, attempting to kick
a peaceful monster then declining to attack at the confirmation prompt
uses no time, as expected, but does wake up nearby monsters and scuff an
engraving at the hero's location.
2012-05-02 23:01:40 +00:00
nethack.rankin
0d6d24ed97 Guidebook tweaks
Use Keni's *roff formatting macros on a few more option lists, and turn
a couple of those into sentences with semi-colon separators and final period.
2012-05-02 00:38:30 +00:00
nethack.rankin
9f2ca00138 fix [part of] #H2554 - hunger when declining to attack peaceful monst
Reported last December by <email deleted>, attempting to move
into a peaceful monster's position and then declining to attack at the
confirmation prompt uses no time, as expected, but does burn nutrition
the same as if you carried out the attack.  A player could abuse that to
make room to eat an intrinisic-conferring corpse before it rots away.
This fixes that, and also makes attacking a monster via applying a polearm
and via kicking burn the same extra nutrition as ordinary attack.  I didn't
add it for attacking via throwing.

     He/she also reported that kicking at a peaceful monster and declining
to attack at the prompt wakes up nearby monsters even though no actual kick
ultimately takes place.  I can confirm that, but this does not fix it.
2012-05-01 02:22:33 +00:00
nethack.rankin
889e3fa0b6 magic whistle vs steed
From a bug report, using a magic whistle when
you're mounted and standing on a trap location would cause your steed to
trigger the trap even though it didn't move.  Since it is already at the
same place as you, make steed be unaffected by magic whistle so that trap
complications can be avoided.
2012-04-30 22:00:25 +00:00