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().
This fixes the problem with my monster spell changes which let monsters
summon monsters around you when they don't even know you're around.
The summoned monsters should appear where the monster thinks you are, if
you're invisible or displaced.
I have not prevented them from summoning monsters when you are in a temple,
nor have I prevented them from aggravating monsters several times when you're
out of sight.
Messages should be a little smarter, taking into account number of monsters
and invisibility/displacement.
--Ken A
Players wielding a lance while riding will "joust" monsters
they attack.
Note that monsters don't get pushed into inaccessable tiles such
as walls, doors, iron bars, water, or lava; they stay at the edge.
Further refinements are possible for these cases.
The change to allow digits in maps causes the comments that were
incorrectly placed inside MAP/ENDMAP blocks to be seen as valid
map lines. They were quietly skipped before by the old scanner.
Move them out.
-dlc
so that it will not be included in the diff between
the versions.
Also note that the -ko option in effect for that file
causes it to leave the value at whatever is
checked in from now on.
One from <Someone>'s list: there's no particular reason for
the High Priest of Moloch in the temple on the sanctum level in
Gehennom to have his identity concealed when he's detected from
a distance. I also changed the concealment of the Astral Plane
to stop when you're adjacent to the priest, since #chat--among
other things, such as simply entering the temple--provides other
means of identifying which temple it is once you're there.
Files patched:
include/extern.h
src/do_name.c, pager.c
This patch allows the digits 0-9 to be used to indicate line numbers
in the MAP...ENDMAP arrays of level files. This makes it a wee
bit easier to place features. The digits get stripped out before
the map is interpreted.
Implement a patch which <Someone> posted on the newsgroup back in September:
"If I had my druthers, daggers would be chosen over other
weapons if there's no missiles or suitable ammo available, and weapons
not designed for throwing wouldn't be chosen at all."
The new routine needed to do something with u.ulevelmax
(which controls whether lost levels can be regained via magic).
This sets it to the new level rather than having it go up or
down the same amount as the user specified in the level change,
which yields a plausible reason for using this command to set
experience level explicitly to its current value.
The new code was using a mixture of spaces and tabs for
indentation; I've totally reformatted it.
Regarding the Shrieker source,
http://www.peldor.com/chapters/story678.html:
" The player characters depicted in these stories are copyright
1991-2000 by Thomas A. Miller. Any resemblance to any persons
or characters either real or fictional is utterly coincidental.
Copying and/or distribution of these stories is permissible under
the sole condition that no money is made in the process. In that
case, I hope you enjoy them!
Thomas A. Miller"
This was caused by character set incompatibility between message and map
windows. Apparently, Nethack is using IBM character set (CP 437) but fonts
were create for Windows ANSI codepage. I fixed most of it by changing
character set of the fonts except for the Rogue level. I had to make changes
to src/drawing.c for Rogue level since most of Windows fonts are not capable
of displaying control characters (char. code<0x20)
And of course, disabling IBMGraphics option fixes it all.
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.
This patch adds several new levels from <Someone>'s Gnomish
Mines patch, after devteam revision.
The ordering of levels in mines.des has also been cleaned up.
A number of players have complained that Sokoban can be rendered
unsolvable without "creative nethacking" when monsters zap wands of
digging. This patch prevents monsters from selecting wands of
digging in Sokoban.
Note that we can't simply make Sokoban HARDFLOOR, as that causes
problems with the hole generation code.
When potions of full healing got added, they included the
ability to restore lost experience levels when blessed ones are
quaffed. This patch throttles them so that when multiple levels
have been lost, drinking multiple potions can only restore half
of those levels. Also, it prevents them from fixing any level
loss which occurs if you polymorph into a "new man" (or woman
or dwarf, &c, where you can gain or lose up to 2 levels).
This also makes the "golden glow" prayer result be at least
as good as blessed full healing by restoring a lost level instead
of giving 5 extra hit points when you have any recoverable lost
levels pending.
And tangentially related: gaining a level while polymorphed
now gives your current monster form an extra hit die in addition
to the latent boost your normal human/whatever form gets.
Files patched:
src/exper.c, polyself.c, potion.c, pray.c
This adds <Someone>'s lens patch.
This is probably it for me adding in any more user-contributed patches for
3.3.2 (except maybe coin flipping; does anyone object to it?)
--Ken A.
Testing the Astral Plane showed that the summon insects spell was a little
ridiculous with the new monster spellcasting routines. You can easily
have enough priests within range of you that insects are summoned almost every
round. I've made this saner by halving the frequency of the spell. The player
will still probably encounter summoned insects a lot more than before.