Commit Graph

568 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
cohrs
fbdc238f33 grateful frozen monsters
a frozen (possibly sleeping) monster cannot be grateful unless it wakes up.
From a bug report.  The pit case can only happen if mfrozen is
non-zero, but other traps may leave msleeping set as well.
2002-07-01 02:44:26 +00:00
cohrs
a868473df6 feeling monsters while blind and levitating
<Someone> reported this during 3.4.0 beta.  If you are blind and levitating,
unseen monsters are shown as "I", just like when not levitating, but they
are never erased after they move, unlike not levitating.  Display this
case correctly as well.
2002-06-30 22:29:58 +00:00
nethack.allison
2c4306b4f9 B01011 can't #untrap container on trap
A chest on a [known] trapped square cannot be untrapped--game
	will always attempt to disarm the trap on the square.
2002-06-30 21:02:55 +00:00
cohrs
fbd986d031 final attributes say riding when you die while dismounting
Reported to the mailing list on 5/23.  To fix this, u.usteed cannot simply
be unset earlier, so I put a check for this special case into enlightenment().
2002-06-30 07:11:26 +00:00
nethack.allison
d845ae45d8 typos from <Someone> 2002-06-30 00:59:41 +00:00
nethack.allison
65325f4067 lookat() trapped detail
<email deleted>
Sent: Thursday, June 13, 2002 12:03 PM
Subject: Beta 1 comments
>A minor thing, but it'd be nice if the "trapped" now in lookat()
>had a defsyms[trap_to_defsym(tt)].explanation to tell you _how_
>the monster's trapped.
2002-06-30 00:52:49 +00:00
nethack.allison
2fc940d51e headstone engraving with wand of digging
<email deleted>
Sent: Thursday, June 13, 2002 12:03 PM
Subject: Beta 1 comments
> Headstone writing still uses the adjective "weird" when engraving with
> a wand of digging.
2002-06-30 00:40:30 +00:00
nethack.allison
d307fb9de6 axes and boulders
<email deleted>
Subject: Beta 1 comments
> Is "You swing your axe through thin air" the right message to give
> when you try to use it to chop through a statue or boulder? Relatedly,
> this line in dig() looks as if it needs updating to the new dig_typ
> indices:
2002-06-30 00:22:04 +00:00
cohrs
60f057ff8e GOLDOBJ zero payment in money2mon
backport of fix to slashem-Bugs-566538 from <Someone>.  money2mon
only makes sense if called with a non-zero amount.
2002-06-29 18:04:30 +00:00
cohrs
cbc70f562a spellcasting level 0 monsters
Based on a report from <Someone>, avoid calling rn2(ml) when ml == 0.
Since level 0 monster always fail in their spells, just skip the whole
loop looking for a good spell.
2002-06-29 17:05:18 +00:00
nethack.allison
6b47ae351d more NOCWD_ASSUMPTIONS
The NOCWD_ASSUMPTIONS conditional code allows readonly
parts of NetHack to be separated from areas that require write-access.
This allows the recent panic log needed a prefix.
2002-06-29 12:44:54 +00:00
cohrs
c0f63425df R920: Weird message when stoning quest nemesis
Make all the quest nemesis monsters resist stoning so their death messages
make sense.  Some already did resist.  Stoning seems like such a trivial
way to overcome a quest nemesis anyway.  If it were to be allowed, multiple
death messages would be needed in the quests.
2002-06-26 15:19:05 +00:00
nethack.rankin
9524894d3f naming wielded weapons
I'm surprised that no one has noticed this one yet.  When
wielding two weapons, naming either of them caused two-weapon
combat mode to stop (unless the weapon already had another name
which was long enough to be overwritten by the new name without
allocating a replacement object).
2002-06-26 05:54:50 +00:00
nethack.rankin
fbeccb7257 Sting's anti-orc warning
From the newsgroup:  creating Sting via naming didn't produce
intrinsic warning (orc detection) if it was already wielded at the
time.  (Un- and re-wielding it sufficed as a workaround.)
2002-06-25 08:27:31 +00:00
nethack.rankin
174dbea372 #levelchange fix
Using #levelchange to reduce experience level would put nethack
into an infinite loop if the character had life-drain resistance.
2002-06-24 10:30:23 +00:00