Commit Graph
100 Commits
Author SHA1 Message Date
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
cohrs e8dc88c950 rotten food and veggie conduct
<Someone> reported (in April) that eating cursed tripe, for example, did
not violate vegetarian conduct.  This patch moves the various conduct
checks into common code that is executed before the rotten state of food is
determined.
2002-07-07 05:07:53 +00:00
cohrs 3a946944a4 B01014 - chop through
The rest of B01014 was fixed by my fix for B03003.  This fix just
changes the verb as suggested.
2002-07-05 17:37:31 +00:00
cohrs 194e43f882 messages when destroying a chest
Remove the special case of "the" vs "a" in chest_shatter_msg(), just
use an/An as appropriate.
2002-07-05 15:58:16 +00:00
cohrs 82389171d0 documentation bit
document which strings correspond to which capacity levels
Suggestion from <Someone>.
2002-07-05 15:37:47 +00:00
cohrs 421ec1767f restore autodig behavior
autodig messages were broken due to a change in the dig_typ interface which
shifted all the values by 1, but not all callers of dig_typ got changed.
2002-07-05 15:30:51 +00:00
cohrs 26381228bc knights and covetous monsters
Implement Pat's suggestion of setting the mavenge flag when a covetous
monster flees, since they may subsequently teleport back and attack even
if mflee is set.
2002-07-04 19:13:10 +00:00
cohrs 2a058618e5 B03002 followup
copied over the wrong version of fountain.c
2002-07-04 18:27:22 +00:00
cohrs 0859b5d30a B03002 - missing fountain messages
<Someone> reported that dowaternymph and dowaterdemon did not print a message
when their G_GONE checks failed.  Now they do.  I wasn't feeling
imaginative, so the the dowaterdemon message is the same as for no snakes.
2002-07-04 18:25:26 +00:00
cohrs 2c6a1eb7e1 R972 - rust monster eating gold
When !GOLDOBJ, player polymorphed to a rust monster that attempted to eat
gold in the inventory would fail to eat it, but the gold would be consumed
anyway.  Under GOLDOBJ, a later check would work around the invalid prompt.
2002-07-04 17:47:18 +00:00
cohrs ff68892016 B03001 - trapdoors while blind and levitating
The seetrap() was done for trapdoors & holes independent of whether a
message was printed.  Move the seetrap call into fall_through where
the message logic lives (Sokoban holes always activate).
2002-07-04 17:29:42 +00:00
cohrs 8a44a437e5 R926 - polymorphed player does not explode at thin air
Reported that player polymorphed into an exploding monster does not explode
when attacking thin air.  Also noticed that if player is Unchanging, they
wouldn't die after exploding in the existing code.  Set u.mh = -1 to ensure
they won't still be around after exploding.
2002-07-04 06:36:37 +00:00
cohrs 9d51c1853a cursed daggers thrown by monsters can go thru closed doors
based on a bugfix forwarded by <Someone>, check for closed doors and drop
the missle before it.  I re-arranged the pre checks a bit so m_throw no
longer needs to trust the caller to ensure everything is OK beforehand.
2002-07-03 06:35:35 +00:00
cohrs c6ec3e35a7 dropping gold on an altar
<Someone> reported that dropping gold on an altar prints no message.
As a side effect, gnostic conduct was never affected, which seemed odd;
dropping other known objects would still affect your gnostic conduct.
While fixing this, I noticed a GOLDOBJ-related bug when dropping gold while
levitating.
2002-07-02 05:55:23 +00:00
cohrs 2c277e15d1 R975 - message for charging for items lost in a cursed magic bag
The loss message was not always printed due to testing the wrong variable
before printing the message.
2002-07-02 04:14:59 +00:00
cohrs 0acba3f7db paniclog: log correct string 2002-07-01 23:06:01 +00:00
cohrs 0ad86ebfd9 yet another missing FOUNTAIN spec
<Someone> just reported this.
2002-07-01 04:21:45 +00:00
cohrs fbdc238f33 grateful frozen monsters
a frozen (possibly sleeping) monster cannot be grateful unless it wakes up.
From a bug report.  The pit case can only happen if mfrozen is
non-zero, but other traps may leave msleeping set as well.
2002-07-01 02:44:26 +00:00
cohrs 032f701e9d fix a typo, then -> than 2002-07-01 02:27:19 +00:00
cohrs a868473df6 feeling monsters while blind and levitating
<Someone> reported this during 3.4.0 beta.  If you are blind and levitating,
unseen monsters are shown as "I", just like when not levitating, but they
are never erased after they move, unlike not levitating.  Display this
case correctly as well.
2002-06-30 22:29:58 +00:00
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
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
cohrs 60e26a84ae NOCWD_ASSUMPTIONS followup
Michael's VAR_PLAYGROUND update
2002-06-29 15:12:15 +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
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
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 7e6f7a40b8 no unfinished stone in minetn-5
- based on a "bug" report, change an unfinished stone to a regular wall
2002-05-21 16:02:03 +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
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
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 b1fe51e80b R765 - minetn-6 could have cut-off downstairs
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.
2002-04-24 03:53:10 +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 7c0e55e6aa fix diggable luckstone location in minend-3
<Someone> reported that one of the 3 random luckstone rooms in
minend-3 was diggable, while the other 2 were non-diggable.  Fixed bounds.
2002-04-22 04:39:18 +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 310e466162 more portable Gnome uid workaround
- incorporate a more portable way of calling the real getres*id() functions
on Linux platforms that uses the glibc interface rather than calling
the system call directly.  The previous version didn't work on ia64 linux.
2002-04-21 23:59:52 +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 d79e5a8917 R812 - tty color/inverse video interaction
With some TERMs, disabling inverse video also disables color.
Work around: explicitly turn off color when turning off inverse video.
2002-04-21 19:01:57 +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
cohrs b1055ae7c1 Gnome updates (from <Someone> <Someone> Simon)
- fix destruction of primary game windows
- One, it makes the color of the cursor box dynamic (these are the gnmap.c
changes), based on hp/hpmax (continuous colors white -> yellow -> red ->
magenta rather than discrete like in Qt).
- Two, it adds a new window, NHW_WORN (all the other changes and new files
gnworn.[ch]), placed at the end of the first row, to the right of the status,
with tiles of all the items currently equiped.  I had to change the spacing of
the first row (no longer homogeneous) to accomodate this, but I think it still
looks okay.  It's mostly like the Qt version but the equiped items are in
slightly different places, and a bit more compactly (added quiver, ball/chain,
monster skin armor; see the definition in gnworn.c for the layout).
2002-04-21 17:09:34 +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
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
cohrs 27fb054937 polymorph engulfing monster display bit
- <Someone> reported that the swallowed display did not update immediately if
you managed to polymorph the monster that was engulfing you into another
engulfing monster
2002-04-15 15:33:44 +00:00
cohrs 6502474697 more prayer tuning
- Don't guarantee high results when you have high Luck, add Luck into
random param of rn1(), and just add 1 to the basis, keeping the guaranteed
fix of a single major trouble mentioned in the block comment
2002-04-15 14:56:39 +00:00
cohrs d3078778eb waking waiting monsters after non-damaging attacks
- From a bug report, there are ways to, for example, steal items
from Medusa without waking her, by clever use of Conflict.
Avoid this by removing STRAT_WAITFORU when such an attack succeeds
- it was theoretically possible to use a similar approach to steal from a
STRAT_WAITFORU monster without it noticing while polymorphed and very fast,
so bulletproof this case as well.  Simpler because failed attacks wake too.
2002-04-15 07:00:00 +00:00
cohrs 86f961ba3f crash fix: shopkeeper re-entering shop
- when a shopkeeper leaves the shop to chase the player, and the player
enters the shop, bill_p is set to an unusual value.  bill_p needs to be set
back to a valid value if the shopkeeper re-enters the shop.
- Also, the u.ushops state needs to be updated when a shop becomes tended
again if the player is in the shop.
- introduce a new after_shk_move function to handle this
2002-04-15 06:43:55 +00:00
cohrs b6be8e8af1 stale pickup_burden message in tty after
- tty interface left a stale prompt on the topl, clear it
2002-04-14 21:59:53 +00:00
cohrs 1ca03c750d tty message loss
- typing ESC would lose messages if msg_window was not displayed
- incorporate <Someone>'s fix, which causes them to be tracked, just not
displayed, and thus still available for ^P viewing later on
2002-04-14 21:45:33 +00:00
cohrs c850007966 trapped monsters
A suggestion from <Someone>
- since newsym marks physical traps that have a monster trapped as seen,
and the ^ command will tell you what it is, lookat() can tell you about the
trap too
2002-04-14 06:44:46 +00:00
cohrs 1a5f501758 R772.2 - potions of acid in pools
- mixing potions of acid and water result in an explosion, so water_damage
should cause a potion of acid to explode as well
2002-04-14 06:09:00 +00:00
cohrs d3135ffe1c R778 - prayer bit
- need to use min() not max() for action choice when not on altar
2002-04-14 04:46:11 +00:00
cohrs 9174a9030a remove prescient travel command behavior followup
- applied an intermediate version of the fix which had a bug in choosing
the intermediate location
2002-04-13 16:27:58 +00:00
cohrs 1b321e92bc remove prescient travel command behavior
Addresses reports R718, R772.1, <Someone> P's extra move bug
- when there is a previously seen path or a straight path, always take it
- incorporate fix to ensure no extra "." turn at the end of traveling, but
 still avoid stepping into traps/pools, et al
