Update the instructions, add a dat -> util dependency so that
MMK (freeware clone of DEC's MMS make utility) builds the data files
when necessary, and switch the default compiler to DEC C.
- adds a few more items.
- remove the line "primarily a bug fix release" since it it were,
it would be 3.3.2
- remove "to tell more would be cheating" reference, since we're
considering including fixes34.0 in the distribution
- expands on the Gnomehack stale situation
- 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
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.
- 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
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.
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.
- 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
> 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?
- 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.
-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. :-)
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' :
I didn't mean to override for any color in the mask. My
earlier patch caused it to make green, blue, or red all
become black (which still looked better than white on
grey).
This gets it right (famous last words), and only makes
the text character's color black if it is actually white
or bright white.
when hilite_pet was enabled. After checking into it, the
test was looking for the value:
(FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED)
which signifies a white color on win32 console I/O. The
problem was that in some cases that was OR'd with
something else such as FOREGROUND_INTENSITY.
Fix it by checking only the bits that matter when
turning on the attribute.
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.
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.
<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.
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.
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.
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.
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.