Commit Graph

530 Commits

Author SHA1 Message Date
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
nethack.rankin
25f25a396d polymorphed two-weaponing
Cease two-weapon combat if you're using it in polymorphed form
and revert to normal form for any of the roles which can't use it.
2002-06-24 09:59:40 +00:00
cohrs
3db1e7858f fix crash when using ';' to look at I monsters
Reported to the mailing list.  If you set your monster symbol options, and
use ';' and select a known invisible monster by screen, a crash would occur
accessing a null pointer.
2002-06-24 05:10:44 +00:00
cohrs
f5b4406f8d entering discover mode while restoring a game
Reported directly to the list.  If you are not the wizard and start nethack
on the command line with the -D flag (or -X), the game reports that you're
entering discover mode but does not actually do it.  The flags.explore in
the save file overwrote the new value.  Save the flag while reading flags
if discover mode was requested.
2002-06-07 21:24:52 +00:00
cohrs
2e2ce4effa the panic log
Add an optional paniclog file, controlled by a new PANICLOG macro that can
be used to log all panic and impossible messages.  Helpful when people
forget to send, or didn't see, the message.
2002-06-02 18:49:18 +00:00
nethack.rankin
c6d02b30c3 wizard mode riding
"Force the mount to succeed?" doesn't necessarily do so;
it's worse than useless to suppress the message which indicates
why a mount attempt is failing when a failure occurs.
2002-06-01 10:40:59 +00:00
nethack.rankin
ac5975ea9d Fix the "remove_object: obj not on floor" panic I encountered
when investigating the report of death due to falling off steed leaving
"you were riding" in the final attributes.  (This doesn't fix that bug.)
Dismounting calls teleds() to put the character on the map and teleds()
does various iron ball manipulations, but during level change the ball
is removed from the map and those manipulations won't work as intended.
2002-06-01 10:32:55 +00:00
nethack.rankin
a99a8fcba8 singularization of irregularly pluralized monster types
Fix makesingular() to handle "vortices", "liches", and "fungi"
as suggested by <Someone> a while back; also "fungus".
2002-05-31 03:39:00 +00:00
cohrs
761164a30f Staff of Aesculapius didn't always cure sliming
- incorporated <Someone>'s 1-line fix to the precheck
2002-05-21 16:14:36 +00:00
cohrs
94837b78d4 hangups with temp gold in inventory
- Implement Michael's suggestion of marking temp gold put in inventory
so it can be cleaned up during restore.
2002-05-21 05:04:09 +00:00
cohrs
b0cef1a0e2 R883 - disappearing thrown money
this is a !GOLDOBJ bug, the money was not put back into ugold in this
case when it was not thrown
2002-05-20 05:03:13 +00:00
cohrs
d62c6eac08 change appearance if polymorphing while mimicing
As per <Someone>:
> I had a game today where I was polymorphed (by a sink) into a mimic, and
> #monster-ed (hid).  The symbol on the map for me was ].  Then, I polymorphed
> again, this time into a kobold lord -- but the symbol remained ].  This
> seems wrong.
Handle this similar to the polyman code.
2002-05-16 04:02:52 +00:00
cohrs
25e5208deb R868 - don't kill paper/straw golems twice
longtime bug in damageum, if hero is poly'd to something with fire damage,
and hits a paper or straw golem, mondead will get called twice for the
monster.  Fix this, by working like AD_CURS does no clay golem.  Also, make
sure no scrolls, et al, get dropped by disallowing a corpse.
2002-05-16 03:13:34 +00:00
nethack.rankin
4c07c88dac #loot in shop
Fix the reported bug of being double-billed for a bag of
holding destroyed if #loot is used to put a wand of cancellation
into it while it's on a shop floor.  (The bug report neglected
to mention a second aspect of the situation:  you wouldn't get
billed for the wand if you used an unpaid one to trigger this.)
2002-05-15 23:15:39 +00:00
nethack.rankin
b0872d064f twoweapon feedback
When #twoweapon fails, the message referring to "your current form"
sounds pretty odd when you're not polymorphed.
2002-05-15 06:48:46 +00:00
cohrs
b5276ed2a0 looting containers and monsters
There's a check in doloot that's supposed to disallow looting nearby
monsters if you loot a container at the current location.  But, it only
worked if you looted the last container.  Make the behavior consistent.
2002-05-15 05:10:06 +00:00
cohrs
b131f0fee6 R870 - shopkeeper grabbing backpack panic fix
The worn bits, et al, were not all cleared when the shopkeeper grabbed your
pack.  This currently affects only alternate (non-twoweap) and quivered
objects.  This could lead to a panic or a crash.
2002-05-14 07:02:50 +00:00
nethack.rankin
0d0f8b5c70 redundant petrification message
[I've lost the #Rxxx number for this bug report....]

     When attacking a non-stone golem with a cockatrice corpse,
suppress the redundant "<monster> turns to stone" message which
preceeded the "<monster> solidifies.  It's now a stone golem."
messages.
2002-05-10 02:07:45 +00:00
nethack.rankin
ecffb6b92c monster strategy fix
From the newsgroup:  using #chat to talk to a "meditating"
monster like quest nemesis or Medusa could elicilit responses
without waking it up (at least if you moved fast enough enough
to probe it before it got its next turn).
2002-05-10 01:59:25 +00:00
nethack.rankin
847b037d58 #ride workaround
From the newsgroup:
> Apparent bug or weird-seeming feature:
> If you try to mount a horse that is already in a pit,
> you get the message "You lead the poor <foo> into a pit!"

     I checked into fixing this properly (you mount the steed and
then shared its trapped status without actively retriggering the
trap in the process), but the trap code is too convoluted to do
that cleanly.  So this "fix" just makes mounting attempts fail if
the steed is trapped.

     (This diff is mostly whitespace cleanup.)
2002-05-10 01:50:22 +00:00
arromdee
407696c305 worm display bug
This fixes a long worm display bug.  The bug wasn't really in the worm code, it
was in goodpos().  goodpos() could place worm segments on top of one another.
If you split a worm when the tail was located on top of the head, the tail
would be removed from the screen, making the head seem to vanish.
2002-05-03 03:47:39 +00:00
arromdee
050bc318ba statue traps
From the newsgroup (a little while back): if a statue comes to life and the
monster is invisible, you can't see it.
2002-05-03 01:59:39 +00:00
nethack.rankin
b113445f93 grammar tidbit (fixes #R835)
Add special case to an() to produce "a one-eyed one-horned
flying purple people eater" instead of "an one-eyed ...".
2002-05-01 01:26:32 +00:00
cohrs
9f2f6f6177 boulder display bug
If you first pushed an undiscovered boulder while blind with ESP and
there's a monster behind it, you'd get a message referring to the boulder
but the boulder wasn't displayed.  Move the feel_location test.
Also, improved the grammar of the message a bit.
2002-04-27 23:22:35 +00:00
cohrs
93c2b69769 R788 - bones corpses shouldn't all be human
u.umonnum was used to create the corpse in a bones file.  However, unless
you're polymorphed and manage to actually die in that form, u.umonnum
refers to a role monster, which all have M2_HUMAN set, so they're all
human.  Even if the role monsters were mutated dynamically when the game
starts, the problem would still exist, just in a different form.
Use urace to determine the corpse type instead.
2002-04-24 05:21:20 +00:00
cohrs
2c26ea1dd5 R809 - newcham message reorganization
Add a param to newcham() to let it print "The oldmon turns into a newmon!"
rather than always printing this externally.  Should ensure a good ordering
of the messages.  Also put some special name handling in one place and
catch a couple cases where "saddled" was printed, resulting in funny messages.
2002-04-23 06:15:52 +00:00
cohrs
5b13f62fa3 R792 - crocodile kicking
Based on the limited research I've done, it does not appear that crocodiles
of any size have legs that can effectively kick doors, chests, et al.  They
could kick objects, but kicking a monster would be more of a claw attack.
It's simpler to just print a message in all cases.
2002-04-22 03:58:41 +00:00
cohrs
8260da268e R806 - monsters using teleportation on noteleport levels
Bug reported was that Vlad the Impaler never figured out that a wand of
teleportation was useless.
1) Rather than change the monst struct, overload the use of the mtrapseen
TELEP_TRAP bit to be set when a monster uses teleportation on a noteleport
level.  This has the side effect of causing the monster to know about
teleport traps if they manage to leave the level.
2) reduce chance for monsters to get teleport wands on noteleport levels,
since they will otherwise simply be left mostly charged for the player.
2002-04-21 23:25:21 +00:00
cohrs
5bc5910ed8 compilation bits
- remove an unused variable in use_pick_axe2
- wiz_debug_cmd needs to return an int like other extended commands
2002-04-21 17:43:17 +00:00
nethack.allison
a277db8f73 debug-mode extended cmd - panic
Add a debug-mode extended command #panic to call
panic().  Useful for testing panic-savefile generation.
2002-04-21 13:51:10 +00:00
nethack.allison
b1c191cf85 prevmsg followup
The patch by <Someone> assumed TTY_GRAPHICS was defined.
That broke environments where it wasn't, such as win32 graphics.
2002-04-21 13:36:38 +00:00
nethack.allison
5d3448fc16 Message recall window extensions
by <Someone>

