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.
nethack.rankin [Tue, 11 Feb 2003 11:57:14 +0000 (11:57 +0000)]
falling into water while asleep
Try to fix the reported bug of not waking up if sleeping on ice
that gets melted out from under you. This fixes the straightforward
case but I suspect there are other permutations that it doesn't cover.
Teleporting out of water is now blocked if asleep; waking up occurs
after the chance for that has passed.
nethack.rankin [Tue, 11 Feb 2003 10:10:17 +0000 (10:10 +0000)]
magicbane tweaks
Update the comments to [try to] more accurately describe the behavior.
Also add hallucination handling and make the probe effect be more likely
to occur (or to put it another way, make the stun effect be less likely
since one or the other always takes place--except when stun is superseded
by something more severe).
cohrs [Mon, 10 Feb 2003 19:01:58 +0000 (19:01 +0000)]
nethack -s buffer overflow fix
When printing invalid player names in -s mode, it was possible to overflow
the output buffer due to a missing buffer size check. On shared Unix-like
systems with executable stacks, this could be used as a security exploit,
eg to obtain a shell running as user or group games.
While I was at it, removed a dead block of "#if 0" code
nethack.rankin [Mon, 10 Feb 2003 11:08:29 +0000 (11:08 +0000)]
magicbane fixes
Revamp the Magicbane code so that it won't result in "<monster>
turns to flee" followed by "the magic-absorbing blade scares <monster>".
In the process I noticed that resistance checks for its scare and purge
effects were based on the character's experience level regardless of who
was wielding it or who its target was.
I didn't try to retain the exact behavior it had before, but the
new behavior is pretty close. The main differences are that the "purge"
effect is now called "cancel" and that the stun effect will be less
common now and always gives feedback when it occurs. It used to combine
stun with scare and/or purge in some cases, now it won't; and it used to
always scare when purging, now it will pick one or the other.
nethack.rankin [Mon, 10 Feb 2003 10:23:01 +0000 (10:23 +0000)]
magicbane groundwork
To fix Magicbane's message sequencing, its code needs to be redone
substantially. These changes make that easier.
cancel_monst() let caller know whether cancellation succeeds
resist() give artifact weapons a resistance attack rating
vtense() handle monster names and "you" as subjects; checking against
object names and descriptions pointed out a couple of other
words that would have ended up being miscategorized.
nethack.allison [Sun, 9 Feb 2003 15:42:42 +0000 (15:42 +0000)]
grammar bit
<email deleted> wrote:
> On Sun, 12 Jan 2003 15:40:33 +0100, <Someone>
> <email deleted> wrote:
>
> >You begin praying to Anu. You are surrounded by a shimmering light.
> >You finish your prayer. You feel that Anu is well-pleased.
> >Your stomach feels content.
> >You are feeling mildly nauseous.
>
> Huh.
>
> sh-2.03$ grep nauseous *.c
> pline.c: if (Vomiting) Strcat(info, ", nauseated"); /*
> !"nauseous" */
> potion.c: if(talk) You_feel("much less nauseous now.");
> timeout.c: "are feeling mildly nauseous.", /* 14 */
>
> Well, pline.c has it right. Nauseated means feeling sick. Nauseous
> means sickening to contemplate.
Second opinion (dictionary.com):
> Usage Note: Traditional critics have insisted that nauseous is
> properly used only to mean causing nausea and that it is
> incorrect to use it to mean affected with nausea, as in Roller
> coasters make me nauseous. In this example, nauseated is
> preferred by 72 percent of the Usage Panel. Curiously, though, 88
> percent of the Panelists prefer using nauseating in the sentence
> The children looked a little green from too many candy apples and
> nauseating (not nauseous) rides. Since there is a lot of evidence
> to show that nauseous is widely used to mean feeling sick, it
> appears that people use nauseous mainly in the sense in which it
> is considered incorrect. In its correct sense it is being
> supplanted by nauseating.
nethack.allison [Sun, 9 Feb 2003 05:39:32 +0000 (05:39 +0000)]
B18009 animate figurine over water
>More worrying is the fact that applying a figurine over water lets
>the monster wait until its next move before it drowns (giving
>you time to teleport it to safety, or whatever) [...]
>Should there be a minliquid() check as part of make_familiar()?
Applying at the water location next to you was easy. But
applying it at your own location (triggering BY_YOU) could
end up placing the figurine at the far side of the level if
there was lots of water.
Correcting that required the ability to pass a flag from
make_familiar to makemon() telling it to not rule out
water locations as good positions. The flag had to
be passed on down to goodpos() and enexto().
The bulk of this patch is just adding an additional
argument to goodpos() in all of the callers.
nethack.allison [Sun, 9 Feb 2003 00:36:33 +0000 (00:36 +0000)]
fix B18011 warning loss
> If you remove a ring of warning, see_monsters() is called to make
> sure that the numbers get removed from the display. However, if
> your only source of warning is experience level and you get
> drained and feel "less sensitive", it isn't, and they're not.
nethack.rankin [Fri, 7 Feb 2003 10:04:27 +0000 (10:04 +0000)]
fix B18007 - travel cmd forces extra keystroke
I don't know whether there were any other odd situations besides moving
onto known traps being caused by the out of date value in flags.run; several
places do check to see whether it's 8.