Commit Graph
100 Commits
Author SHA1 Message Date
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
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
cohrs ed39497b21 tty autocomplete
Change tty extended command autocomplete, based loosely on <Someone>'s
patch, to allow you to type autocompleted characters.  That is, you can type
characters the autocompleter inserted without invalidating the command.
I haven't looked closely, but at least some other windowport extended
command readers seem to already behave similarly.
2002-12-12 06:16:39 +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
cohrs de45cdcc61 various message cleanups
As From a bug report.
- tengu is plural, some true rumors spelled it "tengus"
- Caveman quest messages shouldn't contain the word "human" since not all
cavemen are human, changed such messages in various ways
- fix a typo in a Wizard quest message
2002-12-12 02:35:44 +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
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
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
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 2492ed0de1 comment bit
mtrapped comment didn't mention webs
2002-11-28 19:13:01 +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
cohrs 9b69eb43e5 rolling boulder hits an unmoving boulder 2002-11-18 22:37:38 +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
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
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
cohrs 75f0c5db52 more cmdassist
Add the patch I suggested last week to show cmdassist help for the
various prefix commands.
2002-10-27 16:36:30 +00:00
cohrs b4664e981f B14009 order of altar feeling messages
Special case the altar feeling messages to avoid saying you're feeling
the altar and then saying there's an altar here.
2002-10-27 16:30:35 +00:00
cohrs afbfd72271 B14008 splash when dropping things in pools
Added code to flooreffects() to implement this suggestion from <Someone>.
It kicks in while blind, only affects objects of some bulk, and also only
things dropped at your location.  The map_background currently doesn't
do anything since the dropped object is remembered on top, but this will
avoid a bug if we ever add invisible objects.
2002-10-27 16:13:17 +00:00
cohrs 2c926521c1 consistent sokoban guilt for polymorphing boulders
Discussed a while back in the newsgroup.  casting Stone to Flesh on a
Sokoban boulder would affect luck, but simply polymorphing a boulder would not.
2002-10-24 05:43:40 +00:00
cohrs ff8512b36b is_lminion should only match lawful minions
When Angels were introduced, they were always lawful.  Somewhere along the
line, non-lawful angels were added, but is_lminion and uses of it was never
updated to address this change.  Among other things, this resulted in
non-lawful angels delivering messages via #chat that are only appropriate
for lawful angels.  That is addressed simply by changing the definition of
is_lminion, which must take a struct monst, not a permonst, to return valid
results.  Also, non-lawful angels should summon appropriate monsters, not
lawful minions.
2002-10-24 04:13:56 +00:00
cohrs 71480033c6 B12010 - boulders in throw menu for giants
When the player is poly'd to a giant, it was a bit odd that boulders
weren't listed in the throw menu, especially since the usual check for them
is throws_rocks.  Since statues are not appropriate, I added this thru yet
another ugly check in getobj.
2002-10-24 01:40:58 +00:00
cohrs 1469d772ff U77 - pits in drawbridges
dighole dealt with holes in drawbridges, but digactualhole did not
2002-10-19 18:42:46 +00:00
cohrs cb38d0882d B14001 - Stinking clouds in bonesfiles
Incorporate a fix from <Someone> that resets the timestamp on
stinking clouds left in bones files.  This does allow the cloud's ttl to
restart.  Extended it to reset the player_inside flag.

Then noticed that the only placed that called in_out_region was domove().
Added calls when changing levels (which causes player_inside to be set
correctly if the cloud covers the location where the player starts on the
bones level), teleporting, and inside hurtle_step.  There are still other
places that fail to call in_out_region, which others may choose to tackle.

I split out the remaining stinking cloud bug reported in the same e-mail
into a separate betabug.  That one probably cannot be addressed without
changing the level file format to track the creator.
2002-10-16 06:30:36 +00:00
cohrs bb732e194a B13004 spellbook destruction
When reading a cursed or too-hard book that's covered in contact poison
(presumably in the too-hard case, reading it made the poison), and you die,
the book would not be in the bones.  remove in_use mark while assessing
damage.