- include a general "G"-command (and travel) fix to avoid stepping in
 known pools/lava while blind
- when there is no such path, "guess" at a path by finding an intermediate
 location that the hero couldsee that is closest to the actual goal, the
 intermediate goal is re-determined at each step
- when Blind, don't use couldsee for determining straight paths, just direction
- do not consider doors or most boulders obstacles for picking travel
 paths, test_move has a new mode to differentiate this case from the regular
 test case
- don't include known trap locations in the travel path, avoids unnecessary
 stops along the way, and usually doesn't affect the path length
- reformatted the code a bit so I could follow it
2002-04-13 16:00:13 +00:00
cohrs 05fb883473 unix: install recover command by default
- Update Makefile.top to do the deed
- Update Install.unx and README.linux to reflect the changed install procedure
2002-04-07 19:05:07 +00:00
cohrs 268b70e4e3 R759 - delayed were change could cause crash
moveloop() sets a flag when a were/poly change should occur, but it
delays this change if the hero is Unchanging or cannot be interrupted (e.g.
praying).  However, by the time the change can be applied, the reason
may no longer be valid.  Reset the change indicator when this is the case.
Avoids possible strange polymorphs and were crashes.
2002-04-06 17:24:15 +00:00
cohrs 63262053ee another pass at preserving the Burdened message
- this is brute force, always update the status line each time you
insert something into a container.  If you look closely, you may still
see the Burdened message disappears momentarily doe to the many possible
messages between the freeinv() call and the point where the object is
actually put into the container.
2002-04-03 07:17:55 +00:00
cohrs 6610d63f1d no wisdom bonus from random Elbereth engravings
- check !in_mklev before giving credit for engraving Elbereth
2002-04-02 17:13:35 +00:00
cohrs 5c1ea899bf ensure touch_artifact is always called via hold_another_object
- remove the touch_artifact calls just added
- put a check into hold_another_object itself, based on the complete check
removed from makewish
2002-04-02 05:32:02 +00:00