Commit Graph

2944 Commits

Author SHA1 Message Date
nethack.rankin
b1b5e13bfa #turn fix
Don't report that undead monsters are "turning to flee"
when they're about to be made peaceful or killed outright,
and add a missing alignment fixup for the case where they do
get made peaceful.

     Also, a trivial bit that only matters when using wizard
mode to wish for altars.  To #offer the Amulet you need to be
on the Astral level rather than just anywhere in the endgame.
2002-03-03 04:28:08 +00:00
nethack.rankin
359405abd3 fix B9003: prevent multiple touchstones in A's starting inventory 2002-03-03 04:14:54 +00:00
cohrs
c5c394023e WIZKIT gold items
- if !GOLDOBJ, putting gold in the WIZKIT would add zerobj to the inventory.
  This shows up when you "Da" and get a message like "you drop 0 glorkum 0 0 0"
2002-03-03 03:36:33 +00:00
arromdee
38e60fa8d1 jeweler shopkeeper touchstone (B3015)
This implements the suggestion in beta bug 3015.
2002-03-02 16:46:56 +00:00
arromdee
e4f694986c french fried food (B7010)
This implements the suggestion in beta bug 7010.
2002-03-02 16:18:39 +00:00
arromdee
8651a77b43 bug 8009 (dropping gold on altar)
This fixes beta bug 8009 (dropping gold on altar)
2002-03-02 16:06:12 +00:00
nethack.rankin
dad14c21a7 build fix
Some old compilers don't like to use the name of a function-like
macro for anything other than invoking that macro.
2002-03-02 06:16:37 +00:00
arromdee
d6d445d514 This fixes beta bug 8003 (half physical damage from gas spores) as well as a
minor bit of cleanup in mon.c.
2002-03-02 01:07:11 +00:00
nethack.rankin
e15c0d801f code sync nitpick
The cvs sources had a single space difference from nh-patches sources.
2002-03-02 00:57:52 +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
arromdee
c9f7360301 stopping occupation when missed
This fixes beta bug 3020.  It was hard to notice because the presence of a
monster in the room stops your occupation anyway, so it wasn't triggered unless
you were blind.
2002-02-27 02:29:33 +00:00
arromdee
7827e17848 cloning minions
Janet pointed this one out to me...
2002-02-27 02:17:01 +00:00
cohrs
f33ab026b8 shattering corpses
- generalize which weapons can be shattered to be >= WOOD
2002-02-26 22:07:24 +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
arromdee
af51f4b0a2 cloning
Fix a minor cloning problem; clones didn't retain the monster's name or
tameness.  (The name *was* retained if you were cloned.)  I also added a
minor change in wizard mode to display a few tameness fields of a dog.
2002-02-26 06:55:17 +00:00
nethack.allison
2272e70d39 message follow-up 2002-02-25 20:24:04 +00:00
nethack.allison
24956e3b53 The unpaid cost displayed in your inventory now
includes container contents, not just the cost of the
container itself (a prices in inventory phenomenon).

Along the way I discovered a peculiarity -
contained_cost() was adding up the cost of everything in
a container, even if you had stashed items in it that were your
own and not marked unpaid it seems.

I added a flag to force the code to only add objects
that were marked "unpaid" so I could use it in this new
instance, but I didn't change any of
the existing usages (I left the flag at FALSE which leaves
the consideration of the unpaid status alone just as
before).

Some of this is correction of some messages that were
wrong prior to this when dealing with selling of objects
inside a container when only part of the contents was unpaid.
2002-02-25 19:14:42 +00:00
cohrs
63908bbed4 'D'ropping gold messes up inventory
- new splitobj() behavior requires special casing when !GOLDOBJ and
  dropping some of your gold, to ensure that the remainder remains the first
  item in the inventory
