Commit Graph
100 Commits
Author SHA1 Message Date
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
nethack.rankin 737294a517 build fix 2002-09-28 09:35:22 +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.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 dbaba6bcc2 steed name handling
I was about to add a message referring to your steed and discovered
that the name handling for that is somewhat messy.  Simplify it by using
the pet name handling routine.
2002-09-20 07:01:19 +00:00
nethack.rankin bebec915d8 README bit
The current version of VMS is V7.3-1, but V7.1 is the most
recent that I presently have access to (and that's only for Alpha
but I'm bumping the number for VAX anyway).  The "DEC" part has
been obsolete for a while but I'm not sure what to do about that.
2002-09-20 05:14:42 +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
nethack.rankin a6e3791170 fix B11001 - fruit name quibbling
> OK, it's "grape juice" now, but it's still "bunch of grapes farm".
2002-09-10 09:10:23 +00:00
nethack.rankin ce71bfb593 cursed levitation prayers
Noticed while testing something recently:  if you're wearing
a non-cursed ring of levitation but can't remove it because of
some other cursed item, you'll never get the high priority result
of TROUBLE_LEVITATION when praying.  This remedies that.
2002-09-10 08:01:18 +00:00
nethack.rankin 0ef3240077 more monster intrinsics
Provide more control over message handling for monsters' use
of equipment.  This fixes the statue revival problem (inappropriate
feedback when monster puts on speed boots) mentioned in the earlier
"intrinsics of dead monsters" patch.
2002-09-09 09:24:38 +00:00
nethack.rankin 786ed93751 intrinsics of dead monsters
Monster traits that are used to revive some corpses or statues
with their old attributes were retaining intrinsics conferred by worn
items.  To prevent that, strip such attributes at time of a monster's
death before the traits are recorded.  Statue handling needs to some
more work; now that extra speed is lost, there's an out of place
message if/when a revived statue gets to put on its old speed boots.
2002-09-09 09:02:21 +00:00
nethack.rankin b8f368ced4 bandaid for #U49
Partially deal with the reported silly message combination

> Also, when unwielding a weapon using 'A', you get the messages
> "You are empty handed.  You finish disrobing."

by saying "disarming" rather than "disrobing" when manipulating
just the three weapon slots.  Handling weapons in combination
with armor or accessories or both still says "disrobing" though.
The case when dealing with just accessories should pick something
else, but the closest I've thought up so far is "divesting" and
I don't think that works very well.  Is there a better term for
taking off jewelry?  If so, would it end up being out of place
when applied to nethack's selection of eyewear?
2002-09-09 07:36:13 +00:00
nethack.rankin 53f40d2a20 avoid buffer overruns
Noticed with recent looting patch:  QBUFSZ is not big enough
to reliably hold formatted object names.  (I haven't looked through
any other source files for similar problems.)
2002-09-07 02:38:50 +00:00
nethack.rankin 069703f6c3 enlightenment refinement for increased damage
The recent change to include increased damage and increased
chance to hit in all enlightenment feedback instead of just at end
of game feels too specific compared to most of the other feedback.
Instead of giving exact plus/minus values, give a generalized
categorization of the amount.  The exact value is given at game end
as in existing 3.4.0 behavior, and also given when in wizard mode.
2002-09-07 02:36:02 +00:00
nethack.rankin c33417fc05 B10002 - enlightenment grammar bug
>       In my final attributes;
>       "You had +1 bonus to hit."
>       Surely "You had a ..." ?

Also moves the hit and damage bonus feedback from the "troubles"
section to the "physical attributes" section and delivers it for
every enlightenment rather than just after the game is over.
2002-09-01 09:56:55 +00:00
nethack.rankin 5088492cf6 speed of petrified monsters
Someone posted in the newsgroup about using stone-to-flesh
to reanimate a petrified pet and having it come back to life with
boosted speed intact.  When the character gets petrified, stripping
speed is one of the first things which happens, so now do that for
monsters too.  I decided not to make monsters who have normal speed
become slow; there isn't any analogous case for the player.

     Possible bug:  while testing this, I zapped a wand of probing
at a hill orc which had just eaten a lizard corpse to save itself
from stoning.  The feedback said "eating" but the orc immediately
hit and killed me as if it wasn't affected by any movement delay.
2002-08-31 09:24:08 +00:00
nethack.rankin 6b03787171 more trickery - build fix
Update the other trickery situation.  I don't know how I managed
to miss this.  The disadvantage of suppressing extern.h from normal
dependencies I guess.
2002-08-24 05:52:22 +00:00
nethack.rankin b00a9dcd4a level file handling and trickery feedback
1) consolidate all core usage of `errno' in files.c;
2) give more feedback for any failure by create_levelfile or open_levelfile,
   similar to what was being done for problems during level change;
3) include trickery info in paniclog (many instances of "trickery" seem to
   be due to disk or quota problems rather than user misbehavior...).

The create_levelfile call in pcmain probably ought to be changed to use
error feedback, but in the meantime this should continue working.

Perhaps error() should be modified to update paniclog too, but I didn't
want to go through all its port-specific incarnations making changes.
2002-08-23 14:52:25 +00:00
nethack.rankin b840adcb62 trickery bulletproofing
Prevent the pardoning of trickery in wizard mode from attempting
to continue when there's no longer any current level.  Also prevent
the ZEROCOMP configuration from trying to read from file descriptor -1
in case there're any other places which still let that slip through.
And fix an oddity in the VMS port's error() routine which has gone
unnoticed for years.
2002-08-22 03:05:18 +00:00
nethack.rankin f13035aa48 B09001 - mhp > mhpmax after life drain
A monster hit by Stormbringer could take less damage to current
HP than it took to max HP if attacker had sufficient penalties, so
end up being healthier than its new maximum.  This only applies to
attacks by the player; attacks by monsters don't include the sorts of
modifiers that can trigger it.
2002-08-22 01:44:24 +00:00
nethack.rankin d5c2438652 bad "cad" message
From the newsgroup:  taking a shop-owned pick-axe out of a
container inside a shop gave a misleading message telling the
player to take the pick-axe out of the shop.  It was caused by
using the object's `unpaid' field before addtobill() had set it.
2002-08-22 01:23:31 +00:00
nethack.rankin 06ce74ffb5 juice name bit 2002-08-19 08:22:32 +00:00
nethack.rankin 9a9259cf36 B08017 - piece of cheese juice
Implement <Someone>'s request that fruit name "foo of bar" yield
juice messages referring to "bar juice" instead of "foo of bar juice".
2002-08-19 07:33:13 +00:00
nethack.rankin 096b420889 rolling boulder hitting pit which holds monster
From a bug report, a rolling boulder
trap could report that the boulder had fallen into the pit with you
and then let it keep rolling.  flooreffects() only returns true
when it uses up the object being manipulated but it doesn't use up
boulders that hit pits which hold monsters or the hero.  Its caller
needs to handle the cases where the boulder ends up sharing the pit
with a monster.
2002-08-17 10:24:35 +00:00
nethack.rankin fab39a2007 compatibility checks fix for TIMED_DELAY
makedefs has been listing TIMED_DELAY as one of the options which
affects save file contents even though that hasn't been the case for
a long time.  Unfortunately, simply fixing that by itself would break
save file compatibility for anyone who has been building with it set.
This workaround prevents the fix from doing that.  And now folks can
rebuild after toggling TIMED_DELAY without unnecessarily invalidating
save and bones files.
2002-08-15 02:48:34 +00:00
nethack.rankin c19ba37192 enlightenment bit 2002-08-14 06:51:01 +00:00
nethack.rankin c8dccc63ff B07002 - hiding under nothing?
Clear the uundetected status during level changes in case
the character was hiding under something immediately prior to the
change.  Don't set hidden status at the destination even when
there's something to hide under--it'll take a turn to hide again.
2002-08-12 08:25:48 +00:00
nethack.rankin 37d5169f5b atari gem update from <Someone>
Added tilefile tests and code to make the restore process
visible.
2002-08-10 07:44:35 +00:00
nethack.rankin 24c2d465a3 blindness vs vault guards
I implemented this before seeing <Someone>'s forwarded report.
It makes guards come to vaults when you can't see them, but does
have one odd side-effect:  if the vault has boulders in the way
then you might not be able to follow the guard out.  (Usually you
can alternately search and step in order to successfully follow
him out when unable to see.)
2002-08-09 02:35:30 +00:00
nethack.rankin e5148d5d57 wishing fixes for "* glass"
The wishing code intended to make a wish for "blue glass" yield
a "worthless piece of blue glass" (and similarly for other specific
colors) but it didn't work right.  Also, wishing for "looking glass"
tripped up on that same code and didn't work either.  (Several other
permutations for worthless gems such as "worthless blue glass" and
"piece of glass" already do work.)
2002-08-07 08:04:27 +00:00
nethack.rankin d04c66657c vtense special case for *ss
This fixes the reported "The looking glass miss the mountain nymph."
2002-08-07 07:07:38 +00:00
nethack.rankin 855ddbc550 armor & busy hands
Fix some inconsistencies in armor handling.  The 'T' command
wouldn't let you take off a suit or shirt if you were wielding a
cursed two-handed weapon, which makes sense; however, the 'A'
command neglected to impose the same restriction.  Also, the 'W'
command had some code intended to prevent you from donning a suit
or shirt while wielding such a cursed weapon, but it didn't work.

     This patch fixes the 'A' command's checks for whether an
