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().
<email deleted>
Sent: Thursday, June 13, 2002 12:03 PM
Subject: Beta 1 comments
> The description of Y monsters will be updated in the Guidebook
> 'monsters' option list to match mon_explain[], I assume? (Yes, yes,
> documentation :-)
<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.
<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.
<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:
> Below is the result of your feedback form. It was submitted by
> <email deleted> on Tuesday, June 4, 2002 at 21:04:54
> After alt-Q or F)ile, Q)uitting, it is still possible to F)ile, S)ave your
> game. By doing this after you are shown your inventory [fully identified] and
> attributes (It must be done before the last "Do you want to view your %1"
> dialog is answered--usually conduct), which means you can know what you are
> holding-- although it won't be officially identified. But you can use it to
> avoid putting on, say, an amulet of strangulation by mistake.
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.
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.
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.
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).
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.)
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.
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.
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.
In item-selection menus, as you know one can press "=" to select all
rings, say. This doesn't work if the letters run out before you get to
the rings, however (because there are so many items).
Menu code did not check group accelerators on items without assigned letters
(if the letters run out). Fixed.
Moves the remaining platform-specific options
to their own section of the Guidebook and documents
the "video:autodetect" option required for tiles on MSDOS.
"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.
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.
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.
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.
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.)
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.
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.
[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.
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).
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.)
Add FOUNTAIN directives to the maps that just had '{' symbols.
Without them, the special level loader sets up those maps in a way
that prevents nethack from keeping the fountain counter accurately,
resulting in lack of fountain noises when they haven't been touched
yet and persistent noises after at least one of them has been dried
up. (It would be better to fix lev_comp's map handling code to do
this automatically.)
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.
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.
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.
minetn-6 includes a MAP along with the flags that cause it to be cavernous.
However, the caverns get generated before the MAP is adde the level. Other
similar MAPs have open space on their edges, but there were walls on the
lower right edge of minetn-6. Added another column of mostly open space.
This level can still get cut-off areas, but the stairs won't be located there.
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.