2002-02-25 05:51:44 +00:00
cohrs
6db3117830 sling, like whip, shouldn't shatter from a blow 2002-02-25 02:57:57 +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
cohrs
f9aaeda9b9 monsters jumping into hidden traps
- if a monster jumps into a trap in an SCORR, and you see it, convert to CORR
2002-02-25 01:02:55 +00:00
cohrs
df31185e9c mounting steed while levitating at will
- avoid causing damage if you slip and levitating at will
- change message slightly in this case as well
2002-02-24 21:36:32 +00:00
nethack.allison
8d08badfbb Darkness msg despite sunsword
> Is the "You are surrounded by darkness!" message from reading a cursed
> scroll of light (or non-cursed if confused) appropriate if you're
> wielding Sunsword, which _doesn't_ get turned off by it?
2002-02-24 19:13:32 +00:00
cohrs
0a9beba75e a flag to track if vision is ready
- new iflags.vision_inited to determine if vision is ready to go.
- the flag is set the first time vision_reset() completes, actually every time
- vision_recalc() checks the flag before doing anything.
2002-02-24 18:04:02 +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.allison
f9244b56ad wizkit follow-up
The recent wizkit change caused the build to
fail on all environments other than unix and vms.

>..\src\files.c(1607) : error C2065: 'envp' : undeclared identifier
>..\src\files.c(1607) : warning C4047: '=' :
>'int ' differs in levels of indirect ion from 'char *'
>..\src\files.c(1608) : error C2100: illegal indirection
>..\src\files.c(1608) : warning C4047: 'function' :
>'const char *' differs in levels of indirection from 'int '
>..\src\files.c(1608) : warning C4024: 'strncpy' :
2002-02-24 17:17:25 +00:00
nethack.rankin
6b4429d942 more wizkit: bulletproofing previous change 2002-02-24 06:56:46 +00:00
cohrs
fcf8af733b vault guard message on the wrong level
if vault guard leaves his original level and is killed, clear_fcorr
was still attempted on the wrong level.
2002-02-24 06:56:02 +00:00
nethack.rankin
34f682205c wizkit enhancement
Allow a WIZKIT file name to be specified via the environment.
If none is specified there, get it from the run-time config file.
2002-02-24 06:51:36 +00:00
nethack.rankin
163f394fbe monster use of artifacts
From the newsgroup:  some of the fake player monsters on the
astral level were unable to use artifacts that they were created
with due to alignment mismatch.  Rather than try to adjust the
artifact creation of only select matching items, this patch lets
them handle artifacts when alignments differ (more or less like
the player; monsters don't occasionally get blasted though).

     This also restores chaotic monsters with the ability to use
Stormbringer; I'm not sure how long that has been broken.  It also
gives lawful ones the ability to use Excalibur.
2002-02-24 06:12:57 +00:00
cohrs
cae2ef47c3 random shrines on special levels
- "random" shrines generate the value -1, not -11
- rn2(1) always == 0, should be rn2(2), sanctums aren't random
2002-02-24 05:38:57 +00:00
nethack.rankin
753cc7089f fix B3024: remove vs take off
Change the prompts for P and R commands to use "put on" instead
of "wear" and "remove" instead of "take off", respectively; W and T
commands aren't affected.  There is no change in game play.
2002-02-24 05:05:11 +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
nethack.rankin
3ae126c83f "fix" B6004
The comment about Book of the Dead's taming effect working
on nearby monsters when read while swallowed was wrong.  It was
only put there in the first place to avoid adding extra code to
suppress taming while swallowed when that was done for the other
methods of taming.  Any need for extra code here turns out to be
unnecessary due to the cansee() check.
2002-02-24 00:51:20 +00:00
nethack.rankin
a9b2f4f1ee double undead turning
From the newsgroup:  when an undead monster got killed by a wand
or spell of undead turning, if it left a corpse that corpse would be
hit by the same zap and was immediately revived.  This fix uses the
flag bits that were added to prevent objects that are dropped by a
polymorphed monster from being hit by the same polymorph zap.

     This also fixes a post-3.3.1 bug that produced "the <undead>
turns to flee" even when that monster had been killed by the turning
attack.  3.3.1 had the same bogus fleeing effect but didn't give any
message so it was unnoticeable.
2002-02-23 11:13:41 +00:00
nethack.rankin
6f90e5bc8c Another artifact damage update
Make being hit by an artifact which does fire, cold, or
lightning (or magic missiles, since the code is there) affect
inventory even when the target resists the damage him-/her-/itself.
This removes the need for the redundant fire vs slime handling that
I put in yesterday.  Unfortunately it also means that Valkyries who
throw Mjollnir will inevitably end up destroying all their mettalic
wands and rings, so I reduced the chance of it hitting upon its
return.
2002-02-23 10:55:43 +00:00
nethack.rankin
6cb52557c1 vtense: flyies 2002-02-23 10:37:18 +00:00
arromdee
6033bee646 pudding cloning (from beta-test) 2002-02-23 06:12:55 +00:00
nethack.rankin
6ce22770c9 Fire Brand vs sliming
Being hit by Fire Brand now stops the sliming process if you're
being turned into green slime.  And throwing an artifact up will give
artifact hit effects when it falls back down, making it possible to
hit yourself with Fire Brand (among other things).  Hitting yourself
with Vorpal Blade or the Tsurugi of Muramasa will never behead or
bisect you; hitting yourself with Stormbringer will drain levels.
(I hope the latter doesn't make it too easy for players to manipulate
their experience level.)

     This doesn't add artifact_hit() handling to mthrowu.  If monsters
ever start throwing artifacts that will need to be added.
2002-02-22 03:51:14 +00:00
cohrs
ae9f38222e add_sound_mapping cleanup
- avoid several buffer overflows
- move use of access() to files.c in new can_read_file() function
- remove extra newlines in raw_print() calls
- get ready for lint, eg sprintf -> Sprintf
- generally make the code look like core code, not Qt code
2002-02-21 03:33:42 +00:00
cohrs
403cee9b5b avoid you see it hatch
enexto may place monster out of site, even though egg was in sight.  use
an(m_monnam(mon)) not a_monnam.  Works in this case due to earlier checks.
2002-02-20 02:33:14 +00:00
nethack.allison
a65c59a104 BUC follow-up bit 2002-02-19 14:29:15 +00:00
nethack.allison
4170c75993 More BUC
Defer to the validation code from pickup.c for checking
valid categories.  This reduces the number of callback
functions required, and allows combinations of BUCX
to be used in traditional menu style.
2002-02-19 14:20:21 +00:00
nethack.allison
126294b4de follow-up to Allow BUC with menustyles other than full. 2002-02-19 08:29:31 +00:00
nethack.allison
e054b25590 Allow BUC with menustyles other than full. 2002-02-19 08:22:15 +00:00
cohrs
3b2aa68d24 touchstone: cannot rub on the stone gold
hack around the silly grammar
2002-02-19 07:50:42 +00:00
cohrs
7f946fca6c plural of lotus followup
Don't convert *us -> *i for short words like "bus"
2002-02-19 06:01:45 +00:00
cohrs
d645467f40 permanent inventory window updates
Addresses the follwing missing updates:
- Quest Artifact identification by Quest Leader.
- Rust damage from a rust trap.
- Remove curse as a result of prayer (both fixing TROUBLE_CURSED_* and
  the blessed-remove-curse boon.)
- Charging via PYEC
2002-02-19 05:10:31 +00:00
cohrs
377a3b8482 plural of lotus is lotuses
another makeplural special case
2002-02-19 04:56:15 +00:00
nethack.rankin
81684b1672 high-end monster tuning
Strengthen Death by making his "drains your life force"
result take away some max HPs to augment the ordinary damage
it does.  The chance for that effect is reduced from 80% to
75% though.  Weaken Famine, Pestilence, and Demogorgon by
preventing them from hitting with both of their disease or
hunger attacks on the same turn.  When their first attack
hits, the second now gets treated as a stun attack, but if
the first one misses then the second is unchanged and yields
another chance to deliver the disease or hunger effect.
2002-02-19 03:38:31 +00:00