(the following text accompanies the patch at <Someone>'s web page)

add more configurability to the new msg_window option of [..]3.4.0.
It allows the configuration option to take an optional parameter to
specify the style of message history display to use.

allows the following configuration options:

msg_window:s - single message (as was the default in 3.3.0)
msg_window:c - combination; two messages in 'single', then as 'full'
msg_window:f - full window; oldest message first
msg_window:r - full window reversed; newest message first

In the event of no parameter being provided,
the patch is compatible with the current 3.4.0 behaviour:
msg_window = 'full'
!msg_window = 'single'
msg_window can be configured for these options in the
Options menu (Shift-O)
msg_window stores the current window type in the non-persistent
iflags structure, which means that savefile/bones files should be
100% compatible with Vanilla, but at the disadvantage that your
customisations to msg_window will be replaced with your
defaults.nh (or ~/.nethackrc) value every time you restart a saved game.
Credits:

The patch draws inspiration (and code snippets) extensively
from <Someone>'s original msg_window patch, [...] as well as <Someone>'s code for reverse ordering implemented until recently in
Slash'em.
2002-04-20 14:16:23 +00:00
nethack.rankin
8bcec06645 vault guard behavior
From the newsgroup:  vault guards would ask your name--and you'd
be able to respond--even when you were unconscious (for any reason
besides fainting from lack of food) or paralyzed.  (The code already
made the guard be forgiving when you failed to promptly follow him
out due to that situation, but it would repeatedly say "move along!"
even though you were unable to move.)
2002-04-19 06:03:01 +00:00
nethack.rankin
197b4e706f grammar tidbit
From the newsgroup:  if the Candelabrum of Invocation already
has six candles attached and you apply another one to add the seventh,
the message said it "now has seven candle attached."
2002-04-19 05:50:02 +00:00
cohrs
91b2bab5d5 R804 - fix crash caused by looking at a unique boulder symbol
The code only handled the case where the boulder symbol was non-unique.
Add code to handle the case where the boulder sym is the first match.
2002-04-19 02:28:20 +00:00
nethack.rankin
f0aabe8460 discovery of enchant weapon scrolls
Eliminate or at least reduce one of the idiosyncratic differences
between enchant weapon and enchant armor:  make reading enchant weapon
discover that scroll if the effect is adequately discernible, instead
of always asking the player to supply a name for it.  If your weapon
is identified and its +/- enchantment value goes up, or you're wielding
a worm tooth and it transforms into a crysknife, you learn the scroll.
However for the negative effect of a cursed one, that's only applicable
when the scroll is already known to be cursed.
2002-04-18 02:26:09 +00:00
arromdee
97e393aa05 naga hatchlings growing up
This was reported on the newsgroup.
2002-04-17 00:12:02 +00:00
kmhugo
a7504f0c77 Grappling hook aiming
Characters skilled or better with a grappling hook have a chance of
aiming for an object, monster, or the floor.
2002-04-16 17:24:33 +00:00
cohrs
2490b10b65 pre-known Fake Amulet of Yendor
the change to xname to lazily reset known on objects after DRIN attacks,
need not change the FAoY.  the_unique_obj already handles this
2002-04-16 04:57:51 +00:00