Commit Graph

3387 Commits

Author SHA1 Message Date
nethack.allison
70ae2d2162 fix B16001 handlessness inconsistency
[forwarded from newsgroup]
When polymorphed into a handless monster, you can't loot a chest
that's on the ground but you can pick it up and then apply it when
it's in your inventory.
2003-01-03 03:54:07 +00:00
nethack.allison
98414a8291 B14023 More shade-related japery
>	You hit the shade with an egg.  Splat!
>	The cream pie splashes over the shade's face!
>	Your venom burns the shade! [But it doesn't.]
>	A mirror breaking I could possibly see, since the silvering is the
>	important part there.
2003-01-03 02:16:05 +00:00
nethack.allison
06ad5107dc Allow msg_window option to be silently ignored by non-tty ports. 2003-01-02 12:21:48 +00:00
nethack.allison
ec3b1bf40e revert B14005 cmdassist font fix 2003-01-02 04:00:46 +00:00
nethack.allison
da912b0780 B14005 cmdassist font
<Someone> wrote:
	I happened to be playing under X11 for a change this weekend, and I
	noticed that, since the direction help of cmdassist uses (sort of)
	ASCII art, it looks rather peculiar in a proportional font. Could it
	be made to use the menu font instead?
2003-01-02 03:07:46 +00:00
nethack.allison
642cc45bd4 gnomish wizard follow-up to follow-up
By request, withdraw the limitation and revert
back to preventing all player species from
polymorphing into variants of that same species.
2002-12-31 04:11:38 +00:00
nethack.allison
a349b60743 gnomish wizard follow-up
Limit the race restriction to gnomes  to avoid
unanticipated problems with other species.
2002-12-31 03:48:03 +00:00
nethack.allison
e72dbb7c59 buglist fix: gnomish wizard
<Someone> wrote: If you polymorph into a gnomish wizard (even if you *are* a gnomish
wizard), you shrink out of your armour.
2002-12-31 03:30:33 +00:00
nethack.allison
bbfd597a80 raceptr()
Add a routine for returning a ptr
to the correct race of monst.
Compensates for polyd and non-polyd player.
2002-12-30 01:42:36 +00:00
nethack.allison
e8ca725e92 buglist entry: hobbits and elven mithril armour
<Someone> wrote: "Also, hobbits can't wear armour,
at least, you can't wear armour when polymorphed into a hobbit, even
though hobbits do tend to be carrying elven mithril-coats.
It's tempting to suggest adding an explicit exception in
sliparm() for elven mithril just to keep the Tolkienness."

- added a general routine for adding race-based /object
combination exceptions.
- hobbits can wear elven mithril-coats
2002-12-29 23:55:58 +00:00
nethack.rankin
df07fd4b90 fix buglist entry - artifact bow wielded by monsters
The Longbow of Diana (ranger quest artifact) confers reflection
to the hero when wielded but didn't do the same for monsters when they
wielded it.
2002-12-27 03:40:57 +00:00
nethack.rankin
b9f66bb4c2 fix B15006 - breaking lances with jousting
Post 3.4.0 bug: "Your a lance (weapon in hand) shatters on impact!"
Use xname() instead of doname() to get "lance" instead of "a lance" here.
It also wasn't giving "you start bashing with your bare/gloved hands" on
the next attack after losing the weapon.
2002-12-27 03:29:46 +00:00
nethack.allison
676df2da62 more beta
BETA_INFO was being used in win32 code but
it is only defined in version.c
2002-12-26 17:14:34 +00:00
nethack.allison
70d60e16d2 beta 16
- also fix typo that Pat noticed
2002-12-26 16:43:38 +00:00
nethack.rankin
0b2e205117 artifact invisibility fixes
Invoking the archeologist's Orb of Detection gave "you feel a surge
of power, but nothing seems to happen" if you were able to see invisible,
but various other ways of toggling invisibility give fade/unfade messages
in that situation.  Also, you would get false reports of invisibility
changes if you invoked the artifact while temporarily invisible due to
potion or spell or while wearing a mummy wrapping.
2002-12-19 02:24:13 +00:00
cohrs
a8c7164162 B15004 - Master Assassin's attack
hitmu was trying, and failing, to re-implement parts of x_monnam().  Changed
it to use Monnam(), which produces more detailed messages than before in
some cases, but seems better since its messages are now more consistent
with hitmsg() and prints "The" in this specific case.
2002-12-19 02:09:35 +00:00
cohrs
aabc54549e U189 - killing an engulfing monster over water allows waterwalking
- The code in xkilled failed to call spoteffects after killing the monster
that was engulfing you.  Being expelled already worked correctly.
- While testing this, I discovered that removing a ring of levitation or
similar while engulfed would call spoteffects when it shouldn't.  Fixed
that too.
2002-12-19 01:57:10 +00:00
nethack.rankin
3c98250c96 data.base revision
Add the wizard entry submitted by <Someone>.  It doesn't fit
perfectly but seems better than getting the generic human (or other
race) entry.  It pointed out that "gnomish wizard" is ambiguous between
a type of monster and a player character race/role combination.  I had
to add a special case to the code to make that work out right.

     This also makes all the roles that have the their entry match any
race; conversely, match the race's monster for roles that don't have an
entry (caveman, healer, monk, priest, and samurai; we really should get
them their own).  Previously many of the non-human ones yielded "I don't
have any information on such things" and at least one (elven priest)
yielded the generic human entry.
2002-12-18 20:09:33 +00:00
nethack.rankin
f210367c13 fix B15003 - behavior of bribe-able demons
Prevent a demon who is carrying the Amulet of Yendor from being
removed from the game when player meets his demand for a bribe since
that was effectively destroying the Amulet.  There are various ways
to accomplish this; I chose to make the bribe demand be for an amount
that the player cannot possibly satisfy in that case.
2002-12-18 18:15:55 +00:00
nethack.rankin
28e8ff7561 invisibility bit
Make timeout of temporary invisibility consistent with other
forms of toggling that state:  you notice it even when you are able
to see invisible.  (Invoking the archeologist's quest artifact is
still inconsistent in this regard.)
2002-12-18 17:51:02 +00:00
nethack.rankin
eba488996f fix U193 - digging feedback for undiggable trees
> Zapping a wand of digging at trees in ranger's quest gives a message
> "rock glows then fades".

     There was code to handle this, but it didn't work due to the
definition of IS_TREE making checks for STONE be sensitive to code
ordering (STONE was checked first in this case).

#define IS_TREE(typ)    ((typ) == TREE || \
                        (level.flags.arboreal && (typ) == STONE))

