Commit Graph

2063 Commits

Author SHA1 Message Date
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
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
warwick
d82393d891 Apelike creatures now have a sensible category. 2002-10-31 08:39:17 +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
nethack.rankin
fc558bfff4 fix B14003 - "bashing" with mounted polearms
Attacking with a polearm while mounted behaves differently than
while on foot, so make mounting and dismounting when wielding one adjust
weapon status accordingly.  Don't give a bashing message on first attack
if you mount with a polearm already wielded; do give one on your next
hand-to-hand attack if you just dismounted with one wielded.
2002-10-21 10:20:29 +00:00
nethack.rankin
31259d35c9 wizard mode mapping
Override confusion and hallucination when revealing the map with
<ctrl/F> in wizard mode.  This also renames the `#poly' extended command
to `#polyself' and adds several one-line comments.
2002-10-21 08:57:39 +00:00
nethack.rankin
810386390e eating mimic corpses
Don't mimic gold if you are Unchanging at the time you eat a
mimic corpse.
2002-10-21 08:19:17 +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
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
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
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
nethack.rankin
2c3964e619 #dipping from steed
Fix the reported bug of an unskilled rider who is unable to pick
items off the floor while mounted still being able to dip into water.
There might be other actions which need similar checking; this one only
handles the dip into pool/moat case.
2002-10-11 00:46:37 +00:00
nethack.rankin
bfd4af4388 fix B13006 - Unchanging-poly self-genocide
<Someone> reported that killing yourself by picking your current
monster class as the target of a blessed scroll of genocide while
polymorphed and wearing an amulet of unchanging would result in
"killed by genocide" rather than "killed by a scroll of genocide".
That wasn't the only problem here; it also ended the game right away,
before genociding the rest of the class of monsters; that could affect
the contents of a resulting bones level.

     Also, the 3.3.0 race/class split resulted in getting the message
"you feel dead inside" twice if you were a human or elf character who
genocides '@' while polymorphed into some non-@ form.
2002-10-05 08:24:12 +00:00
nethack.rankin
cd62daa465 fix U88 - invisible hero didn't sense self via ESP
If the character was invisible without being able to see invisible,
his location on the map showed any object there or underlying topology
instead of the hero even when monsters could be seen with infravision,
ESP, or sustained monster detection.  The ESP case required an amulet
or helm or quest artifact to be noticeable because being blind overrides
being unable to see invisible, so the more common form of telepathy
didn't exhibit this behavior.
2002-10-04 02:46:02 +00:00
nethack.rankin
075425a9ac unicorn horn dipping
Implement <Someone>'s suggestion for addressing <Someone>'s
complaint about the inadequate feedback given when dipping a unicorn
horn into a potion to convert it into water.  (Mainly, if the potion
has already been given a name, you won't be prompted to give it one
when dipping transforms it; if that was the last one you had, getting
"The potion clears." isn't sufficient to let you keep track of what
type of potion was cleared.  You still have to keep track of such
stuff yourself, but now you'll get "The swirly potion clears." so you
at least don't have to start remembering or recording the type prior
to dipping.)

     The hallucination handling isn't very useful; the description is
given will full accuracy by the immediately following inventory update.
2002-10-02 21:33:08 +00:00
nethack.rankin
b541bbef1d sleeping shopkeeper
Fix the reported problem of a sleeping shopkeeper advising you
to be careful about digging.
2002-10-01 08:51:28 +00:00
nethack.rankin
c3a9637ba7 touchstone use
Make touchstones more convenient to use after they're identified
by only listing unknown gems as likely candidates.  This doesn't prevent
other stuff from being rubbed on them, just alters the prompt string and
the subset of inventory shown for '?'.
2002-10-01 07:23:10 +00:00
nethack.rankin
db9f82bed4 removing forgotten rings
Removing a ring of protection/strength/constitution/charisma
which has been made unknown by amnesia might reveal what it is due
to status line changes, so relearn it when that happens.  This also
consolidates the three characteristic enhancing types into one case.
2002-10-01 06:20:36 +00:00
cohrs
eb86874a71 Guidebook.txt sync 2002-09-30 03:42:29 +00:00
nethack.allison
d64759dd6c B12007 yellow light animal parts
Uses "ray" for arm-related parts, "beam" for everything else.
2002-09-29 16:41:16 +00:00
nethack.rankin
abf1ee5797 fix B08011 - request for "wield" change
Implement's <Someone>'s suggestion that the currently wielded
weapon be included among the list of inventory candidates for the
wield command.  It affects the list of letters shown in the prompt
and the subset inventory displayed if you respond with '?'; it doesn't
change how wielding works or what item you can pick to wield.

     Do the same thing for quivering:  include any currently quivered
item among the choices.  Also include the secondary weapon as a choice
if you're not actively two-weaponing.
2002-09-28 06:48:25 +00:00
nethack.rankin
889e2164b5 another dungeoneers update
Add <Someone> this time.
2002-09-26 07:37:12 +00:00
nethack.rankin
ef14456b3d eucalyptus leaf whistles
Add <Someone>'s patch that enables using the apply command
on eucalyptus leaves to produce a whistle effect.  Blessed leaves
behave like magic whistles; I added a chance for the blessing to be
used up in the process.

     The invent.c diff is almost all reformatting.
2002-09-26 07:26:03 +00:00
nethack.rankin
bd6f5b87bf "eye of newt"
Add <Someone>'s "eye of newt" patch, which confers energy
when eating a newt corpse.  Consumed energy is restored by up to 3
points, and if that takes the character past max energy there's a
chance to boost the latter by 1 point.  I introduced randomization
so that level 1 characters can't just kill and eat all the newts on
the first couple of levels to unconditionally boost their initial
mana (22% chance per newt to increase max energy now instead of his
original 100% chance).
2002-09-26 07:13:10 +00:00
nethack.rankin
846de96a4a two figurine tweaks
Fix the reported problem of applying a figurine while swallowed
and getting a message about setting the figuring on the ground.  Rather
than coming with special messages, just prevent it would activating if
you're swallowed at the time.

     Also prevent figurines from creating the 4th erinys or 10th Nazgul.