item can be removed and it makes the 'T' and 'R' commands use the
same code as 'A' instead of maintaining multiple sets of checks.
It also fixes the trivial 'W' problem and attempts to prevent the
sequence of 1) get interrupted while removing a set of equipment
including suit and/or shirt; 2) wield a cursed two-handed weapon
or have already wielded one become cursed; 3) resume removing
armor via 'A' but I haven't tried to trigger that situation to
confirm the bug or this fix.
2002-08-05 09:54:07 +00:00
nethack.rankin 9fa85b109b artifact manipulation
Fix an item from <Someone>'s list:  invoking or applying an
artifact might blast you; if it evades your grasp, the intended
action won't take place but will still use up a turn.
2002-08-01 23:20:34 +00:00
nethack.rankin 7191f3b8a5 dragon scale mail is magical
This reclassifies dragon scale mail as magic and leaves dragon
scales as non-magic.  Changing the latter would make it be easier
to obtain magic armor via polymorph; just kill some dragons and toss
their scales on the pile.  Unfortunately the logic used suggests that
unicorn horns ought to be non-magic too, but I left them as magic.
(Making them become non-magic would actually be a good idea as far
as balancing polypiling goes, but it's awfully hard to justify when
they produce should a wide-ranging magical effect when applied.)
2002-08-01 20:58:39 +00:00
nethack.rankin aedd6947d4 runmode option
Provide user control over screen updating for multi-step movement
(run via shift, control, &c and also travel).  [See cvs history for
fixes34.1 for more details.]
2002-07-28 10:45:46 +00:00
nethack.rankin c5540f4687 runmode option
<Someone>'s submittal of his `showrun' option has goaded
me to finally finish something I tried to implement some time back.
This adds a new run-time option called "runmode" which gives the
user control over how much screen udpating takes place during run
and travel movement.  It has four settings:
  teleport - update the map after movement has finished (this is
	the old behavior and also <Someone>'s !showrun behavior);
  run - update the map periodically (this is the new default);
	it uses (`moves' mod 7) to control the updating; it may
	need to have its own counter so that the updates are
	sync'd with the start of current movement rather than
	with `moves', but perhaps that won't matter;
  walk - update the map after each step (this is the behavior
	when <Someone>'s showrun is enabled);
  crawl - like walk, but with a longer delay after each step.

This option won't work well on configurations where delay_output()
doesn't produce a pause of reasonable duration, but I don't think
there's much we can do about that.

     The option setting ought to be stored in struct flags so that
it's maintained across save/restore cycles, but I put it into the
iflags structure with the other new options so that it won't cause
3.4.0 save files to be invalidated.

     I can't test the changes to Guidebook.mn; the corresponding
changes to Guidebook.tex process ok and don't show any obvious
glitches when viewed with xdvi.
2002-07-28 10:44:14 +00:00
nethack.rankin b5405940a2 R1007 - Monk kicking bug
Kicking a monster as a monk or samurai or while wearing kicking
boots might make it "reel from the blow" and be knocked back a step.
If that knock back put it into a trap which killed it, the kicking
code would kill it an extra time, then the player would get a warning
about dmonsfree finding the wrong number of dead monsters.
2002-07-26 00:33:14 +00:00
nethack.rankin c740d732cc phantom venom
[ I didn't keep a copy of the message which reported this
  so don't have any reference number for it. ]

     If you used '/' to look at multiple items one after another,
then looking at floor or other item represented by the same '.' as
venom could result in subsequent things being falsely categorized as
possibly venom.  The subsequent items needed to have less than two
possible descriptions, and the triggering item needed to be a plain
dot rather than the graphic dot used for floor with IBMgraphics and
DECgraphics.
2002-07-25 23:55:06 +00:00
nethack.rankin 72dbd302c0 do_look at self
Suggested by <Someone>:  when examining an `@' monster, only include
"or you" in the description if you might reasonably expect to be seen
as something else.  So if you're playing as a human or an elf, or if
you're polymorphed regardless of race, the ordinary description of
"human or elf" doesn't need to add "or you".  And the setting of the
`showrace' option only matters if the `@' comes from prompting the
user instead of picking a symbol from the map.
2002-07-25 23:34:47 +00:00
nethack.rankin afa939f4f9 traps burning paper golems
Paper golems destroyed by fire traps won't leave any scrolls
of blank paper behind.  (There's still no handling of other forms
of fire attack against such critters.)
2002-07-25 01:04:08 +00:00
nethack.rankin cdc0677383 ending hallucination while blind
Don't suppress hallucination on/off messages when blind.
This fixes the case where you might be observing hallucinatory
monsters via telepathy yet not be told that perception was back
to normal when hallucination timed out.  It does not fix the
case where temporary hallucination times out while the effect is
being blocked (in which case successful application of a unicorn
horn yields no feedback), nor the hypothetical cases where timed
hallucination starts or ends while also hallucinating for some
other reason (which could happen via polymorph someday if a
monster which is always hallucinating--the way that bats are
always stunned--ever gets introduced).
2002-07-24 06:13:29 +00:00
nethack.rankin 5773c461ef throwing through iron bars
Make throwing things through iron bars by the player and
by monsters behave consistently with each other.  Also prevent
stone-to-flesh'd boulders and wands from passing through.
2002-07-24 05:42:49 +00:00
nethack.rankin 4c4c99b889 build fix 2002-07-21 10:11:32 +00:00
nethack.rankin 34bcb2bb2b polyself typo 2002-07-19 01:45:26 +00:00
nethack.rankin 09cb5be946 B01005 - fasting by monks
Implement a suggestion by <Someone> that turns spent in
"hungry" state exercise wisdom for monk characters; also make
turns spent in "satiated" state abuse it instead.
2002-07-17 23:31:12 +00:00
nethack.rankin 8aa428058c B01003 - showrace display
Enabling the showrace option displays a nonhuman hero in
white rather than in corresponding monster type's usual color.
2002-07-17 23:26:36 +00:00
nethack.rankin a2bc6f5a71 more fire trap vs golem 2002-07-15 13:59:42 +00:00
nethack.rankin 927d041da7 lev_comp yacc output 2002-07-15 07:31:14 +00:00
nethack.rankin 34149babc3 plug fountain & throne SIGHUP cheat
When using a fountain or throne, getting a --More-- prompt
usually means that you're about to be told that it has just dried
up or vanished.  But since that topology change didn't occur until
after the message, players could cheat by forcing SIGHUP instead
of answering the prompt; the resulting save file would retain the
original topology.  So change the dungeon prior to telling the user
about it.

     The `fixes' entry possibly belongs in the tty-specific category
but since the change is to core code I put it in the general section.
2002-07-13 13:11:51 +00:00
nethack.rankin 0dd070271b vms Makefile update 2002-07-13 12:44:55 +00:00
nethack.rankin 615d9dde2b B4003 - exercising spell skills
The spellcasting code stopped counting a spell class's skill
exercise once that reached expert, so the only way that it could
end up being flagged as having reached maximum in the #enhance
feedback would be if it had already received enough exercise to
reach the hypothetical level beyond expert while it was still at
skilled or less.

     It also didn't count the exercise if you were restricted in
the spell class, but that wasn't necessary because becoming
unrestricted--which I don't think is even possible for spells at
present--resets the counter back to 0 to discard any exercise
achieved while ineligible.
2002-07-13 12:39:10 +00:00
nethack.rankin 30f6fbb5fe B04002 - blessed gain level vs XL 30
Fix the problem [reported in the newsgroup and forwarded by <Someone>]
of blessed potions of gain level having the possibility of reducing
your experience points if you were already level 30.  The random XP
value that averages "half way to next level" could be less than your
current experience if you had gotten to level 30 via such a blessed
potion or had drunk at least one of same since reaching that level.
This didn't really make any difference to game play since you weren't
losing any levels, HP, mana, or score, but it was visible to users who
enable the `showexp' option.
2002-07-13 12:19:09 +00:00
nethack.rankin d03f31d83b comment tidbit 2002-07-02 02:47:28 +00:00
nethack.rankin 3842c87c0f grammar of food warnings
Change "The corpses smell like it could be tainted! Eat it anyway?"
to be "The corpses smell like they could be tainted! Eat one anyway?"
when eating one of multiple stacked food objects.
2002-07-02 02:39:27 +00:00
nethack.rankin 9524894d3f naming wielded weapons
I'm surprised that no one has noticed this one yet.  When
wielding two weapons, naming either of them caused two-weapon
combat mode to stop (unless the weapon already had another name
which was long enough to be overwritten by the new name without
allocating a replacement object).
2002-06-26 05:54:50 +00:00
nethack.rankin fbeccb7257 Sting's anti-orc warning
From the newsgroup:  creating Sting via naming didn't produce
intrinsic warning (orc detection) if it was already wielded at the
time.  (Un- and re-wielding it sufficed as a workaround.)
2002-06-25 08:27:31 +00:00
nethack.rankin 174dbea372 #levelchange fix
Using #levelchange to reduce experience level would put nethack
into an infinite loop if the character had life-drain resistance.
2002-06-24 10:30:23 +00:00
nethack.rankin 25f25a396d polymorphed two-weaponing
Cease two-weapon combat if you're using it in polymorphed form
and revert to normal form for any of the roles which can't use it.
2002-06-24 09:59:40 +00:00
nethack.rankin c6d02b30c3 wizard mode riding
"Force the mount to succeed?" doesn't necessarily do so;
it's worse than useless to suppress the message which indicates
why a mount attempt is failing when a failure occurs.
2002-06-01 10:40:59 +00:00
nethack.rankin ac5975ea9d Fix the "remove_object: obj not on floor" panic I encountered
when investigating the report of death due to falling off steed leaving
"you were riding" in the final attributes.  (This doesn't fix that bug.)
Dismounting calls teleds() to put the character on the map and teleds()
does various iron ball manipulations, but during level change the ball
is removed from the map and those manipulations won't work as intended.
2002-06-01 10:32:55 +00:00
nethack.rankin a99a8fcba8 singularization of irregularly pluralized monster types
Fix makesingular() to handle "vortices", "liches", and "fungi"
as suggested by <Someone> a while back; also "fungus".
2002-05-31 03:39:00 +00:00
nethack.rankin 40aef2b8e6 add Paul's scimitar quote 2002-05-21 04:55:19 +00:00
nethack.rankin 4c07c88dac #loot in shop
Fix the reported bug of being double-billed for a bag of
holding destroyed if #loot is used to put a wand of cancellation
into it while it's on a shop floor.  (The bug report neglected
to mention a second aspect of the situation:  you wouldn't get
billed for the wand if you used an unpaid one to trigger this.)
2002-05-15 23:15:39 +00:00
nethack.rankin b0872d064f twoweapon feedback
When #twoweapon fails, the message referring to "your current form"
sounds pretty odd when you're not polymorphed.
2002-05-15 06:48:46 +00:00
nethack.rankin 0d0f8b5c70 redundant petrification message
[I've lost the #Rxxx number for this bug report....]

     When attacking a non-stone golem with a cockatrice corpse,
suppress the redundant "<monster> turns to stone" message which
preceeded the "<monster> solidifies.  It's now a stone golem."
messages.
2002-05-10 02:07:45 +00:00
nethack.rankin ecffb6b92c monster strategy fix
From the newsgroup:  using #chat to talk to a "meditating"
monster like quest nemesis or Medusa could elicilit responses
without waking it up (at least if you moved fast enough enough
to probe it before it got its next turn).
2002-05-10 01:59:25 +00:00
nethack.rankin 847b037d58 #ride workaround
From the newsgroup:
> Apparent bug or weird-seeming feature:
> If you try to mount a horse that is already in a pit,
> you get the message "You lead the poor <foo> into a pit!"

     I checked into fixing this properly (you mount the steed and
then shared its trapped status without actively retriggering the
trap in the process), but the trap code is too convoluted to do
that cleanly.  So this "fix" just makes mounting attempts fail if
the steed is trapped.

     (This diff is mostly whitespace cleanup.)
2002-05-10 01:50:22 +00:00
nethack.rankin 55f3390e5b special level fountain fix
Add FOUNTAIN directives to the maps that just had '{' symbols.
Without them, the special level loader sets up those maps in a way
that prevents nethack from keeping the fountain counter accurately,
resulting in lack of fountain noises when they haven't been touched
yet and persistent noises after at least one of them has been dried
up.  (It would be better to fix lev_comp's map handling code to do
this automatically.)
2002-05-03 08:05:56 +00:00
nethack.rankin b113445f93 grammar tidbit (fixes #R835)
Add special case to an() to produce "a one-eyed one-horned
flying purple people eater" instead of "an one-eyed ...".
2002-05-01 01:26:32 +00:00
nethack.rankin 8bcec06645 vault guard behavior
From the newsgroup:  vault guards would ask your name--and you'd
be able to respond--even when you were unconscious (for any reason
besides fainting from lack of food) or paralyzed.  (The code already
made the guard be forgiving when you failed to promptly follow him
out due to that situation, but it would repeatedly say "move along!"
even though you were unable to move.)
2002-04-19 06:03:01 +00:00
nethack.rankin 197b4e706f grammar tidbit
From the newsgroup:  if the Candelabrum of Invocation already
has six candles attached and you apply another one to add the seventh,
the message said it "now has seven candle attached."
2002-04-19 05:50:02 +00:00
nethack.rankin f0aabe8460 discovery of enchant weapon scrolls
Eliminate or at least reduce one of the idiosyncratic differences
between enchant weapon and enchant armor:  make reading enchant weapon
discover that scroll if the effect is adequately discernible, instead
of always asking the player to supply a name for it.  If your weapon
is identified and its +/- enchantment value goes up, or you're wielding
a worm tooth and it transforms into a crysknife, you learn the scroll.
However for the negative effect of a cursed one, that's only applicable
when the scroll is already known to be cursed.
2002-04-18 02:26:09 +00:00
nethack.rankin 43e65726f7 shop credit fix
[ Fix a bug reported in the newsgroup; I thought I sent this last
  week, but it isn't in the current code so I must have forgotten. ]

     When I split u_left_shop() into two routines I neglected to
propagate the early return condition from the second half to the
first.  The result is that if you leave a shop with unpaid goods
but have enough credit there to cover the cost, the shopkeeper
will take that credit and be satisified, but the kops were still
getting summoned as if he had been robbed.
2002-04-15 10:52:20 +00:00
nethack.rankin efbd396bf5 Wizard strategy
When the Wizard uses STRAT_MONSTR to get next to any monster
which is carrying the Amulet, he was actually displacing the other
monster to take its map location.  It was possible--and still is,
actually, although it takes a lot longer now--for the excessive
summoning by spell casting monsters to entirely fill up the temple
on the Sanctum level, so the Wizard would sometimes knock Moloch's
high priest right out of his temple.  And since that priest doesn't
turn hostile until you enter the temple, you might have needed to
kill a peaceful human in order to get the Amulet.

     Now when there's no elbow room in the temple, the Wizard will
stay outside instead of bumping the high priest out.
2002-04-11 02:24:15 +00:00
nethack.rankin bc2aeb66c8 quest tuning
Alter the starting position of the monk and priest quest
nemeses to neutralize the possibility of attacking them by
zapping directly to the left as soon as you arrive on the final
level.  And give the samurai a little variety too by varying
the arrival location, although that is just cosmetic.
2002-04-11 00:54:11 +00:00
nethack.rankin 812b53799d multiple iron bars fixes
Can't push boulders through iron bars; traps can't roll such through either;
	likewise for objects thrown by monsters.
Thrown objects susceptible to breaking might do so when they hit iron bars.
Assorted monsters can pass through iron bars; ditto for polymorphed character.
Attempting to dig iron bars will wake nearby monsters instead of yielding
	"you swing your pick-axe through thin air".
Autodig won't accept iron bars as candidate location.
2002-04-07 10:43:59 +00:00
nethack.rankin dfb20853ee comment grammar tidbit
Noticed when sending the reply about the lregion type 5 bug report.
2002-04-06 04:41:32 +00:00
nethack.rankin b6b550e1a2 fix "couldn't place lregion type 5"
Implement a fix for the problem From a bug report:
if the destination position on the Plane of Fire has a randomly
placed trap on it, you'd get an impossibility warning of "couldn't
place lregion type 5" (and then arrive successfully at the target
spot anyway).  As his investigation indicated, the code to remove
such traps wasn't being reached because the `bad_location' check
yields true for trapped spots.
2002-04-06 04:22:33 +00:00
nethack.rankin 994f624c0a shop fix: billing for contained items
Shopkeeper wouldn't charge for items inside containers if you
dropped one, declined to sell it, and then filled it with shop goods.
2002-03-31 14:56:13 +00:00
nethack.rankin 11b1874090 more wielded/quivered iron ball
There was at least one more special case aside from throwing
(jetisoning items to reduce weight after falling in water) which
have needed the same extra code.  This is a more general fix.
2002-03-30 09:50:59 +00:00
nethack.rankin 72048905ad polyself: centaurs vs boots
Monster centaurs can't wear boots, and characters who polymorph
into centaurs have their boots pushed off, but there was nothing to
prevent such characters from putting those boots right back on.
2002-03-29 13:37:16 +00:00
nethack.rankin 68b4f9f2a3 "harassment mode"
Make a change suggested by <Someone> to have the Wizard
enter harassment mode when you perform the invocation, in case
you manage to obtain the Book of the Dead without killing him.
Instead of just initiating that periodic effect, behave as if
you have actually killed him (which also affects random monster
generation frequency, prayer timeout, and shopkeeper salutations).
2002-03-28 03:03:04 +00:00
nethack.rankin e835e2f420 lev_comp,dgn_comp vs CRLF style input
Allow the special level and dungeon compilers to handle input
files which have CR+LF delimited lines.  Apparently Cygwin doesn't
convert MSDOS style line ends into newlines the way stdio should
do for text I/O.  The resulting unexpected CR characters result in
syntax errors.

     And explicitly using '\n' on both the lex and yacc sides of
MAP processing allows removal of the old NEWLINE hack for Mac MPW.
It won't matter what numeric value that character escape sequence
has internally.
2002-03-28 01:37:39 +00:00