Why is it defined this way?  Shouldn't STONE simply be converted
into TREE when arboreal levels get created?
2002-12-18 17:38:57 +00:00
cohrs
78e3efabcb B15002 - scorpions and spiders
tweak the description for the 's' symbol to include all its current members
2002-12-17 05:24:55 +00:00
cohrs
bcf47b7663 missing altar drop messages
Most callers of dropx did not check for altars, but should have.  Rather
than add such checks, I moved the check from drop to dropx.  I also found
several callers of dropx that could generate out-of-order messages for some
cases (not new) and fixed them. FYI - callers of dropy don't seem to want
altar checks or already do them.
2002-12-17 03:36:42 +00:00
nethack.rankin
137bd330e4 fix B14021 - inconsistent menu styles
Menu styles `partial' and `full' will let you remove any type of
item from the three weapon slots via the 'A' command, but `traditional'
and `combination' would only do that for the primary weapon slot.  For
the alternate weapon and quiver slots, the item in question had to be
one which can normally be wielded or worn, otherwise when choosing the
object class letter you'd be told that it was "Not applicable."  And
for wearable items, you needed to be really wearing one of that class
(besides the quivered one) or else you'd get "not wearing any amulet"
or similar.
2002-12-14 11:53:22 +00:00
nethack.rankin
5fcbf50f2c fix B14020 - unquivering with 'A'
Ahe 'A' command would not let you remove a cursed item from the
quiver or alternate weapon slot.  But other commands such as drop or
quiver would let you get rid of such things since they aren't considered
to be welded in place the way a wielded weapon is.

     This seemingly minor bug is more significant than first appears
