Commit Graph

2555 Commits

Author SHA1 Message Date
Pasi Kallinen
7fa05c6311 You_hear already checks deafness 2015-03-17 18:47:16 +02:00
Sean Hunt
f8baf4bd8e Make a few fixes to code that was confusing indent 2015-03-17 18:47:14 +02:00
Pasi Kallinen
019b24005f Sanitize petnames and fruit to prevent escape codes 2015-03-17 18:47:13 +02:00
Sean Hunt
b4fa80ec7d Print lava item destructions only if surviving.
This partially reverts commit 72c2ae233d
in order to prevent players from using hangups during the destruction
messages to save themselves.
2015-03-17 18:47:12 +02:00
Sean Hunt
b98fd27f9d Merge fire-based erosion to common codepaths.
This finally eliminates all direct increases of `oeroded` and `oeroded2`
and moves them all to go via `erode_obj()`. They are still manipulated
directly in a few places, but not to erode objects.

This now merges the `fire_damage()` function to a common codepath, used
for items on lava and burning oil, but fire needs more work. There is
still a duplication between `destroy_item()` and `fire_damage()`; the
two codepaths should eventually be merged in some manner so that there
is only one codepath to say "an object was affected by fire". This path
might require some parameters, such as whether the fire will just erode
objects or burn them outright, but that can happen another day.
2015-03-17 18:47:10 +02:00
Sean Hunt
d58a9bb56e Fold get_wet() into water_damage().
This now ensures that dipping into water works like other sources of
water damage. There is a potentially significant gameplay change here:
dipping a container into uncursed water will wet all its contents. If
this is a problem, then we should add another parameter to water_damage
which will suppress this behaviour for dipping.
2015-03-17 18:47:08 +02:00
Sean Hunt
cd83f7e802 Rename rust_dmg() to erode_obj(). 2015-03-17 18:47:07 +02:00
Sean Hunt
04a0331ccc Eliminate erode_obj() and other erosion.
Now all erosion that isn't fire-based goes through `rust_dmg()`
2015-03-17 18:47:04 +02:00
Sean Hunt
4e05b9a1ec A lot more cleanup to rust and water. 2015-03-17 18:47:01 +02:00
Sean Hunt
5532600f1a Cover a couple of corner cases with rust_dmg(). 2015-03-17 18:47:00 +02:00
Sean Hunt
48b048f921 Remove the victim argument to rust_dmg().
The argument can be calculated from `otmp`.
2015-03-17 18:46:58 +02:00
Sean Hunt
2b1820a67b Factor out a new is_moat function.
The fact that Juiblex's swamp is MOAT but not moat is weird and should
probably be looked at at some point.
2015-03-17 18:46:57 +02:00
keni
c5bc6a5268 Manually fix botched NHDT-Branch expansions. 2015-03-17 18:46:55 +02:00
Pasi Kallinen
1b25fe74d8 Remove last mention of DUNGEON_OVERVIEW 2015-03-17 18:46:53 +02:00
Derek S. Ray
66289b13ab remove and transfer INVISIBLE_OBJECTS to branch 2015-03-17 18:46:49 +02:00
Derek S. Ray
8fa8e02415 Remove unused size from questpgr.c 2015-03-17 18:46:48 +02:00
Sean Hunt
07da4a740e Fix some warnings on the unconditionals branch. 2015-03-17 18:46:48 +02:00
Sean Hunt
5fb3fea9c6 Remove experimental Unicode support.
This reverts commit 7f0f43e6f9 and some related
subsequent commits.

This compiles, but I have not done extensive testing.

Conflicts:
	include/config.h
	include/decl.h
	include/extern.h
	include/global.h
	include/tradstdc.h
	include/wintty.h
	src/drawing.c
	src/files.c
	src/hacklib.c
	src/mapglyph.c
	src/options.c
	sys/winnt/nttty.c
	win/tty/getline.c
	win/tty/topl.c
	win/tty/wintty.c