On the other hand, not From a bug report, the message in the "6" case says
the book explodes, but had a 1/3 chance of not disappearing in the normal
case, and 100% chance of remaining if cursed while reading - when the
player survives.  Return a flag to allow the book to be destroyed in this
case.  No work needed for the death case; in_use is set.
2002-10-16 05:46:20 +00:00
cohrs 2fa61ea7ee B12002 - displacing pets thru narrow openings
Add another check to domove to detect an attempt to displace a pet through
a narrow opening.
2002-10-14 16:08:07 +00:00
cohrs db73f34150 debug commands: lightsources and monpolycontrol
Given no objections to Pat's suggestion, putting back in the change to make
the newest debug commands consistent with the others, removing the space
from the former and the underscore from the latter.
2002-10-14 00:20:38 +00:00
cohrs a8f4069c30 B10005 fire traps under water
<Someone> reported that after pushing a boulder into a pool location which
contained a fire trap on the bottom, that the trap wasn't destroyed.  Added
missing delfloortrap call.
2002-10-14 00:10:44 +00:00
cohrs c3c11f9081 B12009 invisible nymph preposition consistency
<Someone> reported the messages "It seduces you and you take off your
robe. She stole a burnt +0 robe."  I noticed the 2 cases here only dealt
with blindness, not seeing the nymph in general.  Also, one case forced
"She", the other "It".  Now they both say "She", which is consistent with
the preposition in the 2nd message.  We'll continue to the assume the
gender of the seducer is obvious, even when unseen.
2002-10-13 06:54:01 +00:00
cohrs 653c6e595b more info on the sound option 2002-10-13 05:46:17 +00:00
cohrs 3663175bdf sound option in Guidebook
E-mail report from <Someone>.  "sound" option wasn't document.  I also
noticed that the SOUND and SOUNDDIR config file entries were incorrectly
named in lower case, and documented as "options", which they aren't.
The Guidebook calls SOUND an entry later on, so call them that earlier as well.
2002-10-11 22:40:33 +00:00
cohrs 299dfffc04 intones with sound option disabled
E-mail report from <Someone>.  Don't display the "intones:" prefix when
!soundok since the message suffix won't be displayed in this case due to
a check within verbalize().
2002-10-11 22:16:22 +00:00
cohrs 34f66394c2 bones while swallowed
Michael pointed out that bones will never occur while swallowed because
makemon of the ghost will always fail.  I suggested that the outcome made
sense, since your body may be digested, torn apart, whatever.  But, there
was no explicit check for this to make it obvious this was occuring.
2002-10-11 21:30:40 +00:00
cohrs 9de0ebd7a6 creating nasty monsters on boulders
<Someone> reported that a Titan summoning nasty monsters via a spell
resulted in various monsters being placed on locations containing boulders.
nasty() was using the summoning monster's type to decide where to place the
summoned monsters.  Note that this could theoretically also cause
inappropriate monsters to be placed in water, lava, walls, et al.
Rearranged the code to pick the monster type first.
2002-10-11 15:59:14 +00:00
cohrs 096ac17d8c back out accidental mod
In my previous patch, I accidentally included a change to wizard mode
commands I had not indented to apply at this time.
2002-10-10 21:16:33 +00:00
cohrs 84e3c1aac9 B13002 - negative protection
implement Michael's suggestion to tweak the protection message when your
protection is negative.
2002-10-10 21:13:05 +00:00
cohrs 3738c42da2 B12008: more stoning quest nemeses 2002-09-30 17:22:10 +00:00
cohrs eb86874a71 Guidebook.txt sync 2002-09-30 03:42:29 +00:00
cohrs 15240f55cd purple worms affected by corpses
Forwarded from the newsgroup as noting that dropping a chameleon corpse
into a purple worm did not cause polymorph nor will the digestion attack.
Added code to dropy and mdamagem to include special corpse effects like
those in dog_eat and meatobj.
2002-09-01 14:57:28 +00:00
cohrs 36905aaf96 U29 - mounting steed gets thru tight spots
Mounting a steed would work even when done diagonally at a doorway,
such as a shop door.  Use test_move to check for all such moves and disallow
the mount in this case.
2002-08-30 06:17:41 +00:00
cohrs 38c663056c short int
A fix from <Someone>: "this code only claims to inform the leader if mshort
is set i.E. sizeof(int)<=16."
2002-08-30 03:11:22 +00:00
cohrs 081edea253 improperly terminated quest message
Add a missing check to makedefs so it prints a warning about misplaced %Es.
Fix a couple places in quest.txt pointed out by the new warning.
There's no visible effect on play, since the code that actually reads the
message keeps reading until the next %C.
2002-08-27 03:56:28 +00:00
cohrs 4aa5bceb1f B09002 - killing monsters seen by infravision
ohitmon was incorrectly using location visibility in a couple places where
monster visibility was more appropriate.  I'm still not sure about the
canspotmon check for destroy vs killed.  Similar checks do no appear
elsewhere in the code.  But at least now the 'destroyed' won't be shown
for a seen, living monster.
2002-08-26 15:31:51 +00:00
cohrs 9900fc1507 cancelling compound option change
Patch from <Someone>.  Accept escape when setting complex option as a cancel,
like most other prompts.
2002-08-26 15:23:06 +00:00
cohrs c3125ec0f9 hitting and mhurtle
Fix part of the buglist entry regarding hitting and mhurtle.  Flag if
mhurtle already killed the monster, and don't call killed again in this case.
One of the new checks for this already_killed flag is just futureproofing.
2002-08-23 05:47:54 +00:00
cohrs 59a96452ff B04006 - Grayswandir and unicorn horns
Implement a check in make_hallucinated similar to the check in make_blinded
to handle the case where your hallucination is cured but Grayswandir is
suppressing its effects anyway.
2002-08-22 00:13:03 +00:00
cohrs 2d2a20cdf0 R1049 followup
This patch handles the case of angering the town watch when breaking a wand
of digging damages walls or doors.
2002-08-21 23:36:47 +00:00
cohrs 5d492abf6f R1049 - various wand of digging bugs
- Breaking wand of digging dug through rock which should be undiggable.
Checks assumed pits would never show up in solid rock.
- Breaking wand of digging near shop walls wouldn't anger the shopkeeper
Checks assumed pits would never show up in walls, also, added a special
case to pay_for_damage to handle the case where you're falling thru and
can't be asked to pay.
- Shop walls wouldn't be restored if there are pits in the way.
Checks assumed pits would never show up in walls.
- If there was a hole outside the shop, you could kick stuff out of the
door into the hole without shopkeeper noticing.  Added the missing check.
2002-08-21 23:06:58 +00:00
cohrs a78e08d0c5 B08020 - partial fix for D<count>$ behavior
When GOLDOBJ is defined, dropping partial amounts of gold using the D
command would not work because gold currently has the same inventory letter
as the coin group accelerator.  In this case, the group accelerator should
not be used, since it confuses counts.  tty and X11 ports are fixed.  The
tty change should fix the Windows console version as well (untested).
2002-08-21 16:57:21 +00:00
cohrs d18027e570 tearing spellbooks while confused
Reported to the newsgroup, the code in study_book for the effect of
confusion on studying a book was never reached.  The study_book code
didn't completely handle continuing to read a book when you got confused
after getting interrupted.
2002-08-21 16:43:48 +00:00
cohrs aedda43f38 tearing spellbooks while confused
Reported to the newsgroup, the code in study_book for the effect of
confusion on studying a book was never reached.  Removed the deprecated
check from read.c
2002-08-21 16:42:10 +00:00
cohrs e1ea4460ce B08019 - growup followup
growup entries for all the orc types as <Someone> suggested, since generic orcs
almost never occur.
2002-08-21 05:14:10 +00:00
cohrs a372574583 B08018 - vision when breaking closed doors
Do vision_recalc immediately when blasting a door so that all the
subsequent messages for the same blast hitting other things are all
evaluated with the same vision in effect.
2002-08-21 04:48:17 +00:00
cohrs 379ffe2461 B08012 - tweaking travel and closed doors
- when testing travel locations, don't treat diagonal moves thru closed
doors as possible, unless player can go/dig thru door
- treat closed doors and boulders as expensive for travel, preferring open paths
2002-08-19 17:10:34 +00:00
cohrs c9a52fa6bd B07005 - opthelp cleanup
<Someone> of the PC window group noticed that lootabc & showrace were documented
twice and travel was documented in the wrong section.  Also, a couple
default syntax bits.
2002-08-14 07:04:19 +00:00
cohrs dee94b0410 handle 0 in DUNGEONS et al
As suggested by <Someone>, treat 0 entries in the various graphics symbol
specifications as leaving the value unchanged.
2002-08-13 04:18:46 +00:00
cohrs a8ac6f6cc6 forcefighting an undetected monster
Fix the case <Someone> saw, where forcefighting an undetected monster
would still leave it undetected, resulting in an odd message sequence unless
you kept forcefighting on the next turns.  This also left the monster at a
disadvantage, since it wouldn't fight back. Added a check to wakeup() for this
case, cutting off the possibilities and allowing the monster to fight back.
2002-08-12 05:57:40 +00:00
cohrs 5a42dcef98 B06005 - cancelling getdir prompt
- Changed a cancelled chat direction to abort the chat -- it seemed odd
that the old behavior would sometimes take time, sometimes not, depending
on the previous direction.
- Documented the current spelleffects behavior of re-using the last
direction after a cancelled getdir() & added a message.
2002-08-11 23:17:23 +00:00
cohrs 9d8782eb8f cut trees and dug walls replaced by corridor symbols
- In various places, cutting down a tree would result in a corridor symbol
showing up, although trees are generally found in room-like areas.  Added
the missing checks.
- Trees were diggable except on mazelike levels.  Added the missing check.
- In a cavernous town like minetn-6, digging a wall would result in a
corridor symbol being displayed instead of a doorway.  This looked strange,
especially in the town.  Added a check for this, making use of the new
meaning of in_town(); non-town parts of this level still do CORR
replacement as expected.
2002-08-11 17:40:08 +00:00
cohrs b4b5a0fe52 B02001 - trees and monster
<Someone> noticed that the change to require axes for trees (and allow them for
doors) did not extend to monsters.  Now it does.
- added 2 new weapon check flags to handle the new cases
- added some detailed digging flags to mfndpos, based on ALLOW_DIG, and
  moved some common logic regarding that flag into mfndpos