because it opens a loophole to allow you determine whether any held item
is cursed:  quiver it, try to remove it with 'A' and possibly be told
that it's cursed, really remove it with 'Q' if so.
2002-12-14 11:22:10 +00:00
nethack.allison
6b121e3231 monsters and lava follow-up bit
"aways" is not a word.
2002-12-12 11:30:04 +00:00
cohrs
d013f95679 B14006 - monsters and lava
- water elementals now get a special message when they land in lava
- rather than track down all places where non-moving monsters can end up in
lava (or water, not that it currently matters), add a check to mcalcdistress
to catch all such cases, once per turn.
2002-12-12 04:28:28 +00:00
cohrs
aec4a1aa8e no renaming of unique monsters with proper names
Not all leaders and nemeses have M2_PNAME set, so they require an extra
check to result in the expected behavior.
2002-12-12 02:41:05 +00:00
nethack.allison
98eab9a37f beta15 2002-12-11 03:22:38 +00:00
nethack.rankin
b90f50075d fire attack messages
Make sure the three instances of special fire effects stay
synchronized in the future by moving the relevant code into its own
routine.

     Shouldn't fire vortices and fire elementals also yield "already
on fire"?  How about ice vortices "melting"?
2002-12-10 10:21:28 +00:00
cohrs
5abb2e2a3d B14016 - monster detection of mimics
When display_monster was changed in 3.4.0 to take multiple sightflags, the
mimic case was not updated completely.
2002-12-10 06:22:22 +00:00
cohrs
68cfa968dd B14019 - pyrolisk vs flaming sphere
A 3.4.0 report, currently only the mdamagem gaze case caused the strange
"on fire" message for flaming spheres, but other attacks seemed like they
might result in a similar message, so I updated the damageum and hitmu
cases as well.
2002-12-10 05:07:09 +00:00
nethack.rankin
08ebae982a build fix 2002-12-09 07:03:22 +00:00
cohrs
7f50893e13 bouncing zaps
As From a bug report, don't let bounces go past the edge of closed
doors.  His suggested patch included some redundancy, which I've removed.
2002-12-09 02:07:29 +00:00
nethack.allison
9816ca5a5b Another switch to get_adjacent_loc() 2002-12-09 02:06:40 +00:00
cohrs
167231f9ad B14017 - skeletons and initial armor
Add another check to m_dowear to allow skeletons to wear the leather armor
they're created with.
2002-12-09 01:29:04 +00:00
cohrs
989f1cba5b B14018 healing mimics
Add missing newsym
Also fixed up some inconsistent indentation
2002-12-08 21:02:27 +00:00
nethack.rankin
b57bc61a80 jousting
Part I:  it's possible to use two-weapon combat while wielding a
lance (which seems odd to me); the second weapon would hit even if the
the first delivered a lance jousting blow that knocked the target away.

     Part II:  always getting the joust knockback effect when hitting
with a lance while mounted was too powerful; implement a suggestion
from the newsgroup that it be a random chance based on skill level.

     Related:  it's now possible to break your lance when hitting; when