2015-03-17 18:46:45 +02:00
Sean Hunt
fb46fed99d Make EXP_ON_BOTL unconditional. 2015-03-17 18:46:44 +02:00
Sean Hunt
f27d319e68 Make REDO unconditional. 2015-03-17 18:46:41 +02:00
Sean Hunt
11d11c5de3 Make LOADSYMSETS unconditional.
There are some bugs here, but this functionality should make it into the release
in some form.
2015-03-17 18:46:39 +02:00
Sean Hunt
3481ec6589 Make AUTOPICKUP_EXCEPTIONS unconditional. 2015-03-17 18:46:37 +02:00
Sean Hunt
8798197d85 Make BARGETHROUGH unconditional. 2015-03-17 18:46:35 +02:00
Sean Hunt
dcc2f8ba93 Make SEDUCE unconditional. 2015-03-17 18:46:32 +02:00
Pasi Kallinen
099a1b7b32 Apply paxed's DEBUG patch to remove DEBUG/D_DEBUG.
Move debugging output into couple preprocessor defines, which
    are no-op without DEBUG.  To show debugging output from a
    certain source files, use sysconf:

    DEBUGFILES=dungeon.c questpgr.c

    Also fix couple debug lines which did not compile.

This also includes fixes due to Derek Ray to depugpline to work better
on other platforms.
2015-03-17 18:46:27 +02:00
Sean Hunt
05f7a63728 Make GOLDOBJ unconditional. 2015-03-17 18:46:23 +02:00
Sean Hunt
cc7ab4a2da Make WIZARD unconditional. 2015-03-17 18:46:17 +02:00
Sean Hunt
eca41ae060 Make DUNGEON_OVERVIEW unconditional. 2015-03-17 18:46:12 +02:00
Sean Hunt
ffd201495c Make REINCARNATION unconditional.
There is a lot of code affected by this, and Pat Rankin correctly
observes that it would be better to store roguelike as a level flag
rather than just using Is_rogue_level. A note for the future.
2015-03-17 18:46:08 +02:00
Sean Hunt
bb647dc33c Make TOURIST unconditional. 2015-03-17 18:46:01 +02:00
Sean Hunt
44ca9fc16a Make SINKS unconditional. 2015-03-17 18:45:58 +02:00
Sean Hunt
161070ce56 Make KOPS unconditional. 2015-03-17 18:45:56 +02:00
Sean Hunt
9759f5bf6d Make STEED unconditional. 2015-03-17 18:45:49 +02:00
Sean Hunt
aba6ecb7b3 Make ELBERETH unconditional. 2015-03-17 18:45:45 +02:00
keni
25cd007c48 Bulk recovery of file CVS headers and addition of NHDT- headers. 2015-03-17 18:45:12 +02:00
Pasi Kallinen
98785f5d44 Add a missing break
Stepping on a magic trap while riding could delete the trap and
make the deleted trap hit the steed.
2015-03-17 18:44:58 +02:00
Sean Hunt
0fcd4c0093 Remove the 'nul' variable. 2015-03-17 18:44:58 +02:00
Sean Hunt
38964dc56c 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-03-17 18:44:57 +02:00
Sean Hunt
c6628bcbff Clean up the lava code a little. 2015-03-17 18:44:56 +02:00
Sean Hunt
9644ec781a 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-03-17 18:44:56 +02:00
Sean Hunt
e95bd8ec5b Fix warning with verbalize1 2015-03-17 18:44:56 +02:00
Sean Hunt
07cf4e9657 Replace && with & in blindness timeout check.
Caught by clang.
2015-03-17 18:44:55 +02:00
Sean Hunt
01756b33fa Fix a few compiler (clang) warnings. 2015-03-17 18:44:54 +02:00
Pasi Kallinen
793c8577b9 Typofix. 2015-03-17 18:44:53 +02:00
Derek
4c496d089e 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-03-17 18:44:53 +02: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