Commit Graph

1450 Commits

Author SHA1 Message Date
nethack.allison
c0bcc8d292 modify #untrap prompting further
> The intention is, I believe, to cater for the situation where you, a
> chest, and a dungeon-trap are all on the same square; previously
> (C340-71), you wouldn't have been able to check the chest for traps
> because an #untrap in direction '.' would always have tried to disarm
> the dungeon trap. However, since you can't trap-check containers on
> adjacent squares, it'd wouldn't hurt if the question was dispensed
> with when you specify a direction that isn't your square.
>
> (Note that "you cannot deal with traps while trapped!", so there's
> still several situations when you can't trap-check a chest on a
> trap-square, even though you can loot it, until you've untrapped
> yourself; is this really consistent? Should the if(u.utrap) check
> be moved to the "case y:" branch of the switch?)
2002-07-10 12:32:03 +00:00
arromdee
f3db525ac4 chain summoning
This adds a further throttle to chain summoning.  Monsters can only summon
spellcasting nasties if the nasties are lower level than the summoner, which
makes infinite chains impossible (as long as the player figures out which
monster to kill first).
2002-07-09 07:10:21 +00:00
cohrs
568b8de533 kicking and killing an unseen monster
<Someone> reported that kicking [unlike hitting] an unseen monster
to death would leave an "I" on the screen.  This was due to a missing
DEADMONSTER check.  I also noticed that code to avoid leaving an extra "I"
behind when a monster jumps of of the way was only half right, resulting in
an extra "I" anyway.
2002-07-09 04:21:58 +00:00
cohrs
034892d5a8 NO_TERMS bug
From a bug report, a missing check for defined(NO_TERMS) in pcsys.c
would result in a link time error.
2002-07-09 04:09:09 +00:00
nethack.allison
40940991bb change GOLD_CLASS to COIN_CLASS 2002-07-08 23:25:53 +00:00
cohrs
1c6535a655 riding speed
While riding, your speed was calculated using the steeds speed only when
moving multi locations.  So, if you were walking step by step, it would use
your speed instead.  Changed this to use the steed's speed any time actual
movement occurs.
2002-07-08 14:02:27 +00:00
cohrs
632e741a52 R853 - Items inside statues lost
If you cast stone to flesh on a statue on a location containing a monster,
the statue would be turned into a corpse and the contents lost.  This
didn't seem to be appropriate for the spell.  Now the contents spill out.
2002-07-08 00:15:27 +00:00
cohrs
e88a6182dd cancellation, polymorphed and unchanging
<Someone> reported that a wand of cancellation would ignore Unchanging,
noting the case of cancelling yourself while polymorphed into a stone golem.
He thought the wand should win, killing the player.  I felt otherwise,
since the case he specified passes the flag allow_cancel_kill == FALSE.
2002-07-07 23:25:43 +00:00
cohrs
c03c25b045 B01021 - Samurai quest doors
<Someone> wondered why there were no DOOR:nodoor specs for several doors in the
Samurai quest.  I wasn't positive, but it seemed like these should have
been DOOR:closed, which is what I've added.
2002-07-07 20:57:13 +00:00
cohrs
40c4800613 B01016 - misplaced "you steal" message after being blasted by an artifact
I saw no straight-forward way to insert the message earlier in the
sequence, so...  I reasoned that you might not yet have a good grasp and
not be able to continue holding the object when reverting form.  So, I made
this into a drop case and made the drop message a rare past tense message.
Past tense is still OK for the other drop cases.
While testing this, I noticed you'd keep stealing even after reverting
form.  Added code to stop this.  Finally, there was a missing MON_NOWEP
call in the stealing code, added it.
2002-07-07 20:22:57 +00:00
nethack.allison
5802922a3d picking up gold
> > On Saturday, 6 Jul 2002, <Someone> wrote:
> > What's the rationale behind using "money" for what used to be
> > "gold" (as in "The hill orc picks up some money" or "You notice
> > you have no money!")? Has the zorkmid been devalued?
[...]
> At least let *leprechauns* pick up gold. Unlike orcs, they're not the
> kind to pick up just "money".
2002-07-07 19:10:17 +00:00
cohrs
1359896784 eating conduct followup
lost the non-EGG case when removing the unnecessary LEATHER, et al, checks.
2002-07-07 15:25:23 +00:00
cohrs
4a5b7ef893 special level alignments
From the newsgroup a while back - special levels w/o a specific alignment
should inherit their alignment from the dungeon.  Some places explicitly
checked the dungeon if the level alignment wasn't set, at least one did not.
2002-07-07 07:18:05 +00:00
cohrs
e8dc88c950 rotten food and veggie conduct
<Someone> reported (in April) that eating cursed tripe, for example, did
not violate vegetarian conduct.  This patch moves the various conduct
checks into common code that is executed before the rotten state of food is
determined.
2002-07-07 05:07:53 +00:00
nethack.allison
efcf8f4d1c avoid some glitches with a handheld compiler I was trying out
src\muse.c(904) : error C2143: syntax error : missing ';' before '__try'
src\muse.c(904) : warning C4091: ' ' : ignored on left of 'int ' when no variable is declared
src\muse.c(904) : error C2059: syntax error : '='
src\muse.c(916) : error C2059: syntax error : '__try'
2002-07-06 16:26:35 +00:00
nethack.allison
24c368ac4a travel command missing from help 'g'
<email deleted>
> In the help listing one obtains from '?g', the "travel" option does
> not seem to be listed.

lootabc, and showrace were missing too.
2002-07-06 14:00:05 +00:00
nethack.allison
72ed171339 message structure bit 2002-07-06 13:28:46 +00:00
cohrs
3a946944a4 B01014 - chop through
The rest of B01014 was fixed by my fix for B03003.  This fix just
changes the verb as suggested.
2002-07-05 17:37:31 +00:00
cohrs
194e43f882 messages when destroying a chest
Remove the special case of "the" vs "a" in chest_shatter_msg(), just
use an/An as appropriate.
2002-07-05 15:58:16 +00:00
nethack.allison
bd7c4e4af8 validate_prefix_locations follow-up2
translate errno in the log file too
check for standard C
2002-07-05 15:38:27 +00:00
cohrs
82389171d0 documentation bit
document which strings correspond to which capacity levels
Suggestion from <Someone>.
2002-07-05 15:37:47 +00:00
cohrs
421ec1767f restore autodig behavior
autodig messages were broken due to a change in the dig_typ interface which
shifted all the values by 1, but not all callers of dig_typ got changed.
2002-07-05 15:30:51 +00:00
nethack.allison
b41dab0b7a validate_prefix_locations follow-up
translate errno in the log file too.
2002-07-05 14:46:31 +00:00
nethack.allison
895199a83b validate_prefix_locations
Add the actual value of the prefix, and the error returned by the system
to the paniclog file entry.
2002-07-05 14:42:49 +00:00
nethack.allison
fff14e7eed NOCWD_ASSUMPTIONS under MSDOS followup 2002-07-05 13:22:28 +00:00
cohrs
26381228bc knights and covetous monsters
Implement Pat's suggestion of setting the mavenge flag when a covetous
monster flees, since they may subsequently teleport back and attack even
if mflee is set.
2002-07-04 19:13:10 +00:00
cohrs
2a058618e5 B03002 followup
copied over the wrong version of fountain.c
2002-07-04 18:27:22 +00:00
cohrs
0859b5d30a B03002 - missing fountain messages
<Someone> reported that dowaternymph and dowaterdemon did not print a message
when their G_GONE checks failed.  Now they do.  I wasn't feeling
imaginative, so the the dowaterdemon message is the same as for no snakes.
2002-07-04 18:25:26 +00:00
cohrs
2c6a1eb7e1 R972 - rust monster eating gold
When !GOLDOBJ, player polymorphed to a rust monster that attempted to eat
gold in the inventory would fail to eat it, but the gold would be consumed
anyway.  Under GOLDOBJ, a later check would work around the invalid prompt.
2002-07-04 17:47:18 +00:00
cohrs
ff68892016 B03001 - trapdoors while blind and levitating
The seetrap() was done for trapdoors & holes independent of whether a
message was printed.  Move the seetrap call into fall_through where
the message logic lives (Sokoban holes always activate).
2002-07-04 17:29:42 +00:00
cohrs
8a44a437e5 R926 - polymorphed player does not explode at thin air
Reported that player polymorphed into an exploding monster does not explode
when attacking thin air.  Also noticed that if player is Unchanging, they
wouldn't die after exploding in the existing code.  Set u.mh = -1 to ensure
they won't still be around after exploding.
2002-07-04 06:36:37 +00:00
warwick
7dd72e4ac2 Turn "_" into " ", since "Brave_Sir_Robin" looks yucky.
Proper fix is to store name in file.
2002-07-04 06:26:15 +00:00
warwick
da2423c528 Linux and SVR4 don'thave 14-character filename limits.
Re-factor the #defines while I'm at it.
2002-07-04 06:23:42 +00:00
cohrs
9d51c1853a cursed daggers thrown by monsters can go thru closed doors
based on a bugfix forwarded by <Someone>, check for closed doors and drop
the missle before it.  I re-arranged the pre checks a bit so m_throw no
longer needs to trust the caller to ensure everything is OK beforehand.
2002-07-03 06:35:35 +00:00
nethack.allison
4d402e1b07 B01012 involuntary dismount crash
Nethack crashes when you are riding a flying monster over a
	pool/moat and some engulfing monster plucks you off your saddle.
	After falling into the water you'll get the normal message
	sequence (sink like rock ... phew, that was close; you also get
	chance to teleport if you can).  After the last message the game
	will crash with a segmentation fault.
	- reproducible; null pointer dereference in swallowed()

The crash results because dismount_steed() calls float_down(), which
calls drown(), which calls teleds(), which clears u.ustuck.  So when
gulpmu calls swallowed after dismount_steed(), this line attempts to
derefernce a null pointer:
    swallower = monsndx(u.ustuck->data);

This patch bypasses the float_down() in dismount steed() altogether.
That routine is meant to return the hero to the floor, and that
isn't appropriate if a purple worm just plucked you off the steed
anyway.

While this fixes the crash, a problem still exists. The
way swallowing works, the swallowing monster's location
switches to that of the hero.  Since that location is
over water, the purple worm ends up drowning almost
immediately after you are swallowed, while you are
swallowed.  The purple worm's death is not revealed
to you since the "The purple worm drowns." message is
conditional. This patch also adds a message when
the purple worm dies, but should this guaranteed
drowing take place?
2002-07-03 02:22:50 +00:00
nethack.allison
186a2ccbcf B01001
<Someone> reported this bug (B01001):
	"Tower of flame" as cause of death _still_ lacks "killed by"
	prefix.
2002-07-03 00:11:22 +00:00
cohrs
c6ec3e35a7 dropping gold on an altar
<Someone> reported that dropping gold on an altar prints no message.
As a side effect, gnostic conduct was never affected, which seemed odd;
dropping other known objects would still affect your gnostic conduct.
While fixing this, I noticed a GOLDOBJ-related bug when dropping gold while
levitating.
2002-07-02 05:55:23 +00:00
cohrs
2c277e15d1 R975 - message for charging for items lost in a cursed magic bag
The loss message was not always printed due to testing the wrong variable
before printing the message.
2002-07-02 04:14:59 +00:00
nethack.rankin
d03f31d83b comment tidbit 2002-07-02 02:47:28 +00:00
nethack.rankin
3842c87c0f grammar of food warnings
Change "The corpses smell like it could be tainted! Eat it anyway?"
to be "The corpses smell like they could be tainted! Eat one anyway?"
when eating one of multiple stacked food objects.
2002-07-02 02:39:27 +00:00
cohrs
0acba3f7db paniclog: log correct string 2002-07-01 23:06:01 +00:00
nethack.allison
eac7db7278 early directory validation follow-up
Don't test file creation on the read-only areas: dataprefix, configprefix
2002-07-01 22:53:30 +00:00
nethack.allison
ea268b5b6f early directory validation
Allow early prefix directory validation to help prevent
failed games and lost save files due to incorrect config
file settings.
2002-07-01 22:42:57 +00:00
nethack.allison
8d0b3091cb Clean up win32 emergency exit handling a little 2002-07-01 12:32:57 +00:00
nethack.allison
47d32c6e45 It was possible to terminate the win32 ports late in the user
save process, after the save file had already been written by
forcing execution of an interrupt handler at one of the
termination prompts.  This resulted in "You were not healthy
enough to survive restoration" and worse.

This clears program_state.something_worth_saving immediately
after the save has been completed.
2002-07-01 12:28:14 +00:00
nethack.allison
a8b7d559cb axing boulder/statue follow-up
<email deleted>
Sent: Sunday, June 30, 2002 6:30 PM
Subject: Sparks from statue-axing
> First, the message given when your axe-handle vibrates is a little
> ambiguous; I'd be explicit and include the name of obj.
>
> More seriously, potions of oil catching light from the sparks are a) a
> great idea, but b) slightly broken. They catch light fine, but
> snuffing them produces a "del_light_source: not found"
> impossible(). (This probably means the same applies to being lit by
> fire_damage(), but that's rare enough this hasn't been caught before.)
>
> (Also, a)pplying a potion of oil to light one identifies its object
> type, so lighting one by this means probably ought to as well. And
> oughtn't it to be charged for if you don't own it, as light_cocktail()
> does?)
2002-07-01 06:41:08 +00:00
warwick
3c043bc008 Make problem of zero-sized .moc file less likely.
(<Someone> reported problem that was obscured by an empty .moc file
being created in a failed build)
2002-07-01 05:35:02 +00:00
warwick
f3b5cb519f How to make nhtiles.bmp
(and also my little tileedit utility)
2002-07-01 05:26:57 +00:00
warwick
82668439f7 nhtiles.bmp may be needed (eg. Qt windowport) 2002-07-01 05:23:47 +00:00
warwick
a495cf38ad Fix focus order for playerselection. 2002-07-01 05:06:56 +00:00