adding that, I noticed that it was theoretically possible (didn't try
to reproduce) for a shattered boomerang or mirror to yield the stagger
bonus sometimes given for unarmed attacks.
2002-12-05 02:07:20 +00:00
cohrs
9b1b13ef1d fix up several death messages
<Someone> reported several incorrect death messages
1) "petrified by deliberately gazing at Medusa's hideous countenance" is
too long and won't fit on the tombstone.  I reworded it, which also better
reflects that Medusa's gaze is really an active attack.
2) "killed by war hammer named Mjollnir" for partly identified Mjollnir now
says "killed by a war hammer named Mjollnir".
3) "using a magical horn on himself" was missing the "killed by" prefix
4) there were supposedly cases the the a/an article was missing after being
killed by a monster.  I didn't see where this was occuring (eg AoLS resets
killer_format before it returns), but now done_in_by always resets
killer_format, which should address any such cases.
2002-11-28 20:44:54 +00:00
cohrs
bc88e8440e effect of webs while mounted
Prompted by a message to the list from <Someone> which noted that your
strength controls the traps effect, not the steed's strength, although the
messages say otherwise.  Changed this case to use mintrap to determine what
happens.
2002-11-23 18:36:54 +00:00
cohrs
f155a4b0d3 U154 - crash on teleport from engulfing mon
teleds now needs to handle the case where an uncarried ball starts out
inactive, but becomes active as a result of teleporting out of a monster
while engulfed.
2002-11-22 03:55:48 +00:00
cohrs
d3e2f53910 B14014: soft hats and piercers
Soft "helmets" don't protect against falling rocks, but did protect against
piercers.  Update the checks so only hard (metallic) helmets provide this
protection.  The same report quibbled about using the word "helmet" for
soft head coverings.  This patch does not address that quibble.
2002-11-21 18:05:48 +00:00
nethack.rankin
7b9f2f6e3e stealing heaven
Fix the reported problem of getting impossible warnings for unpaid
inventory items during final disclosure if you level teleport out of
the dungeon while holding shop goods.  The fix makes you trigger a shop
robbery first; that required a minor end of game change to prevent the
shopkeeper from seeming to tag along (shk would take your possessions
as if you'd died on the shop level).
2002-11-21 00:47:12 +00:00
nethack.rankin
5701729bc1 fix B14013 - experience calculation
Put in the missing parentheses that <Someone> reported; I don't know
how much that's going to impact experience calculations.  Also, update
some related code that didn't reflect the increase in default speed
from 10 to 12 back in 3.3.0.
2002-11-20 22:44:15 +00:00
cohrs
9b69eb43e5 rolling boulder hits an unmoving boulder 2002-11-18 22:37:38 +00:00
nethack.allison
abd3df2871 get_adjacent_loc()
use get_adjacent_loc() rather than getdir() directly for some things where
you want to ensure valid adjacent coordinates are returned

<email deleted> wrote:
>>> [...]
>>> I've noticed that the loot adjacent spot code doesn't have any
>>> isok(x,y) test, so will risk crashing if used at the edge of
>>> the screen (whether deliberately, or accidentally due to being
>>> confused or stunned when picking the direction).

>> Would this not be a problem elsewhere, such as use_leash() too?

> Yes, that looks like the same risk. getdir() doesn't validate
> that the <u.ux+u.dx, u.uy,u.dy> is safe and neither does m_at(),
> so their callers need to.
>
> I did manage to provoke a crash with #loot on the plane of earth,
> although an accidental case would be a lot less likely to happen.
2002-11-17 18:43:45 +00:00
cohrs
330bdb7d1a Wand of digging in a shop crash
From a bug report.  I haven't looked closely, but I think this bug is just
in the development code.  If you dig in a shop with a wand while carrying
unpaid stuff, the shopkeeper would grab your pack, including the wand but
w/o clearing current_wand.  It seems the right thing is to just not grab
the current_wand, since it's not in your pack while you're zapping it.
In 3.4.0, you lost the wand too.
2002-11-16 05:31:23 +00:00
cohrs
eb906b1b8f shopkeeper falling thru a hole left unpaid objects unpaid
Reported to the list.  Player breaks a wand of digging causing the
shopkeeper to fall.  This didn't clear unpaid items.  For now, this can
only occur due to player action, so added a call to make_angry_shk to
handle this situation.
2002-11-15 07:32:52 +00:00
cohrs
d2476b5151 level teleport and sleeping steed
If you level teleported while on a sleeping steed, a panic and possibly a
crash would occur.  I believe the same would occur by digging a hole.  This
was due to keepdogs avoiding keeping sleeping pets.  In these cases, it
seems there's no reason for the sleeping steed to _not_ accompany you.
Since other ways of changing level (eg stairs) don't allow this, just added
a check to keepdogs to allow the steed to go with you.
2002-11-15 04:58:28 +00:00
nethack.rankin
e3b20b8a9f de-sparkling explosions
From the newsgroup:  explosions handle their own shield effect
display for resisting monsters and it was ignoring user's negation
of the sparkle option to suppress shield effect.
2002-11-13 23:08:04 +00:00