Commit Graph

825 Commits

Author SHA1 Message Date
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
nethack.rankin
a6d0e7f0b9 more unused code tweaking 2002-11-10 09:32:55 +00:00
nethack.rankin
1ca589adc0 fix up some unused code 2002-11-09 05:36:13 +00:00
nethack.rankin
e639c09f58 fix B14012 - polymorph of monster possessions
Forwarded from the newsgroup:  when a monster gets hit by wand or
spell of polymorph, any armor that fell off was protected from being
hit by that same zap, but a dropped weapon wasn't.  Nor was the whole
dropped inventory in the case where the monster is killed by system
shock rather than transformed.  Protect its entire inventory.
2002-11-08 12:45:58 +00:00
cohrs
52d1737294 teleport control, confusion and stunned
Being Stunned now disallows teleport control.  Confusion may affect ability
to control level teleports, but only after asking for the destination.
Made confused level teleport failures based on luck too.
2002-11-07 18:52:00 +00:00
cohrs
f2cc8a0dbf salamanders have no legs
However, they could ride.  Marilith is similar, but since it's MZ_LARGE,
that check disallowed riding.  Added a check for slithy(), like
canwearobj() already has.
2002-11-07 18:24:31 +00:00
nethack.rankin
836d600080 remove curse tweak
When reading an uncursed scroll of remove curse, don't uncurse
an item "worn" in the quiver slot unless it is actually ammo or other
missile weapon.
2002-11-07 03:55:51 +00:00
nethack.rankin
46db4cb5a4 high temple entry
From the newsgroup:  temples attended by high priests on the Astral
Plane (also in Moloch's Sanctum, although that one doesn't really matter)
give a different entry greeting than usual in order to conceal the altar's
alignment, but they were including the patron deity in the priest name
given as presenter of the message ("The high priest of Offler intones:").
2002-11-07 03:27:37 +00:00
nethack.rankin
4d145fac06 fix B14011: vault wall repair
From the newsgroup:  traps created on the location of dug out vault
walls would be left in place when/if the vault guard repaired the walls.
Since known traps get precedence over walls when drawing the map, this
produced a display oddity in addition to the topological one.

     It also appears that monsters in affected spots wouldn't be handled
correctly if they happened to be in a direct horizontal or vertical line
with the guard.  I don't know whether that matches any of the assorted
unresolved old vault bugs.

     This eliminates a chunk of redundant code by merging two loops.
2002-11-07 02:56:19 +00:00
cohrs
e3b9c00826 B13009 - Teleport Control and confusion
Only allow level teleports to be controlled when not confused, just like
regular teleports.
2002-11-04 22:11:35 +00:00
cohrs
4af82192bc B14010 - nausia and reading spellbooks
Pulled out the code that handles reading spellbooks while confused into a
new function that can be called from learn() to handle the timed onset of
confusion starting while you're reading.
2002-11-04 22:07:23 +00:00
arromdee
f7075b2cd2 cancelled yellow lights
Someone reported this one to us.
2002-11-04 06:55:55 +00:00
nethack.allison
7f65d67a2c bold titles on Options menu (from <Someone>) 2002-11-03 15:41:48 +00:00