Commit Graph

40 Commits

Author SHA1 Message Date
cohrs
587fe0b9e7 comment bit
- the dropx comment has been wrong for a while, time to accept that
2002-04-01 00:20:58 +00:00
cohrs
531f703cd0 fix more "drops to the floor" cases when there is no floor
- make the code in apply.c and zap.c consistent
- use the "drops away from you" case whenever the location type does not
lend itself to using the word "floor"
2002-03-31 04:18:02 +00:00
nethack.rankin
49d84cffdb final(?) touchstone
Put back the "better gold handling" that was inadvertently
dropped from the previous rewrite.  Prevent gems rubbed on cursed
gray stones other than touchstones from being shattered.  Fix
several pluralization buglets, including allowing the player to
rub a stone against itself if the quantity is more than one (just
like potion dipping is handled).  Overall, streamline the rather
convoluted logic, eliminating the `goto's.
2002-03-19 05:13:50 +00:00
nethack.rankin
fafbb60725 touchstone again
Recent patches broke rubbing gold coins on touchstones; for the
!GOLDOBJ configuration, the character's money would be lost and the
program leaked memory.  That problem was already present for rubbing
gold on other gray stones.

     This also gives a gem advantage back to archeologists:  they
can comprehend touchstone results when the stone is uncursed rather
than require it to be blessed.  (I gave gnome characters that benefit
too.  Why gnomes and not dwarves?  I don't have a reasonable answer
for that....)  To go along with that, make A's initial touchstone
start uncursed rather than blessed, so that other characters finding
them in bones won't get an immediate benefit from them for the 20%
of the time that they're not cursed when saving bones.

     Much of this is whitespace cleanup.  I reformatted use_stone()
completely.
2002-03-17 08:19:21 +00:00
nethack.allison
16cdae3bd2 touchstone follow-up
- Handle gold materials a littel better.
2002-03-16 14:08:35 +00:00
nethack.allison
ce6025df6e >Rubbing a clove of garlic on a gray stone to see if it went "scritch,
>scritch": "You make scratch marks on the stone".
2002-03-16 13:57:08 +00:00
nethack.rankin
6c91a6bc04 leash groundwork
Add another parameter to m_unleash.  This should not introduce
any change in behavior.
2002-03-11 08:00:21 +00:00
nethack.rankin
bc8acf4a29 steed/leash bit
It's possible to leashed a saddled pet and them ride it,
but it wasn't possible to remove the leash while mounted.  This
fixes that; it also lets you put the leash on your steed while
mounted, but there's nothing wrong with that.
2002-03-11 06:41:47 +00:00
jwalz
bab78d03c8 Lint part 1, unused variables, routines, and return codes. 2002-03-10 00:30:53 +00:00
cohrs
8fb7664869 fix more your corpse cases
- new cxname() to simplify doing the right thing in increasingly common cases
- use for bullwhip snagging
- in shopkeeper offer code
- in a couple other existing places rather than duplicating CORPSE checks
- use singular(...) in "swings" cases, since only one can hit.  Singular uses
  corpse_xname automatically when appropriate
2002-02-27 05:15:48 +00:00
cohrs
0f1615c7ad simplify touchstone object choosing
- remove special case code from getobj for touchstone
- remove other hacks from getobj that resulted from earlier hack, solves
  the "rub on the gold stone" problem completely
- pass correct letter list to getobj from use_stone, like other callers
2002-02-26 07:36:30 +00:00
cohrs
7f5285b1ee converting SCORR to CORR unblocks vision
- fix several cases where a point was unblocked by unblock_point wasn't
 called, directly or indirectly
2002-02-25 02:43:50 +00:00
nethack.allison
490ceaee6c change is_greystone() to is_graystone()
-Rename is_greystone() to is_graystone() since I've
had one complaint about my choice of spelling for
the macro already.

-Change the recent "#rub touchstone" code to use
the macro which pre-existed under the other spelling
and was already used in the very same "if" statement
with that spelling in invent.c. :-)
2002-02-24 17:23:02 +00:00
nethack.rankin
4bc3561a96 from <Someone>: #rub touchstone
<Someone>'s message said this was committed, but the cvs repository
didn't reflect his changes.

> Subject: patch: #rub touchstone
> Date: Wed, 20 Feb 2002 23:33:27 -0800
> <email deleted>
>
> Implement <Someone>'s suggestion.
>
> - allow the #rub command to apply to gray stones
> - update various doc & help files to reflect the change
>
> Committed to CVS.
2002-02-24 03:19:20 +00:00
cohrs
fe4f8b3c9d whipping hidden mimic displays mimic name too early
rather than the "flick" message, just go directly to stumble_onto_mimic
2002-02-15 04:29:11 +00:00
cohrs
4497d8e4e3 pline missing punctuation bits 2002-02-13 06:52:46 +00:00
nethack.allison
97d635fdbf Fix B6013. 2002-02-11 23:15:33 +00:00
cohrs
3b3362b236 glyphs for breaking wands
use fire an cold glyphs when breaking the corresponding wands.  Other
wands all get EXPL_MAGICAL since there's nothing more specific for them.
2002-02-11 03:29:11 +00:00
arromdee
14a6d90763 mirrors
Invisibility should be treated consistently regarding passive reflection of
gaze attacks and explicit mirror use against gaze attacks.
2002-02-11 00:42:44 +00:00
cohrs
316a94d50f obj_no_longer_held consistency
Call obj_no_longer_held whenever an object hits the floor, no matter what
previously held it.  Also handle stoning of prior holder.
2002-02-09 21:55:45 +00:00
cohrs
5e2692fba5 catch_lit lights cursed candelabrum
also, cursed lamps should sometimes fail to light, and check "spe" of
candelabrum before checking age
2002-02-09 08:13:18 +00:00
cohrs
cf37a7bac0 verb agreement
add and use new APIs, Tobjnam, otense and vtense, is_plural
to determine tense/form of verbs and a few pronouns as well
2002-02-09 00:16:35 +00:00
nethack.rankin
f750e2df4e fix B3032 -- wand of speed monster id
Make wands of speed or slow monster known if their effect
on monsters is observed; likewise for speed boots.  Also, avoid
giving odd "the bat is moving faster" when seeing a bat created
in gehennom and inaccurate "the monster is moving slower" when
a monster puts on speed boots.
2002-02-08 04:14:03 +00:00
nethack.allison
7d1e6f7d57 from Yitzhak
Add absent prototypes to some core routines.
Also add some port function() to function(void) in some win32 routines.
Also updates the Borland C Makefile for win32.
2002-02-05 13:21:43 +00:00
cohrs
f4a5823add touchstone bit 2002-02-05 04:22:23 +00:00
nethack.allison
06528d1002 3.3.2 to 3.4.0 2002-02-04 16:06:00 +00:00
nethack.allison
25b357d344 Fix problem with cloth scratching the stone From a bug report. 2002-02-03 07:48:41 +00:00
cohrs
9c851c0c1d grappling hook followup
fix a compilation bug
2002-02-02 01:59:44 +00:00
cohrs
8eb206765d grappling hook ignores spot effects
Using a grappling hook can land you in water, lava, et al, but you were
unaffected.
2002-02-01 03:30:40 +00:00
nethack.allison
39f24cda78 Fix "gems in apply menu" From a bug report. 2002-01-28 11:38:25 +00:00
nethack.allison
4c46f6eb2b Fix several touchstone-related things:
1. The switch statement was using the material "GOLD"
   rather than GOLD_CLASS.
2. If getobj() had been working for gold when it
   came to touchstones, there would have been a
   memory leak here because the object returned
   would have been from mkgoldobj().  The goldobj
   was not being freed anywhere, nor was it being
   put on a chain. You also would have had zero
   gold after rubbing it on the stone. The intent
   was clearly to allow gold since there was a
   case in the switch statement.
3. getobj() wasn't working properly for gold
   selection here anyway, so this was
   not the cause of <Someone>'s gold obj in inventory.
   You ended up dropping through to code that
   was supposed to print "You cannot verb object."
   For touchstones that came out as:
   "You cannot rub on the stone gold."
2002-01-24 02:39:55 +00:00
cohrs
e7bdcb157f lava effects for monsters and objects
This patch, based on code sent to us by <Someone> well over a year ago, addresses
bugs recently resurfaced.  Namely, that lava does not generally do anything
to monsters or objects that land in java.  Newly renamed minliquid() handles
both water and lava, and new fire_damage() is used similar to water_damage().
2002-01-20 07:04:18 +00:00
nethack.allison
c20a6f89f1 Some touchstone tuning...
If you have an unidentified gray stone in your pack,
you just had to use the 'a'pply command.  If it was
a touchstone, it would be included in the list,
otherwise it wouldn't.

This allows any stone to be included in the 'a'pply
command.

Also, adds missing punctuation to the use_stone()
messages.

Also prevents rubbing a stone on itself.
2002-01-18 19:00:09 +00:00
arromdee
d5d7f15007 Fix some steed/wounded legs things. Also add a wizard-only enlightenment
message specifying that the steed has wounded legs.
2002-01-12 05:37:33 +00:00
arromdee
157840766d Finally overhauled some spell stuff. --Ken A.
Summary of spell changes:
-- wimpiness of 'default' spell fixed by doing half damage for magic resistance
instead of 1 damage, and using half monster level instead of 1/3.  It may
still need tweaking, but is much better than before.
-- 'default' spell for cleric monsters is now the wounds spell, by analogy with
wizard monsters.
-- added clerical lightning strike, flame strike, gush of water
-- all spells should now say the monster is casting a spell, and all spells
should have messages.  (Side effect: monsters speeding up by other means
also give a message saying so).
-- casting undirected spells is not affected by whether the monster knows
where you are.  Monsters that are attacking your displaced image, that are
several squares away, or that are peaceful can use undirected spells.
-- messages should correctly say whether the spell is undirected (a monster
was always casting at thin air or pointing at you and cursing, without checking
to see if the spell wouldn't require pointing)
-- Monsters which are attacking your displaced image, etc. use up mspec_used.
If they are casting an undirected spell, the spell still works.
-- Monsters which are not attacking can cast spells that don't attack.
-- If a monster didn't have ranged spellcasting ability (which most don't),
it would print a curse message from buzzmu() every round it was at range,
creating a useless stream of constant curse messages

I still haven't made spellcasters "smarter" in the sense of noticing whether
you have reflection, fire resistance, etc.  That opens a big can of worms
because it would mean giving monsters a memory.

Known bug: the higher level a monster is, the more spells it has; since it
chooses a noncombat spell by randomly picking a spell and casting if it
happens to be noncombat, the higher level the monster is the greater the
chance of getting nothing.
2002-01-11 01:09:07 +00:00
cohrs
631df10a34 setuwep, et al, cleanup 2002-01-10 06:52:05 +00:00
nethack.allison
ef26fdaeb4 small touchstone credit 2002-01-09 05:31:47 +00:00
nethack.allison
767335698b <Someone>'s touchstone code and a bee swarm bit. 2002-01-09 03:31:30 +00:00
cohrs
c77073be31 sync changes since last snapshot 2002-01-07 02:12:04 +00:00
jwalz
9a258eeda6 *** empty log message *** 2002-01-05 21:05:48 +00:00