]> granicus.if.org Git - nethack/log
nethack
21 years agomore win32tty fixes
nethack.allison [Sat, 25 Oct 2003 04:02:24 +0000 (04:02 +0000)]
more win32tty fixes

There were still some significant startup message problems
with win32tty.

I've spent a lot of time in the debugger tracing through them all.
I think I've got them all worked out now, certainly the ones that
I was aware of.  There may be some I haven't discovered.
Testing welcomed of course!

This patch also attempts to diagnose the error where someone tries
to execute NetHack directly out of a zip file, and provide
them with a (hopefully) helpful message similar to what we
might end up telling them if they wrote in.  If you want
to test that part, you can comment out the line in the
Makefile that adds "dungeon" to nhdat, and delete the nhdat
in your binary and src directories, and "make install".
Then add the value of your TEMP environment variable as a
DATADIR statement in defaults.nh (here's mine):
DATADIR=C:\DOCUME~1\ALLISO~1\LOCALS~1\Temp
The diagnostic code engages if the game fails to open
dungeon. It then checks to see if it the game dir is the
TEMP directory for your system, and if so it prints the
message.

21 years agofixes catchup
nethack.allison [Sat, 25 Oct 2003 03:59:09 +0000 (03:59 +0000)]
fixes catchup

21 years agowin32tty: startup msg cleanup
nethack.allison [Fri, 24 Oct 2003 15:15:44 +0000 (15:15 +0000)]
win32tty: startup msg cleanup

the win32 cursor restriction stuff messed up any
messages displayed during abnormal start conditions
where the window system never got initialized properly.
among them:
- messages relating to lock files or games in progress
- dungeon errors
- early panic messages

21 years agostarting pet identification
nethack.allison [Fri, 24 Oct 2003 12:15:46 +0000 (12:15 +0000)]
starting pet identification
make it possible for the code to recognize your starting pet throughout the
game via is_starting_pet(mon) macro.

21 years agowere followup
nethack.allison [Fri, 24 Oct 2003 12:06:13 +0000 (12:06 +0000)]
were followup

"Rat's appear" -> "Rats appear"
Use makeplural rather than s_suffix.

21 years agostarting pet identification
nethack.allison [Fri, 24 Oct 2003 11:52:49 +0000 (11:52 +0000)]
starting pet identification

Make it possible to identify your starting pet throughout the game
via is_starting_pet(mon) macro.

21 years agocvsfix
nethack.allison [Fri, 24 Oct 2003 10:20:00 +0000 (10:20 +0000)]
cvsfix

My cvs tree had the correct code. When I did a cvs update
it didn't pull anything down. When I deleted the include/extern.h
file from my cvs tree, and did an update with the "get the clean copy"
switch, it pulled down an extern.h that was indeed missing the
prototype.  In all cases my local cvs reported that it was 1.130.
I applied the prototype change to the cvs copy, did a cvs diff
to ensure nothing else was out of sync and re-committed.

21 years agostone to flesh bit
cohrs [Fri, 24 Oct 2003 05:58:39 +0000 (05:58 +0000)]
stone to flesh bit
<Someone> suggested and I agree (mostly, if you're a Monk poly'd to a
strict carnivore, I think it should still smell delicious):
> "You smell the odor of meat." (if herbivorous)
> "You smell a delicious smell." (otherwise)
> I think that if your character is a monk or still veg(itari)an, you should
> also get the first message. Even if you're not intentionally vegitarian,
> the first message is still appropriate.

21 years agoanother conflict abuse
cohrs [Fri, 24 Oct 2003 01:59:48 +0000 (01:59 +0000)]
another conflict abuse
Reported a really long time ago (June 2001) by <Someone>:
 - stand on the upstairs and engrave Elbereth with a /oFire
 - create Demogorgon and e.g. a tame dragon
 - cause conflict
 - Dragon will kill Demogorgon and Demogorgon will never ever attack Dragon.
All monsters could still attack Demogorgon without response via fightm().
Modified fightm() to include a bit of code in m_move and dog_move, allowing
response to an attack.  Testing this in action, Demogorgon still usually
did things detrimental to the player, mostly summoning nasty monsters.

21 years agobuglist: polymorphed into quantum mechanic
nethack.allison [Fri, 24 Oct 2003 01:54:34 +0000 (01:54 +0000)]
buglist: polymorphed into quantum mechanic
<email deleted> wrote:
- When polymorphed into a quantum mechanic, it is possible to jump in
  the water on a no teleport level and instinctively teleport.
- When an engulfing monster is teleported away on a no teleport level
  when the hero is polymorphed into a quantum mechanic, there is no
  message displayed like "You are no longer engulfed!" because
  u_teleport_mon is passed FALSE for give feedback. But maybe this is
  for a good reason...

21 years ago<Someone>'s were_summon rules
nethack.allison [Thu, 23 Oct 2003 12:13:21 +0000 (12:13 +0000)]
<Someone>'s were_summon rules

>Hemmed in by one invisible wererat?
><Someone>: Should I feel hemmed in if I can see that a wererat summons
>zero rats? Can the invisible wererat hem me in all by itself? And
>even if it had summoned anything, wouldn't a different message had
>been clearer (for isntance, "Rats appear around you!"); after all,
>I could see *what* was hemming me in.
>I agree that the current messages (and even the ones aspired to by the
>comment) are non-ideal.

<Someone>'s suggested set-up:
Seen summoner, seen help    : "The wererat summons help!"
Seen summoner, unseen help: "The wererat summons help! You feel hemmed in."
Seen summoner, no help: "The wererat summons help! But none comes."
Unseen summoner, seen help: "(A rat appears|Rats appear) from
nowhere!"
Unseen summoner, unseen help: "You feel hemmed in."
Unseen summoner, no help: No message.

21 years agocharging tweak
nethack.rankin [Thu, 23 Oct 2003 07:41:24 +0000 (07:41 +0000)]
charging tweak

     Some newsgroup discussion recently pointed out that source comments
for scrolls of charging didn't match the actual charge increase performed
by that magic.  This bumps the values a little bit
 (uncursed: comment said 5 to 15, actual amount was 10 to 14, now 10 to 20;
  blessed: comment said 10 to 25, actual amount was 16 to 25, now 15 to 30)
and adjusts the comments to match the code.

21 years agoweapon skill tweak
nethack.rankin [Thu, 23 Oct 2003 07:12:03 +0000 (07:12 +0000)]
weapon skill tweak

     Barbarians start with either a two-handed sword and an ordinary axe
or a battle-axe and a short sword.  The latter combination was the only
one among all the roles where the player couldn't enhance skills for
starting weapons to expert.  Fix that by allowing barbarians to become
expert in short swords; reduce potential capability with pick-axe/mattock
from expert down to skilled to compensate for the increase.

     This also addresses an earlier complaint that monks are no better in
martial arts than samurai even though the latter have lots of choices for
good weapon skills.  Reduce the martial arts limit on samurai from grand
master to just master; likewise with bare-handed combat for barbarians
and cavemen.  In this case there didn't seem to be any need to bump the
limit on anything else as compensation.

     I still think non-rogues shouldn't be allowed to become expert in
daggers (which means that ranger and valkyrie starting gear would need
to change slightly) due to how powerful throwing them is, but I haven't
included that change here.

     For the skills which have lower upper limits than before, existing
characters who have #enhanced their skills high enough with the previous
code will retain their higher-than-max skill ranking with the new code.
Characters who have exercised enough to advance to the old max but
haven't done so yet will be limited to the new max.

21 years agoinappropriate lit_corridor check
cohrs [Thu, 23 Oct 2003 06:49:22 +0000 (06:49 +0000)]
inappropriate lit_corridor check
To reproduce: disable lit_corridor, enter a corridor, read a scroll of
light, then read a cursed scroll of light.  The corridor won't darken again.
A test of flags.lit_corridor in newsym was at fault.  I'm guessing this was
never noticed because lit_corridor is on by default on Windows and the
default lit and unlit corridor symbols are the same on most other platforms.

21 years agolex update
nethack.rankin [Thu, 23 Oct 2003 06:30:43 +0000 (06:30 +0000)]
lex update

     This is a case where a one-line change to the scanner source produces
a large diff in the generated C code.

21 years agoHalf_physical_damage 08
nethack.allison [Thu, 23 Oct 2003 04:53:46 +0000 (04:53 +0000)]
Half_physical_damage 08

missed a spot

21 years agosupport engraving in blood in special level files
cohrs [Thu, 23 Oct 2003 02:36:23 +0000 (02:36 +0000)]
support engraving in blood in special level files
the file format and sp_lev.c supported it, but the level parser didn't

21 years agobuglist: cutting Shopkeeper the long worm
cohrs [Thu, 23 Oct 2003 02:30:46 +0000 (02:30 +0000)]
buglist: cutting Shopkeeper the long worm
Cutting a shopkeeper poly'd as a long worm would generate strange messages
and could result in a crash.  cutworm didn't deal with all the intricacies
of duplicating a monster.   Fixed by changing cutworm() to use clone_mon()
to do most of its dirty work.  It seems to me that without this change,
cutting a tame long worm could also have similar bad effects.
Other side effects of this change:
- clone_mon now takes x,y coordinates, 0,0 results in previous behavior
- clone_mon no longer always makes cloned monsters tame/peaceful if player
  caused the clone, using the same formula previously in cutworm.  Someone
  else may wish to tweak this for gremlins.
- clone_mon will christen the new mon with the old shopkeeper's name, even
  though clones are never shopkeepers (game can't handle 2 for a shop)
- cutworm can now be called during conflict or pet combat, although I
  added no such calls (yet)

21 years agoextra control characters in panic messages
cohrs [Thu, 23 Oct 2003 01:30:05 +0000 (01:30 +0000)]
extra control characters in panic messages
I noticed a few panic messages contained newlines, and one included a naked
carriage return.  panic() adds a newline itself, and also generally ensures
the message will be on a new line (the initial "oops" ensures the message
itself will be on a new lines).  This patch removes the unneeded characters.

21 years agogcc warning bit
cohrs [Thu, 23 Oct 2003 01:24:20 +0000 (01:24 +0000)]
gcc warning bit

21 years agoHalf_physical_damage 07
nethack.allison [Wed, 22 Oct 2003 23:05:24 +0000 (23:05 +0000)]
Half_physical_damage 07

It is not physical damage if:
1. it already qualifies for some other special type of damage
   for which a special resistance already exists in the game
   including: cold, fire, shock, and acid. Note that fire is
   extended to include all forms of burning, even boiling water
   since that is already dealt with by fire resistance, and in
   most or all cases is caused by fire.
2. it doesn't leave a mark. Marks include destruction of, or
   damage to, an internal organ (including the brain),
   lacerations, bruises, crushed body parts, bleeding.

Current exceptions to the rule (already existing):
- holy water burning chaotic ("it burns like acid") is physical damage.
- unholy water burning lawful is physical damage.

21 years agoHalf_physical_damage 06
nethack.allison [Wed, 22 Oct 2003 03:02:11 +0000 (03:02 +0000)]
Half_physical_damage 06

- [fixed in trunk] Alchemical explosion
- [fixed in trunk] Artifacts' blasting
- [fixed in trunk] Boiling/freezing potions
- [fixed in trunk] Chest/door/tin traps
- [fixed in trunk] Falling rocks/boulders (trap, digging, scroll of earth)
- [fixed in trunk] Mixing water and acid
- [fixed in trunk] Thrown potion (acid)

This is my last patch on this today.

21 years agoHalf_physical_damage 05
nethack.allison [Tue, 21 Oct 2003 23:45:11 +0000 (23:45 +0000)]
Half_physical_damage 05

- [fixed in trunk] Jumping/Newton's-Thirding into something solid
- [fixed in trunk] Being hit by Mjollnir on the return
- [fixed in trunk] Contaminated or boiling water from a sink
- [fixed in trunk] Falling on a sink while levitating
- [fixed in trunk, fire only] Any passive attack
- [fixed in trunk] Zapping yourself with a wand, horn or spell
- [fixed in trunk] Burning (un)holy water
- [fixed in trunk] Thrown potion (bottle)
- [fixed in trunk] Bumping head on ceiling by cursed levitation
- [fixed in trunk] Exploding rings and wands (under all circumstances)
- [fixed in trunk] Stinking cloud damage
- [fixed in trunk] Sitting in a spiked pit, in lava
- [fixed in trunk] Exploding spellbooks
- [fixed in trunk] Falling off or failing to mount a steed
- [fixed in trunk] Falling into a (spiked) pit
- [fixed in trunk] Land mine explosion
- [fixed in trunk] Fire traps

21 years agoHalf_physical_damage 04
nethack.allison [Tue, 21 Oct 2003 18:49:57 +0000 (18:49 +0000)]
Half_physical_damage 04

- [fixed in trunk] iron-ball-pulling yourself out of a bear trap
- [fixed in trunk] Hitting your foot with a bullwhip
- [fixed in trunk] Hooking yourself with a grappling hook
- [fixed in trunk] Being thwacked by an iron ball chained to you
- [fixed in trunk] A crystal ball exploding on being applied
- [fixed in trunk] Hitting yourself with your pick-axe
- [fixed in trunk] Molten lava (entering or being splashed)
- [fixed in trunk] Getting squished in a pit under a boulder
- [fixed in trunk] Kicking something that makes you go "Ouch!"

21 years agoHalf_physical_damage 03
nethack.allison [Tue, 21 Oct 2003 17:54:32 +0000 (17:54 +0000)]
Half_physical_damage 03

- fish out of water

21 years agopets getting "stuck" trying to reach inaccessible objects
cohrs [Tue, 21 Oct 2003 17:16:50 +0000 (17:16 +0000)]
pets getting "stuck" trying to reach inaccessible objects
Incorporate a slightly modified version of a patch submitted by <Someone> back in June.  The basic problem, which I noticed again this past
weekend, is that pets with a high apport value can still try to get to
objects when there's no path to the object.  The patch extends the
can_reach_food function to be used for any object, renaming it to
can_reach_location, and adds a could_reach_item function for doing point
checks.  This also removes any chance of a pet dragon, for example, eating
something underwater.

21 years agoHalf_physical_damage 2
nethack.allison [Tue, 21 Oct 2003 16:47:59 +0000 (16:47 +0000)]
Half_physical_damage 2

Another batch of missing Half_physical_damage checks
from the list provided by <Someone>:
- Scrolls of fire (!confused)
- Broken wands
- Splattered burning oil from thrown potion
- Dipping a lit lamp into a potion of oil
- Scrolls of fire (confused, didn't bother with non-confused)
- Being caught in a fireball

Adds a macro Maybe_Half_Phys to assist.

21 years agoU704 - creating unappropriate hell random monsters
cohrs [Tue, 21 Oct 2003 16:20:18 +0000 (16:20 +0000)]
U704 - creating unappropriate hell random monsters
When changing levels, the state of rndmonst() is reset, causing the monster
choices to be recalculated.  However, the frequency counts for initial
uncommon() monsters were never cleared.  Thus, if the first non-extinct
monster were a hell monster, and you returned to the main dungeon, the hell
monster will remain in the list and could be selected.

21 years agowin32tty hangs if you ^C at "Who are you?"
nethack.allison [Tue, 21 Oct 2003 15:19:08 +0000 (15:19 +0000)]
win32tty hangs if you ^C at "Who are you?"

From Newsgroups: rec.games.roguelike.nethack :
> <email deleted>
> Subject: question for windows tty users
>
> I am trying to hunt down a bug, and want to know if I have
> encountered another one of those bizarre "features" that only
> occur on my computer (I seem to get a lot of them).
>
> I can reproduce this bug, or whatever it is, in the official
> Windows binary like this: Start the tty version of NetHack by
> double clicking on the program. You won't see the bug if you
> start it from the command line. When the game asks, "Who are
> you?" press ^C. NetHack will respond with "^C abort. Hit
> <Enter> to end," and then it hangs. Pressing Enter does
> nothing, and the program does not end.
>
> Can anybody else reproduce this behaviour? Thanks in advance.
>
> -- <Someone>

21 years agowin32tty hangs if you ^C at "Who are you?"
nethack.allison [Tue, 21 Oct 2003 14:17:04 +0000 (14:17 +0000)]
win32tty hangs if you ^C at "Who are you?"

From Newsgroups: rec.games.roguelike.nethack :
> <email deleted>
> Subject: question for windows tty users
>
> I am trying to hunt down a bug, and want to know if I have
> encountered another one of those bizarre "features" that only
> occur on my computer (I seem to get a lot of them).
>
> I can reproduce this bug, or whatever it is, in the official
> Windows binary like this: Start the tty version of NetHack by
> double clicking on the program. You won't see the bug if you
> start it from the command line. When the game asks, "Who are
> you?" press ^C. NetHack will respond with "^C abort. Hit
> <Enter> to end," and then it hangs. Pressing Enter does
> nothing, and the program does not end.
>
> Can anybody else reproduce this behaviour? Thanks in advance.
>
> -- <Someone>

21 years agowin32 acknowledgement bit
nethack.allison [Tue, 21 Oct 2003 12:14:12 +0000 (12:14 +0000)]
win32 acknowledgement bit

21 years agowin32 dep
nethack.allison [Tue, 21 Oct 2003 11:06:20 +0000 (11:06 +0000)]
win32 dep

21 years agosome lint cleanup
nethack.rankin [Tue, 21 Oct 2003 05:59:33 +0000 (05:59 +0000)]
some lint cleanup

     Using
gcc -Wall -Wshadow -Wpointer-arith -Wwrite-strings \
    -Wmissing-braces -Wmissing-prototypes
with an old version of gcc.

mhitu.c: In function `hitmu':
mhitu.c:1176: warning: declaration of `buf' shadows previous local
options.c: In function `special_handling':
options.c:2712: warning: initialization discards `const' from pointer target type
options.c:2745: warning: initialization discards `const' from pointer target typ
trap.c: In function `dotrap':
trap.c:1111: warning: `saddle' might be used uninitialized in this function

The first one is no longer present in the trunk code.  The last one is
bogus as its wishy-washy wording suggests.

21 years agoold bug report: unchanging iron golem still rehumanizes
cohrs [Tue, 21 Oct 2003 04:28:16 +0000 (04:28 +0000)]
old bug report: unchanging iron golem still rehumanizes
Calling rehumanize directly when u.mh > 0 doesn't consider Unchanging
(perhaps it should?).  But, it's probably better to call losehp anyway.
Also, part of a buglist item: .5PD didn't affect rust trap damage on iron golem

21 years agovms catchup
nethack.rankin [Tue, 21 Oct 2003 04:25:35 +0000 (04:25 +0000)]
vms catchup

1) filename manipulation during restore
2) hangup handling in low level input routine
3) Makefile dependencies
4) version number update

21 years agoU453 and buglist item - travel command updates
cohrs [Tue, 21 Oct 2003 02:27:43 +0000 (02:27 +0000)]
U453 and buglist item - travel command updates
I wrote to the devteam early last week:
> Given my understanding of travel, it's supposed to be somewhat intelligent,
> and "convenient", and should, therefore avoid walking into water, lava,
> traps, or other things that distant movement would avoid, even if you're
> right next it.  Unless...  the travel destination is the "bad" location
> next to you when the travel starts.
To that end...
- add a context (iflags in 3.4.3 to maintain savefile compat) flag to
differenciate the first travel step from later steps, to allow the
detection of the final sentence, above.
- several changes to set/reset the travel1 flag as needed
- add code to findtravelpath to treat the first step specially if it's
the only step, allowing forced travel into a "bad" location
- correct the "don't travel over traps" code, which was getting confused
because hero's starting location was being avoided
- add code to avoid traveling into water and lava, duplicating
checks used for non-travel running
- fix some strange "guess" travel behavior: avoid zigzag paths when there's
a more direct path (even though the number of moves is the same)
- trunk change adds a new DISP_ALL tmp_at type, and uses it in some debug
code for travel, debug changes not added to the 3.4.3 branch

21 years ago3.4.3 update
cohrs [Tue, 21 Oct 2003 02:06:27 +0000 (02:06 +0000)]
3.4.3 update
update the linux README

21 years agounix depend update
cohrs [Tue, 21 Oct 2003 01:27:05 +0000 (01:27 +0000)]
unix depend update
trunk needs a new dependency on context.h

21 years agounix depend update
cohrs [Tue, 21 Oct 2003 01:16:16 +0000 (01:16 +0000)]
unix depend update
update the unix 'make depend' output in both branches.

21 years agognome does not like ^C
cohrs [Tue, 21 Oct 2003 01:06:05 +0000 (01:06 +0000)]
gnome does not like ^C
This hack simply causes ^C to be ignored completely by the gnome interface.
Gnome really cannot handle interrupts, and the window port interface does
not currently provide a way for the gnome interface to just quit.  Allowing
the gnome interface to prompt would require a complete overhall to the the
way window ports work.

21 years agoanother bit
nethack.allison [Mon, 20 Oct 2003 18:13:42 +0000 (18:13 +0000)]
another bit

follow-up to previous bit

21 years agomore buglist crystal ball detection
nethack.allison [Mon, 20 Oct 2003 03:46:43 +0000 (03:46 +0000)]
more buglist crystal ball detection

<Someone> wrote:
- If I set the 'boulder' option, shouldn't I be able to give the
  symbol I define for them at the crystal ball "object or
  monster symbol" prompt and have it work?
- Could ']' be added as a synonym for 'm', as with genocide?
- set boulder symbol to '3'; use '/' or ';' to examine a
  boulder. Result is "unknown creature causing you disquiet
  co-located with a boulder" even though there's no warning
  glyph '3' there.

21 years agobit
nethack.allison [Sun, 19 Oct 2003 21:26:07 +0000 (21:26 +0000)]
bit

triggered from newsgroup post:
> ""For you , esteemed lady; only 10 for this large shield." k - a
> large shield (unpaid, 10 zorkmids).
> To what level do you want to teleport? 0
> Go to Nowhere. Are you sure? [ynq] (q) y
> You scream in agony as your body begins to warp... You cease to
> exist.
> Die? [yn] (n) y
> Bayburt comes and takes all your possessions."
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> How? He teleported to Nowhere?

Leave no doubt that your possessions did not go with you...

21 years agocrystal balls and space key
nethack.allison [Sun, 19 Oct 2003 19:49:43 +0000 (19:49 +0000)]
crystal balls and space key

Another buglist entry.

<Someone> wrote:
- There appears to be no way to detect ghosts-and-shades; the
  space key just "Never mind"s. (Not that they'd be particularly
  visible on the resulting screen under ASCII, unless you've
  changed the 'monsters' option.)

Allow space; display results in inverse using detected_mon_to_glyph()

21 years agocrystal balls and '~'
nethack.allison [Sun, 19 Oct 2003 19:07:33 +0000 (19:07 +0000)]
crystal balls and '~'

<Someone> wrote:
- You currently appear to be able to specify '~' and have it try
  to detect monsters (though it won't detect any long worms)

Show the entire worm when specifying either '~' or 'w' now.

21 years agobreaking migrated objects
cohrs [Sat, 18 Oct 2003 22:55:42 +0000 (22:55 +0000)]
breaking migrated objects
Allow migrated objects to break on arrival.  Added code to obj_delivery to
cause this, along with a flag to keep breakage from occurring.  The new
flag isn't used yet, because all the current object migration involve
objects that were moving/dropping.  To help make this change, rloco now
returns whether the object was placed or not, so caller can know if an obj
pointer is still valid or not.

Making the breakage messages for MIGR_NEAR_PLAYER objects show up after the
new level is displayed required some effort (rather than while the old level
was still displayed, which was confusing), due to the needs of goto_level.
- obj_delivery now has 2 passes, one for before player arrives, another after,
allowing the two cases to be treated differently
- goto_level calls obj_delivery twice (run_timers is not called twice,
since the run required before the level is displayed will have already run
any timers on migrating object)
- kill_genocided_monsters now kills eggs on the migrating_objs list too

21 years ago> - When polymorphed into a flying creature and being grabbed
nethack.allison [Sat, 18 Oct 2003 14:59:29 +0000 (14:59 +0000)]
> - When polymorphed into a flying creature and being grabbed
> over the water, then polymorphed into a non-flying creature
> leaves you standing on the water (you can kill the creature
> too and you're still on the water when you shouldn't be).
> - When floating from levitation over water and being held and
> removing levitation, you will fall into the water and drown or
> crawl back onto land. If you crawl back onto land you're no
> longer being held.
> The first situation seems to be a bug, the second a possible
> exploit. Both situations don't seem very correct, if you're
> being held it seems you should not fall into the water/lava
> until you are no longer being held. [patch contributed] It
> will keep the hero held up on over the water until released if
> his size is smaller than or equal to the size of the monster
> holding him. [<email deleted>, patch
> supplied]
>

A recent patch ensured that you ended up in the water when
polymorphed.

This patch is less ambitious than <Someone>'s
contribution, where he actually had the monster hold you up.
Perhaps that can be tackled for the trunk later.

21 years agobuglist: Vlad can turn to flee and be paralyzed at the same time
nethack.allison [Sat, 18 Oct 2003 14:02:25 +0000 (14:02 +0000)]
buglist: Vlad can turn to flee and be paralyzed at the same time

This is a cop-out in that it just suppresses the message.

21 years agodebian bug #23229 - save file permissions
cohrs [Thu, 16 Oct 2003 16:18:26 +0000 (16:18 +0000)]
debian bug #23229 - save file permissions
Use fqname buffer 1 for restoring the save file (just like save does when
creating it) so the value won't change out from under the code in unixmain.
- Also moved a tty-specific hack in docompress_file that was causing
the 'y' response to the "keep the save file" prompt to be echoed twice.

21 years agofrom <Someone>'s list: destroy wand of digging
nethack.allison [Thu, 16 Oct 2003 02:36:26 +0000 (02:36 +0000)]
from <Someone>'s list: destroy wand of digging

20000922    Water should flow into pits from broken WoD, or DoE.

This addresses the Wand of Digging part, but does not
do anything about Drum of Earthquake.

21 years agoeating amulet of unchanging redux
cohrs [Wed, 15 Oct 2003 20:07:14 +0000 (20:07 +0000)]
eating amulet of unchanging redux
To keep this from growing beyond this targeted change, make eating an
amulet of unchanging "un"change you, unless you're also wearing one.

21 years agotrunk compilation followup to iron changes
cohrs [Wed, 15 Oct 2003 16:13:59 +0000 (16:13 +0000)]
trunk compilation followup to iron changes

21 years agomore patch cleanup
nethack.allison [Wed, 15 Oct 2003 12:42:07 +0000 (12:42 +0000)]
more patch cleanup

21 years agodipping non-weapon iron in fountain follow-up patch correction
nethack.allison [Wed, 15 Oct 2003 12:37:39 +0000 (12:37 +0000)]
dipping non-weapon iron in fountain follow-up patch correction

21 years agodipping non-weapon iron in fountain
nethack.allison [Wed, 15 Oct 2003 12:32:35 +0000 (12:32 +0000)]
dipping non-weapon iron in fountain

<email deleted> wrote:
> Non-weapon iron items don't appear to rust if #dipped in a fountain.

Fixed. If something does get rusted, its a 50/50 chance whether other
fountain effects take place on the item afterwards.

21 years agowin32tty color fix
nethack.allison [Wed, 15 Oct 2003 11:37:16 +0000 (11:37 +0000)]
win32tty color fix

fix by <Someone>, updated by <Someone> on r.g.r.n.

changes the colours of the windows tty port so that blue and
bright blue, and cyan and bright cyan are distinguishable. The chief
benefit of this is that floating eyes no longer look like shocking
spheres.

21 years agodebian bug #154629 followup
cohrs [Wed, 15 Oct 2003 06:47:22 +0000 (06:47 +0000)]
debian bug #154629 followup
further testing found a trivial bug

21 years agodebian bug #154629 - extended commands in gnome front end
cohrs [Wed, 15 Oct 2003 06:02:27 +0000 (06:02 +0000)]
debian bug #154629 - extended commands in gnome front end
Not all of the extended commands worked in the gnome interface because
'#' just caused the next character to be treated as a meta character (this
was a hack I added a while back when none of the extended commands worked).
Resolved by finally adding an extended command menu to the gnome interface.
- updated some formatting so I could read the code
- fixed startup player selection menus so accelerators work
- added necessary calls to make sure selected menu item is visible
- also removed some dead code

21 years agoadditional gnome SAFERHANGUP changes
cohrs [Wed, 15 Oct 2003 02:36:34 +0000 (02:36 +0000)]
additional gnome SAFERHANGUP changes
Found more places where gnome interface wasn't cleaning up.

21 years agoice followup
nethack.allison [Tue, 14 Oct 2003 11:06:58 +0000 (11:06 +0000)]
ice followup

Ensure that we don't start a timer on ice that
the player or a monster didn't create when
zapping existing ice.

21 years agonewline
nethack.allison [Tue, 14 Oct 2003 10:31:11 +0000 (10:31 +0000)]
newline

21 years agoadditional X11 SAFERHANGUP changes
cohrs [Tue, 14 Oct 2003 07:55:36 +0000 (07:55 +0000)]
additional X11 SAFERHANGUP changes
While messing around with window closure events, I found that some such
events during startup were being ignored as a result a SAFERHANGUP changes.

21 years agodebian #184911 - quitting while tty mode inventory is displayed
cohrs [Tue, 14 Oct 2003 07:35:01 +0000 (07:35 +0000)]
debian #184911 - quitting while tty mode inventory is displayed
The tty menu code wasn't totally reentrant, causing it to free memory
that wasn't on the heap if you had your inventory displayed, ^C then
ask to see the inventory again.  Solved this by converting the buffer used
by process_menu_window to be heap-allocated.  If the Quit code could return at
this point, this would still be very bad, but since it doesn't, this is OK.

21 years agodebian #170531 - sign extension in gnome input
cohrs [Tue, 14 Oct 2003 07:07:40 +0000 (07:07 +0000)]
debian #170531 - sign extension in gnome input
Internals of gnome_yn_function should treat key inputs as 'int' until
returning them, to avoid truncating and not sign extending as needed on
platforms where char is unsigned.

21 years agodebian #154627 - quiver menu item in gnome interface
cohrs [Tue, 14 Oct 2003 07:00:13 +0000 (07:00 +0000)]
debian #154627 - quiver menu item in gnome interface
Add a menu item for Quiver.  While testing this, found the Quit menu
item still said that you quit using shift-q, so I updated that too.
Trunk change includes some other exit related fixes that don't apply to
the 3.4.3 branch.

21 years agoice Warning (trunk only)
nethack.allison [Mon, 13 Oct 2003 23:54:41 +0000 (23:54 +0000)]
ice Warning (trunk only)

21 years agoqt gcc warnings
cohrs [Mon, 13 Oct 2003 21:17:12 +0000 (21:17 +0000)]
qt gcc warnings
cosmetic changes to allow qt_win.cpp to compile cleanly using gcc -Wall.
This corresponds to a debian report that doesn't mention a debian bug ID.
The changes are not identical to the suggested debian patch.

21 years agodebian bug 71234 - closing player selection window causes core dump
cohrs [Mon, 13 Oct 2003 20:24:17 +0000 (20:24 +0000)]
debian bug 71234 - closing player selection window causes core dump
Too much code was being shared between the extended command window
and the popup dialogs for player selection, causing an uninitialized
variable to be referenced, often resulting in a core dump.

21 years agowin32 synch
nethack.allison [Mon, 13 Oct 2003 15:40:16 +0000 (15:40 +0000)]
win32 synch

21 years agowin32 synch
nethack.allison [Mon, 13 Oct 2003 15:35:55 +0000 (15:35 +0000)]
win32 synch

21 years agowin32gui message history; also clipboard support (from <Someone>)
nethack.allison [Mon, 13 Oct 2003 14:52:15 +0000 (14:52 +0000)]
win32gui message history; also clipboard support (from <Someone>)

main trunk only

- added 2 menu options: Copy ASCII Screenshot To Clipboard, Save
  ASCII Screenshot To File
- implemented saving message history

21 years agowin32gui message history; also clipboard support (from <Someone>)
nethack.allison [Mon, 13 Oct 2003 14:48:13 +0000 (14:48 +0000)]
win32gui message history; also clipboard support (from <Someone>)

- added 2 menu options: Copy ASCII Screenshot To Clipboard, Save
  ASCII Screenshot To File
- implemented saving message history

21 years agochange the "Stop eating?" question (trunk only)
nethack.allison [Mon, 13 Oct 2003 02:48:46 +0000 (02:48 +0000)]
change the  "Stop eating?" question (trunk only)

Opinions expressed:
> I actually like having "yes" consistently mean take a
> dangerous action, and "no" mean the safe route.

Also:
> I would classify the current behavior--where the "safe" answer
> is the opposite of the one for other prompts--as simply a bug.
[...]

change the dreaded "Stop eating?" prompt to "Continue eating?" with default "no"

21 years agotypo
nethack.allison [Sun, 12 Oct 2003 22:57:51 +0000 (22:57 +0000)]
typo

21 years agoVlad won't use digging in his tower
nethack.allison [Sun, 12 Oct 2003 22:56:36 +0000 (22:56 +0000)]
Vlad won't use digging in his tower

<email deleted> wrote:
> [...] Vlad happened to be generated with a /WoDig and tried to
> make an escape hole during his last few moves. Shouldn't he
> know, that the floor in his own tower is undigable? So he lost
> valuable time with a pretty senseless action...

21 years agoanother melting ice follow up (trunk only)
nethack.allison [Sun, 12 Oct 2003 15:45:20 +0000 (15:45 +0000)]
another melting ice follow up (trunk only)

Zapping existing ice with cold wand/spell guaranties safe ice for
a minimum of MIN_ICE_TIME time.

Note that it could actually cause the ice to melt sooner than
it previously would have due to the randomization, but that's
an internal that the non-wizard-mode player would  never
know anyway. The important thing from the hero's perspective
is that the ice should be safe for a while at least.

Also noticed and corrected a bug where the ice object effects
seem to have been getting initiated when solidifying lava in
zap.c

21 years agomelting ice follow up (trunk only)
nethack.allison [Sun, 12 Oct 2003 14:49:42 +0000 (14:49 +0000)]
melting ice follow up (trunk only)

(now + 50) < (melting time) < (now + 50 + 2000)
with the chance approaching 100% the longer the time passed

21 years agomelting ice (trunk only)
nethack.allison [Sun, 12 Oct 2003 04:21:27 +0000 (04:21 +0000)]
melting ice (trunk only)

add a new melt_ice_away timer for ice created via zapping
a wand/spell of cold.

Some follow-up adjustments to the length of time before
the ice melts may be necessary. Ideally, I'd like to
have it so that the shorter the length of time since
the ice was created, the lesser the chance that it will
melt out from under you.  Likewise, the longer it has
been, the more risky it will be to venture onto it.

At the moment, however, each spot of ice is just
getting a somewhat random time always greater
than 50, which is less than ideal.

21 years agoX11 hilite_pet
cohrs [Sun, 12 Oct 2003 03:55:17 +0000 (03:55 +0000)]
X11 hilite_pet
Add support for hilite_pet to X11 text map mode (hilite_pet was already
supported when tiles were enabled).  While testing this, I found a missing
newsym() in the code implementing the creation of a "tame" monster.

21 years agofixes catchup
kmhugo [Sun, 12 Oct 2003 02:50:43 +0000 (02:50 +0000)]
fixes catchup

21 years agoDeafness tidbit
kmhugo [Sun, 12 Oct 2003 02:39:31 +0000 (02:39 +0000)]
Deafness tidbit

Fix a typo

21 years agoeating an amulet of unchanging
cohrs [Sat, 11 Oct 2003 18:54:48 +0000 (18:54 +0000)]
eating an amulet of unchanging
Prompted by a suggestion on the newsgroup and from <Someone>, allow eating an
amulet of unchanging to remove intrinsic polymorph.

21 years agothrowing while polymorphed
cohrs [Sat, 11 Oct 2003 18:38:24 +0000 (18:38 +0000)]
throwing while polymorphed
<Someone> suggested that a dragon, lacking hands, shouldn't be able to
throw things.  Dragons can pick things up, and it seems they can throw
things the same way.  However, it does seem that a notake() monster, which
cannot pick things up, shouldn't be able to throw things either.

21 years agohiding under a cockatrice corpse
cohrs [Fri, 10 Oct 2003 23:01:42 +0000 (23:01 +0000)]
hiding under a cockatrice corpse
Reported a while back, a (stonable) hiding monster will hide at a location
containing only a cockatrice corpse.  While it would be interesting to
allow monsters to try, and stone themselves as a result, I chose the
simpler fix which is to not have monsters hide in such situations.  I found
the hiding code was duplicated in several places, so I moved it into a new
hideunder() function that works for both the hero and monsters.

21 years agoU685 - billing for tin usage
cohrs [Fri, 10 Oct 2003 22:53:28 +0000 (22:53 +0000)]
U685 - billing for tin usage
When moving the code to bill for tins before eating them (to charge for
them at the pre-eating hunger status), several cases were able to bypass
billing.  Moved the bill checking code to a new costly_tin() subroutine so
it could be called in all the necessary places.

21 years agobuglist: splashing
nethack.allison [Fri, 10 Oct 2003 15:53:27 +0000 (15:53 +0000)]
buglist: splashing

> Not all objects say "Splash!" when they fall in the
> water. When levitating/flying and dropping things they
> don't, but when polymorphing and forced to drop items
> they do. [<email deleted>]

when floating over the water, things dropped always
make some sort of sound. Also fix up some messages
when Underwater that previously said things like
"feel what is lying on the water" by adjusting
surface() in that situation to return "bottom."

While looking into this, I noticed that if you
are polymorphed into a Flyer and you then polymorph
back into your normal form, you don't end up in
the water until you move, so this attempts to
correct that too.

21 years ago#U578: Various bug reports
nethack.allison [Fri, 10 Oct 2003 13:36:53 +0000 (13:36 +0000)]
#U578: Various bug reports
> <email deleted>
> on Tuesday, August 5, 2003:
> Warriors on the Valkyrie quest may be male.
[...]

21 years agowin32tty bit
nethack.allison [Fri, 10 Oct 2003 04:53:17 +0000 (04:53 +0000)]
win32tty bit

21 years agoRemove very old buglist entry
nethack.allison [Wed, 8 Oct 2003 03:48:59 +0000 (03:48 +0000)]
Remove very old buglist entry
> You cannot stop eating, transcribing, or removing armor, save
> the game, restore it, then expect to continue. These use
> static data structures which aren't saved.

21 years agomore context (trunk only)
nethack.allison [Wed, 8 Oct 2003 03:31:06 +0000 (03:31 +0000)]
more context (trunk only)
- reading spellbooks
- taking off

21 years agomessage history followup
cohrs [Mon, 6 Oct 2003 02:55:55 +0000 (02:55 +0000)]
message history followup
Add a couple missing prototypes
removed an unused variable

21 years agowin32tty changes
nethack.allison [Sun, 5 Oct 2003 23:00:05 +0000 (23:00 +0000)]
win32tty changes

1. Switch to low-level console routines for performance improvements.
2. Instead of moving the cursor around like a real tty, just track the
   destination coordinates of where the cursor should be, and
   defer the movement until user input is expected.

Credit to <Someone> for #2.

21 years agoheadings in option menus
nethack.allison [Sun, 5 Oct 2003 19:56:22 +0000 (19:56 +0000)]
headings in option menus

There was a great deal of inconsistency in
different menus on how headings were displayed.
This allows the user to select what they like best.
I was motivated to do this, because I wasn't satisfied
with the appearance of ATR_INVERSE in the menus
on win32tty, and several of them specified it.

21 years agosaving message history (trunk only)
nethack.allison [Sun, 5 Oct 2003 13:43:16 +0000 (13:43 +0000)]
saving message history (trunk only)

On September 11, 2003 "<Someone>" wrote:
> When we're going to have a different save file format, could
> the last messages in the message history be saved as well, so
> ^P would work the same before and after saving (possibly
> including a few less messages to make room for the startup
> messages?).

This seemed like a reasonable request. This patch:
- adds the core support required.
- adds the tty supporting routines.

21 years agoX11 dynamic map mode selection
cohrs [Fri, 3 Oct 2003 02:09:27 +0000 (02:09 +0000)]
X11 dynamic map mode selection
Prompted by a question from Pat a long time back, this change finally allows
tiles or text map mode to be chosen dynamically at runtime (using the
"tiled_map" option) rather than having to pick it via an X resource and
keep your selection until you exit. This brings map mode selection up to a
level similar to most other graphical window ports.
In addition, the map mode automatically switches to text on the Rogue
level, also like other graphical window ports.
The default mode for the X11 binary is now tiles, once again, like most (all?)
other graphical window ports.
The patch also removes some dead X11 code that is unlikely to be useful again.

21 years agoeels in lava
cohrs [Thu, 2 Oct 2003 04:23:59 +0000 (04:23 +0000)]
eels in lava
<Someone> reported that randomly placed aquatic monsters can end up in
lava.  The placement code allowed lava whenever the WET flag was passed to
it.  This was so passing (WET|DRY) would match all locations, but it's not
appropriate for when only the flag WET is used.  Since we have no levels
currently affected by this bug, I fixed it only in the trunk.

21 years agonagas eating
cohrs [Thu, 2 Oct 2003 03:39:57 +0000 (03:39 +0000)]
nagas eating
<Someone> suggested that nagas should eat.  This seems reasonable.
I made all but the black omnivores.  The black are similar to the AD&D
spirit naga, which are listed as carnivores, while AD&D's other nagas are
omnivores, so I took the same approach.

21 years agoU666 - inserting gold into a container
cohrs [Wed, 1 Oct 2003 03:37:55 +0000 (03:37 +0000)]
U666 - inserting gold into a container
The special-case code for the full menu style lacked an #ifndef GOLDOBJ
to handle the case where gold is the only thing in the hero was carrying.

21 years agopotion-from-sink and the corpsenm field
cohrs [Tue, 30 Sep 2003 18:55:02 +0000 (18:55 +0000)]
potion-from-sink and the corpsenm field
Change the code involved to use a new #define for the field, like other
overloaded uses of corpsenm.  Also remove one check for this field from
potion.c: there are no blessed potions from sinks.

21 years agokicking a drawbridge
cohrs [Tue, 30 Sep 2003 18:49:48 +0000 (18:49 +0000)]
kicking a drawbridge
There was some unreachable code in dokick related to drawbridges.  Since I
liked the current "Ouch!" behavior, I moved the drawbridge test inside the
IS_STWALL code but made sure to update the maploc so kickstr would return
the right thing.  Since there may be more than one drawbridge (perhaps it
should test for Valkyrie?) changed the kickstr prefix for drawbridge to "a".