I'm not sure whether to bother doing similar handling for stone-to-flesh
cast on statues.
2002-09-26 04:05:54 +00:00
nethack.rankin
c9799a4231 update dungeoneers list 2002-09-24 09:42:53 +00:00
nethack.rankin
4d251c6688 fix B10003 - GOLDOBJ: BUC gold; identification
Curse and bless status has no meaning for gold.  Likewise
for erosion and other object flags controlling whether an item is
considered to be fully identified.
2002-09-24 03:20:22 +00:00
nethack.rankin
b0f2478b51 check_leash's handling of 2nd leash
Noticed by code inspection:  the inventory scan to find leashes
in use didn't reset the monster traversal loop for each leash, so
with more than one active it wouldn't necessarily find and check the
monster attached to the second one.
2002-09-24 02:11:10 +00:00
nethack.allison
183e450b1b B12004 polymorphing into minotaur
Polymorphing into creature with horns such as a minotaur,
will cause your helmet to fall off if it is made of a hard material.

Only minotaurs pass the has_horns() test in include/mondata.h
because the complaint specifically referred to them, but that
should perhaps be reviewed at some point by someone who is
certain which creatures have horns growing from their
head (some demons?)
2002-09-22 15:59:46 +00:00
nethack.rankin
ce4bfb6a1a fix B12005 - polyself and gender
The ^X attributes were always showing "neuter" when polymorphed
into a non-humanoid creature.  This fix also suppresses the extra
"gender (base)" entry when that has the same value as the preceding
"gender" entry, it eliminates the redundant label "deity" from the
three entries in the deities section, and it capitalizes the alignment
names that nethack uses as proper nouns.

     This patch also introduces the capability of skipping the second
screen of enlightenment attributes (given for explore and wizard modes)
by terminating the first screen with ESC (or however else menus can be
explicitly cancelled for any given interface).  That has no noticeable
effect during normal play.
2002-09-21 07:17:14 +00:00
nethack.rankin
c42c14e5a6 running across vibrating square
Some newsgroup discussion has reminded me something I've meant
to do for a long time.  Stop running when you get the special message
about the floor vibrating under your feet.  Also vary it when you're
not actually stepping on the ground.
2002-09-20 07:26:12 +00:00
nethack.rankin
709748234d fix B12003 - kicking a box embedded in a wall
Move a block of kicking code so that freeing items stuck inside
solid work takes precedence over breaking open containers.  Now the
box has a chance to fall out like other types of objects (and if it
fails that chance, there's just the normal message about not coming
loose--no attempt to actually kick open the box will occur).
2002-09-20 05:05:46 +00:00
nethack.rankin
651e886d66 fix B12001 - ?--More--single line menu
From a bug report:
3.4.0 broke the ability to pick the only listed inventory letter when
user typed '?' during object selection and one candidate was listed on
the top line followed by --More--.

What do you want to throw? [b or ?*] ?
b - 7 +0 daggers (alternate weapon; not wielded).--More--b
<behaved as if user hit ESC instead of 'b' but didn't say "Never mind.">

(Dismissing --More-- the normal way and getting a new selection prompt
worked as usual.)  The problem was caused by changes in getobj's count
handling; the message_menu() routine isn't able to handle counts but
display_pickinv left the count as 0 while caller expects -1 for "count
not specified".

     This was a core bug but I put the fixes entry under "tty" since
no other interfaces are affected.
2002-09-17 06:35:49 +00:00
nethack.rankin
b789a08f94 disclosure after sink fall
From the newsgroup:  if you die from the fall when losing
levitation while moving over a sink, the final attributes still
said you were levitating.
2002-09-14 13:24:22 +00:00
nethack.rankin
ba8d740500 treasure detection
Expert and skilled detect treasure was changed to behave like
blessed object detection in 3.3.1, but it didn't work as intended.

> Subject: [patch] skilled detect treasure doesn't detect object types
> <email deleted>
> Date: 13 Sep 2002 09:58:41 -0400
> <email deleted>
>
> It looks like the detect treasure spell when cast with skilled or expert
> ability in divination is supposed to detect the type of an object ("a
> scroll of identify" rather than "a scroll"), but this doesn't actually
> work in 3.4.0.  Here is a fix.
2002-09-14 13:00:20 +00:00
nethack.rankin
6772c3973c more starving pets
The fact that a pet was starving to death got recorded with its
corpse; if that corpse was revived via undead turning, the resulting
monster would immediately starve again if it stayed tame.  Similarly,
if one got petrified while nearly starved, reanimating the statue would
produce a starving pet.  Make revival and reanimation use the same code
as life-saving, where hunger status gets reset.
2002-09-14 05:48:40 +00:00
nethack.rankin
6f63f81b86 pet fodder
Allow starving pets to consume items they wouldn't ordinarily
eat.  Carnivores will eat fruits and vegetables--such as they are--
and herbivores will eat assorted rations.  Even though eating such
rations doesn't violate vegetarian conduct for the character, horses
would never eat them.

     This change should allow players to keep mundane steeds alive
much longer.  The new behavior doesn't kick in until the pet has
been classified as starving though; it doesn't affect ones who are
merely hungry.

     This also gives the reason why a starving pet has died instead
of just saying "<pet> dies" whenever it starved with hit points left.
2002-09-13 05:31:54 +00:00