- made the ARMS check consistent for 2-handed weapons
I also noticed that simply carrying a pick was enough to allow a monster to
dig a door; wielding wasn't required.  This is fixed as well.
2002-08-11 17:32:47 +00:00
cohrs 16e548daf3 R1039 - update DnD trademark 2002-08-09 23:51:43 +00:00
cohrs 632cb9ffb0 R1037 - digging secret doors in town
I saw no secret doors in any of the towns, but in 340 (fixed in 341),
guards would patrol the entire level, so they might complain about secret
doors elsewhere.  Fix the check for future use.  Also, I noticed trees, eg
on minetn-6, weren't checked at all.  Now they are.
2002-08-09 04:06:38 +00:00
cohrs 66fe66b09a sync Guidebook to include changes thru today 2002-08-07 03:39:25 +00:00
cohrs d4925e67f6 B06012 - alternate/secondary weapon distinction
Put in the suggested rewording of Guidebook regarding the alternate weapon slot.
2002-08-07 03:26:50 +00:00
cohrs 82d134c29a B06011 - grammar bit 2002-08-06 05:04:14 +00:00
cohrs 1fb6ab3c9d R1034 - grape is not an ape
make the data.base entry a bit more specific so it doesn't match certain
valid fruit name choices.
2002-08-06 04:57:00 +00:00
cohrs 8d58c4d33e B06010 - lifesaving messages
If you fall in the water and drown, you get two "back on solid land"
messages, at least sometimes.  Guard the 2nd one.
2002-08-06 04:29:11 +00:00
cohrs a61e68069a Magic portals and levitation boots
From a bug report.  Removing levitation boots while hovering over
a magic portal causes the portal to be delayed since it takes time to
remove the boots.  This causes the portal to be taken via unmul in allmain.
At that point, the will activation message display but you won't teleport
until you type something.  Handle the delayed goto after unmul completes.
2002-08-05 00:57:21 +00:00
cohrs 132586f0b9 06009 - D/BUCX documentation 2002-08-05 00:20:10 +00:00
cohrs 869a600da8 R06008 - Ludios level in score list
<Someone> reported that the Ludios level is shown on death.  It's not
shown on the tombstone, but it was displayed in the topten list.
Now it's not shown in the topten list either.
2002-08-04 23:39:42 +00:00
cohrs 2d21a12ad5 R06006 - travel command infinite loop
The problem was caused by a test that was added to test_move() to test the
move as a regular move if it was the next step.  This case affected
boulders and closed doors, both of which are handled in later in do_move().
Remove the check.  I think this was something I thought was needed for an
intermediary version of the travel command fix, but turned out to be
detrimental in the current version.
2002-08-04 23:04:56 +00:00
cohrs 0823cb41be R1024 - Eyes of the Overworld effect delayed
The effect of the EOTO did not take effect until the next move.
Added a vision_full_recalc as suggested to resolve the problem.
2002-07-31 16:47:49 +00:00
cohrs 59c34c852b sync Guidebook 2002-07-24 04:20:07 +00:00
cohrs a21ddbb2bf minetown guards outside the town proper
Pat forwarded a message from the newsgroup in March that the town guards
enforce rules even outside the town proper.  Fix: On room-based town levels,
check if the location is in a room containing subrooms (roomno will often
have a subroom id instead).  On the other levels (e.g. minetn-5), there are
no subrooms, so the whole level is fair game.  Currently, this is valid.
If fancier towns are added in the future, more flags or use of regions may
be required to tell where the town border actually is.  These checks are done
in a new in_town function.
2002-07-15 04:17:13 +00:00
cohrs b440613866 B04010 - paper golems and fire traps
Paper golems take 100% damage in a fire trap.  Straw is very flammable
unless tightly packed, but straw golems have a lot of surface area, so give
them 50% damage.
2002-07-14 22:10:33 +00:00
cohrs 5d530348d4 containers and objects in special level descriptions
On mazelike levels, containers had to be listed before their objects.  But,
for roomfilled levels, containers had to be listed _after_ the objects.  All
our current levels that use containers with objects are mazelike, so I
changed the room behavior, updating the comment in lev_comp.y to match.
Other items/monsters are still processed in reverse on roomfilled special
levels, but I think this is OK.
2002-07-14 20:17:45 +00:00
cohrs 909e262a6f B04005 - leash and uncontrolled teleportation
<Someone> reported that after an uncontrolled teleport due to eating a
leprechaun, his leashed pet was still leashed until he took one more step.
The usual approach which included disallowing the teleport seemed wrong in
this case, so I put in an abbreviated version that does its checks but does
not disallow the teleport.  The pet teleports with you in the same cases as
other teleports, but when it doesn't, the leash snaps loose.
2002-07-14 03:06:19 +00:00
cohrs adc4094d50 dwarvish indecision
<Someone> (and later <Someone>) reported along with several other
things of a dwarf that stood in place and switched between his pick-axe and
broadsword on successive turns.  Fixed by bringing the logic in the two
cases in line.  The code now prefers to leave the hostile dwarf with a weapon.
2002-07-14 02:48:27 +00:00
cohrs 1238854154 R888 - panic while quaffing a potion of levitation
Now that the in_use flag is set for potions being quaffed, use the in_use
flag in general in destroy_item to avoid destroying the in use object, on
the assumption that the caller will call useup when finished.  There are a
few places that set then unset in_use, but these don't currently result in
a call to destroy_item.  The current_wand hack was not removed, since its
logic appears to allow destroy_item to still destroy the item.
2002-07-13 23:06:22 +00:00
cohrs 05e993d48e B04004 - naming polymorph potions
Provide a chance for the player to name a polymorph potion if you dip
something into it and nothing happens.
Also fix several places in dipping and drinking potions where the HUP cheat
would allow you to use the potion a 2nd time, made more important since
the polymorph sequence includes what is currently a unique message.
2002-07-13 22:27:01 +00:00
cohrs 35914ed186 R919 - applying lances
Fixes 2 bugs:
1) an impossible() could occur if you applied a lance against a long worm
because the code uses thitmonst to do the hitting, but didn't set bhitpos,
which is required before calling thitmonst.
Add the missing assignment.
2) applying a lance would never mark a knight as a caitiff.  Added a new
check_caitiff function and called it from the 2 existing checks and in
the lance code.
2002-07-11 05:16:27 +00:00
cohrs 568b8de533 kicking and killing an unseen monster
<Someone> reported that kicking [unlike hitting] an unseen monster
to death would leave an "I" on the screen.  This was due to a missing
DEADMONSTER check.  I also noticed that code to avoid leaving an extra "I"
behind when a monster jumps of of the way was only half right, resulting in
an extra "I" anyway.
2002-07-09 04:21:58 +00:00
cohrs 034892d5a8 NO_TERMS bug
From a bug report, a missing check for defined(NO_TERMS) in pcsys.c
would result in a link time error.
2002-07-09 04:09:09 +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 c03c25b045 B01021 - Samurai quest doors
<Someone> wondered why there were no DOOR:nodoor specs for several doors in the
Samurai quest.  I wasn't positive, but it seemed like these should have
been DOOR:closed, which is what I've added.
2002-07-07 20:57:13 +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
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