cohrs [Mon, 10 Mar 2003 20:57:49 +0000 (20:57 +0000)]
non-humanoid lawful minions wearing armor
<Someone> reported that couatl and ki-rin could wear boots and gloves.
Two problems: 1. all minions were created with a sword and armor, even those
that couldn't use them. 2. couatl and ki-rin were missing some important
bits in their M1 flags.
Now neither couatl or ki-rin are created with armor, and they won't try
to wear any armor they cross in the dungeon.
nethack.allison [Sun, 9 Mar 2003 15:44:50 +0000 (15:44 +0000)]
win32tty keystroke handling
- Move the code for keystroke handling into its own source file.
- Compile and link it as a dynamic link library.
- Dynamically load the keystroke handler at runtime
- Add support for specifying a different handler in defaults.nh
so that internationalization issues can be dealt with without
rebuilding nethack, just supply alternative handlers in HACKDIR.
The following exported functions need to be present in
the keystroke handler .dll:
ProcessKeystroke - returns an ascii value to NetHack
NHkbhit - allows peeking to see if a key/mouse press is waiting
SourceWhere - returns location for souce code for a keystroke handler
SourceAuthor - returns author information for a keystroke handler
KeyHandlerName - returns the full or short name of the keystroke handling dll.
cohrs [Wed, 5 Mar 2003 05:45:45 +0000 (05:45 +0000)]
U319 - lotu juice
Valid fruit names like lotus would result in funny fruit juice names, eg
"lotu juice". Looking at a long list of words ending in "us", the ones one
might reasonbly use for a fruit name were all singular, as were almost all
of the unreasonable words. Changed the logic to prefer to leave "us" words
alone, except for 2 monster types that might be entered with "s" at the end.
Tengus is not correct, according to makeplural, but I put that in to be nice.
nethack.allison [Wed, 5 Mar 2003 04:39:47 +0000 (04:39 +0000)]
Several things that break savefile compatibility
- Version change from 3.4.x
- timed_delay feature ignore in makedefs
- several flags from iflags to flags
- use offsets from mons array entries in save file rather than storing
the ptr and calculating the distance from beginning of array
cohrs [Tue, 4 Mar 2003 06:53:25 +0000 (06:53 +0000)]
U313 - crash applying figurine, cursed bell or candles
Reported for applying a figurine that was used up, but I found the same
problem could affect cursed bells and candles. Modified all three helper
functions to indicate when the object is gone, and modified doapply to
deal with this before doing the artifact check.
nethack.allison [Mon, 3 Mar 2003 23:31:36 +0000 (23:31 +0000)]
win32 stuff held until after bugfix release (from <Someone>)
-better handling of "more" prompt for messages that would have scrolled off the window
-support perm_invent
-menu option to add/remove windows captions
cohrs [Mon, 3 Mar 2003 05:56:58 +0000 (05:56 +0000)]
U58 - Targetting problem with infravision/ESP
A skilled/expert caster of fireball/cone of cold was not able to target
a location with a monster seen only by infravision/ESP. Since you can
focus on the monster there, targetting shouldn't fail in this case.
Attempting to lock onto a monster inside stone still won't work.
cohrs [Sun, 2 Mar 2003 21:54:37 +0000 (21:54 +0000)]
B20008 - seeing pet move
The cansee() checks are not really correct for seeing your pet move.
Changed them to a pair of canseemon() checks, one before the move, one after.
I can see an argument for canspotmon(), but decided to keep it based on sight.
If your pet is unseen in both locations, you won't get any messages, which
I think is more correct. If you do get the message, use noit_Monnam to
ensure no more "it" message.
cohrs [Sun, 2 Mar 2003 15:46:20 +0000 (15:46 +0000)]
remove duplicated fixes
Un-list fixes also listed in fixes34.2. This causes the fixes files to
still reflect all the changes since the last one, from the point of view of
someone seeing a release tarball.
cohrs [Sun, 2 Mar 2003 06:36:24 +0000 (06:36 +0000)]
U287 - how old is nethack
Every release, we get at least one message asking when the first version
of nethack was released. Add the year of 1.4 to the history file.
cohrs [Sun, 2 Mar 2003 06:21:29 +0000 (06:21 +0000)]
Building src objects via Makefile.utl
<Someone> noticed that if one builds something in util and the required .o
files aren't already built in src, the .o gets placed in the wrong place.
Added the missing '-o $@' to the compilation command.
cohrs [Sun, 2 Mar 2003 06:07:19 +0000 (06:07 +0000)]
U277 - Gnome compilation on Redhat 7.2 & 8.0
Reported on RH 7.2 and 8.0. Compilation failed because system headers that
needed _GNU_SOURCE on these Redhat versions got included before it was
defined. To ensure _GNU_SOURCE is defined, added an autodetect for it to
config1.h and removed the need to set it in unixres.c. __linux__ is also
checked elsewhere.
cohrs [Sun, 2 Mar 2003 05:41:00 +0000 (05:41 +0000)]
U295 - bones file creation cursing secondary weapon caused panic
As reported, if you're twoweaponing and die, your secondary weapon may
become cursed and drop. But, the bones file code is dropping everything
and tries to drop it again, causing a panic. drop_upon_death just clears
things out, so follow suit for uswapwep.
cohrs [Sun, 2 Mar 2003 05:33:45 +0000 (05:33 +0000)]
C341-1 - don't make monsters angry if they enter non-hero regions
this currently affects only regions created created by deads heros
found in bones files
cohrs [Fri, 21 Feb 2003 04:32:29 +0000 (04:32 +0000)]
minor Unix Makefile mod
I just noticed that the installed owner/group of "recover" was not being
set correctly. This has no important effect, but does look funny.
cohrs [Fri, 21 Feb 2003 04:02:38 +0000 (04:02 +0000)]
updating official Linux binary
I'm updating the official binary to be built on a Redhat 8.0 system. This
should give the binary some legs if we take a while to get the next release out.
keni [Thu, 20 Feb 2003 16:36:02 +0000 (16:36 +0000)]
(keni, for jhsa)
here are two minor patches for amigaport (ppc/gcc related, compiletime).
Teemu noticed these during a testcompile for 341 tarball today.
nethack.allison [Thu, 20 Feb 2003 03:42:46 +0000 (03:42 +0000)]
win32 "more" handling (from <Someone>)
> There is a slight problem with "--more--" prompt being handled in
> WM_PAINT. WM_PAINT can be sent while you're inside
> mswin_nhgetch(). This causes some weirdness if window is resized
> while waiting for --more-- prompt.
nethack.rankin [Thu, 20 Feb 2003 00:19:49 +0000 (00:19 +0000)]
fix B20003 - hallucination and warning
> Why does warning work normally while hallucinating? I'd like to see
> random numbers.
It's just a one-liner, although it has pointed out problems in the
symbol lookup code. "0" won't work at present, so this doesn't use it,
but warning symbols "1" through "5" also have trouble--regardless of
hallucination--if someone overloads them to represent any feature aside
from warning.
nethack.allison [Wed, 19 Feb 2003 14:01:35 +0000 (14:01 +0000)]
another win32 Makefile.gcc (from <Someone>)
another error in the makefile.gcc, not fatal, just a leftover
from the MS makefile. This patch includes both makefile fixes.
nethack.allison [Wed, 19 Feb 2003 13:57:20 +0000 (13:57 +0000)]
Makefile bcc (from Yitzhak)
1) Update documentation for using bison/flex
2) Fix use of $(CC). In the makefile, it's supposed to be $(cc).
Otherwise it won't compile. [caused during recent dependency
updates]
nethack.rankin [Wed, 19 Feb 2003 12:26:03 +0000 (12:26 +0000)]
confuse monster bit
'+' is not a valid argument to resist(), although it still works
since the default case catches it. Make the spell class explicit,
although I don't think having the effectiveness of scrolls of confuse
monster depend on the character's level makes much sense.
nethack.allison [Wed, 19 Feb 2003 11:44:14 +0000 (11:44 +0000)]
runtime port identification
The CE ports use makedefs hosted on another platform,
so the version string generated at build time isn't really
appropriate.
Add a way to add information to the version string
at runtime for such ports.
nethack.rankin [Wed, 19 Feb 2003 09:55:17 +0000 (09:55 +0000)]
teleporting monster strategy
Reported last spring and again last week: monsters who teleport to
your location (named demons, master liches, and so forth) continue to do
that even if they've just used a scroll or wand of teleportation to get
away from you. This doesn't prevent that situation but does make it be
much less likely to occur.
nethack.rankin [Wed, 19 Feb 2003 08:35:51 +0000 (08:35 +0000)]
wizkit revisited
The previous changed ended up discarding the begining portion of
excessively long lines and keeping the end. It's unlikely that either
part is going to be valid, but reporting the ending portion as a failed
wish would make tracking down and fixing the situation trickier.
nethack.allison [Wed, 19 Feb 2003 05:12:31 +0000 (05:12 +0000)]
lint follow up
Janet wrote:
>There is one more new complaint that might cause problems:
>explode.c(545): warning: conversion from long may lose accuracy
nethack.allison [Wed, 19 Feb 2003 04:31:46 +0000 (04:31 +0000)]
undead turning of ghost on bones level
<email deleted>
Newsgroups: rec.games.roguelike.nethack
Subject: Re: Other ways to destroy the Amulet
<Someone> wrote:
>>> Zapped undead turning at his _corpse_, which brought the corpse
>>> back to life and also destroyed the ghost. The revived
>>> character was not carrying anything.
>>
>> Hmm, didn't the Amulet fall to the floor like when you genocide
>> something that's carrying something?
>
> Nope.
>
> That's because undead turning does mongone(ghost). The mongone
> function destroys the inventory of the monster:
> discard_minvent(mdef); /* release monster's inventory */
>
> Whereas genocided monsters are removed with mondead, which calls
> m_detach, which calls relobj, which drops the monster's inventory
> on the floor.
cohrs [Tue, 18 Feb 2003 17:08:04 +0000 (17:08 +0000)]
B20001 - shopkeeper angry at unnamed customer
The "following" flag could get set in several places where it was not
obvious that the customer name would be remembered. Since the shopkeeper
should always get angry at the current player, set the name at the same
place that the flag is set.
nethack.rankin [Fri, 14 Feb 2003 01:06:08 +0000 (01:06 +0000)]
fix B18012 - Werebane
Make wielding Werebane confer defense against catching lychanthropy
from monster bites. It doesn't protect against catching that from eating
lycanthrope corpses and might blast the character if wielded at such time.
Also fix artifact handling to recognize the character as lycanthrope
while in normal human/elf/whatever form--rather than only when in beast
form--just like it does for monsters.
nethack.rankin [Thu, 13 Feb 2003 23:32:48 +0000 (23:32 +0000)]
fix U206 - cursed leash/pacifist conduct
Treat strangling a pet with a cursed leash like a regular monster
kill; you'll get experience, lose pacifism conduct, and suffer various
pet-killer effects. Also do some minor damage and reduce tameness for
the case where the pet is described as being choked but isn't killed.
nethack.allison [Thu, 13 Feb 2003 11:04:56 +0000 (11:04 +0000)]
tombstone engraving with fingers
<email deleted> wrote:
> comments: When I try to write in the dust, with my finger, on a
> tombstone, it works the first time, but after that I'm getting a
> message that I can not erase what's written here. Is that an
> intentional way of preventing us gaining a bunch of levels fighting
cohrs [Thu, 13 Feb 2003 07:52:49 +0000 (07:52 +0000)]
U162 - killing shopkeeper with unpaid thrown objects
While an object is being thrown, it isn't on any list. This means that
killing a shopkeeper with an unpaid object wouldn't be able to clear the
unpaid bit. By the time the object lands, the shopkeeper is gone, and then
it's too late. Added a new global to track a thrown object, set it and later
clear it in throwit(), also clear it as needed in dealloc_obj(), and check
it in setpaid(). It should be possible to use this global to avoid losing
thrown objects during hangup saves as well. But that can wait.
cohrs [Thu, 13 Feb 2003 05:23:46 +0000 (05:23 +0000)]
steeds don't remember traps
<Someone> reported to the list that steeds didn't remember traps
encountered while mounted. When not mounted, a monster will remember
traps, even when they don't damage the monster. To that end, added code to
set the steed's mtrapseen mask.
cohrs [Thu, 13 Feb 2003 04:55:29 +0000 (04:55 +0000)]
B17007 - ctrl/p documentation
mention msg_window in the Guidebook and long online help. I didn't update
hh since that only has one-liners. Also made the msg_window default clear
in the Guidebook and opthelp. Plus, an update to Guidebook.txt in hopes
that it won't need another before release.
cohrs [Wed, 12 Feb 2003 06:30:06 +0000 (06:30 +0000)]
pline bits
a few plines that were without punctuation. There may be more non-DEBUG
pline or pline-like things that are still missing punctuation. They are
almost impossible to find after the fact, since they could be anywhere,
including in various dat files and functions that pass strings and formats
into other functions that call pline.
cohrs [Wed, 12 Feb 2003 02:07:22 +0000 (02:07 +0000)]
U260 - waiting times out for no reason while in were form
The initial report thought this was related to summoning help. It's not.
moveloop would attempt to call you_were() even when you_were() would not
actually change your form. Certainly there's a layering problem here, but
for now, just put in the same check peffects() uses to avoid calling
you_were() unnecessarily.