Commit Graph

1673 Commits

Author SHA1 Message Date
nethack.allison
55b5e00daa no message 2002-09-09 12:17:13 +00:00
nethack.rankin
0ef3240077 more monster intrinsics
Provide more control over message handling for monsters' use
of equipment.  This fixes the statue revival problem (inappropriate
feedback when monster puts on speed boots) mentioned in the earlier
"intrinsics of dead monsters" patch.
2002-09-09 09:24:38 +00:00
nethack.rankin
786ed93751 intrinsics of dead monsters
Monster traits that are used to revive some corpses or statues
with their old attributes were retaining intrinsics conferred by worn
items.  To prevent that, strip such attributes at time of a monster's
death before the traits are recorded.  Statue handling needs to some
more work; now that extra speed is lost, there's an out of place
message if/when a revived statue gets to put on its old speed boots.
2002-09-09 09:02:21 +00:00
nethack.rankin
b8f368ced4 bandaid for #U49
Partially deal with the reported silly message combination

> Also, when unwielding a weapon using 'A', you get the messages
> "You are empty handed.  You finish disrobing."

by saying "disarming" rather than "disrobing" when manipulating
just the three weapon slots.  Handling weapons in combination
with armor or accessories or both still says "disrobing" though.
The case when dealing with just accessories should pick something
else, but the closest I've thought up so far is "divesting" and
I don't think that works very well.  Is there a better term for
taking off jewelry?  If so, would it end up being out of place
when applied to nethack's selection of eyewear?
2002-09-09 07:36:13 +00:00
warwick
727bf172ad Spellcheck from <Someone>, with support from Google.com. 2002-09-09 05:58:05 +00:00
warwick
804844b37f The low probabilities look unintentional (multiple rn2 checks). This
changes the ouch:fruit:bees probabilities from 93:7:0.4 to 75:23.5:1.5.
The 75% "ouch" case sometimes also gives you a buzz.

Explain why sometime fruit that "fell from the tree" end up stuck back
in the tree, requiring more kicking (even though this is less likely
now that scatter() is improved).
2002-09-09 05:47:20 +00:00
warwick
00671608d6 Fix scattering - the splitting code doesn't look right - it will
leave avg 1/2 the object's quantity on the scatter point.
Return count of how many objects actually left the scatter point.
2002-09-09 05:44:32 +00:00
nethack.rankin
53f40d2a20 avoid buffer overruns
Noticed with recent looting patch:  QBUFSZ is not big enough
to reliably hold formatted object names.  (I haven't looked through
any other source files for similar problems.)
2002-09-07 02:38:50 +00:00
nethack.rankin
069703f6c3 enlightenment refinement for increased damage
The recent change to include increased damage and increased
chance to hit in all enlightenment feedback instead of just at end
of game feels too specific compared to most of the other feedback.
Instead of giving exact plus/minus values, give a generalized
categorization of the amount.  The exact value is given at game end
as in existing 3.4.0 behavior, and also given when in wizard mode.
2002-09-07 02:36:02 +00:00
nethack.allison
9ac2c2c576 <email deleted>
> I'm working on a Nethack port, and one of the header files a
> library uses has a structure with a member named "red". Since
> includes/decl.h #defines red to something, this totally loses.
>
> Attached is a patch which fixes the color defines.
2002-09-06 00:12:44 +00:00
nethack.allison
3bacf79700 menu loot follow-up bit 2002-09-04 01:44:25 +00:00
nethack.allison
5797f8110b menu loot suggestion from newsgroup
Newsgroups: rec.games.roguelike.nethack
Subject: Re: YANI - empty containers interface
<email deleted>
On Mon, 2 Sep 2002 12:13:49 +0300, <email deleted> wrote:
> I find the behaviour when trying to put something in an empty container
> quite irritating. Let's remind it:
> #loot
> "The <container> is empty. Do you want to put something in it? (y/n)"
> This means I have to read the message and to press 'y' or to cancel via
> Esc.
> For comparison, non-empty containers behave like this - please forgive
> me that I've forgotten the exact words:
> #loot
> "Do what?
> 	o - take out
> 	i - put in
> 	b - both of the above"
> So my suggestion is to change the behaviour of empty containers to be
> the same as non-empty ones. That is:
> #loot
> "Do what?
> 	i - put in"
> This way, I don't have to look at the container. If I want to put
> something in, pressing 'i' will lead to the same results in both cases.

This part of the suggestion was not implemented, however:

> If I want to take something out, then pressing 'o' or 'b' - although
> they are not in the list of choices - will display a message "This
><container> is empty" and end the #loot-ing session.
2002-09-04 01:31:20 +00:00
nethack.allison
3c9a181629 extern.h bit 2002-09-04 01:28:12 +00:00
nethack.allison
1620f9e44e USER_SOUNDS follow-up
Make the support of user sounds apparent in the
#version command.  Also add a small section on
them to the Guidebook.

(The doc/Guidebook.mn version of this section
needs testing)
2002-09-03 02:36:16 +00:00
nethack.allison
6bebdbb135 win32 USER_SOUNDS
This uses pmatch() as a default pattern matcher,
and #defines USER_SOUNDS_REGEX for Qt
to enable the code for regular expressions.

This is enabled for win32tty and win32gui.
2002-09-02 23:28:54 +00:00
nethack.allison
0cb3b8543b more Borland quieting 2002-09-02 16:51:24 +00:00
nethack.allison
3ea64625f3 get rid of uudecode compile warning on Borland 2002-09-02 14:39:24 +00:00
nethack.allison
46b88235a1 Borland bits (from Yitzhak) 2002-09-02 14:29:57 +00:00
nethack.allison
98d53c93a8 win32 recover; also a core bit from Yitzhak 2002-09-02 14:10:05 +00:00
cohrs
15240f55cd purple worms affected by corpses
Forwarded from the newsgroup as noting that dropping a chameleon corpse
into a purple worm did not cause polymorph nor will the digestion attack.
Added code to dropy and mdamagem to include special corpse effects like
those in dog_eat and meatobj.
2002-09-01 14:57:28 +00:00
nethack.rankin
c33417fc05 B10002 - enlightenment grammar bug
>       In my final attributes;
>       "You had +1 bonus to hit."
>       Surely "You had a ..." ?

Also moves the hit and damage bonus feedback from the "troubles"
section to the "physical attributes" section and delivers it for
every enlightenment rather than just after the game is over.
2002-09-01 09:56:55 +00:00
nethack.allison
304ac1488b message when trying to wear HoOA on quest 2002-08-31 20:47:04 +00:00
nethack.allison
47f4cf21aa doomed quest
Your quest leader would tell you to return later, even after you
were converted, which would be futile, and could mislead new
players.

This patch:
1. Causes the quest leader to banish you the first time you
encounter him/her following a conversion, since you cannot ever
complete the quest anyway in the current game.
2. Adds a new general QT_BANISHED message to be delivered, in
which you are told that you won't be able to get the Amulet without
the Bell now.

This helps resolve the complaint about not knowing that your game
cannot be won.
2002-08-31 20:14:17 +00:00
nethack.rankin
5088492cf6 speed of petrified monsters
Someone posted in the newsgroup about using stone-to-flesh
to reanimate a petrified pet and having it come back to life with
boosted speed intact.  When the character gets petrified, stripping
speed is one of the first things which happens, so now do that for
monsters too.  I decided not to make monsters who have normal speed
become slow; there isn't any analogous case for the player.

     Possible bug:  while testing this, I zapped a wand of probing
at a hill orc which had just eaten a lizard corpse to save itself
from stoning.  The feedback said "eating" but the orc immediately
hit and killed me as if it wasn't affected by any movement delay.
2002-08-31 09:24:08 +00:00
cohrs
36905aaf96 U29 - mounting steed gets thru tight spots
Mounting a steed would work even when done diagonally at a doorway,
such as a shop door.  Use test_move to check for all such moves and disallow
the mount in this case.
2002-08-30 06:17:41 +00:00
cohrs
38c663056c short int
A fix from <Someone>: "this code only claims to inform the leader if mshort
is set i.E. sizeof(int)<=16."
2002-08-30 03:11:22 +00:00
nethack.allison
eb2503deac bees from trees
<email deleted> wrote in the newsgroup:
> "You've attracted the tree's former occupants!"
> (nothing happens)
>
> Yes, it's _zero_ to four bees, depending on your luck.  I think it's meant
> to be one to five, though.
>
2002-08-30 02:55:21 +00:00
nethack.allison
510ae5b5f2 take_gold() crash with GOLDOBJ
Possible fix for B10001.
When the code went into case 3 in cursed_book(),
the game hung in an endless loop in take_gold().
The call stack was:
    take_gold() line 22 + 10 bytes
    cursed_book(int 2) line 124
    study_book(obj * 0x00968860) line 421 + 19 bytes
    doread() line 130 + 9 bytes
    rhack(char * 0x005b8eac in_line) line 1813 + 3 bytes
    moveloop() line 405 + 7 bytes
    main(int 3, char * * 0x00962ac0) line 93
2002-08-29 02:23:47 +00:00
nethack.allison
d618afc87a win32 suggestion from <Someone> 2002-08-29 00:17:08 +00:00
nethack.allison
71eb636e14 win32 (from <Someone>)
This patch is an improvement for menu/text dialogs.
This is a code carried over from Windows CE port. It changes
text and menu windows from "system popup" to plain "child"
windows of the main nethack window. Nethack main window can
now be resized/moved/minimized when menu/text window is up.
Menu/text windows will always stay inside the main window and
move along with it.

<Someone>
2002-08-28 04:53:50 +00:00
cohrs
081edea253 improperly terminated quest message
Add a missing check to makedefs so it prints a warning about misplaced %Es.
Fix a couple places in quest.txt pointed out by the new warning.
There's no visible effect on play, since the code that actually reads the
message keeps reading until the next %C.
2002-08-27 03:56:28 +00:00
cohrs
4aa5bceb1f B09002 - killing monsters seen by infravision
ohitmon was incorrectly using location visibility in a couple places where
monster visibility was more appropriate.  I'm still not sure about the
canspotmon check for destroy vs killed.  Similar checks do no appear
elsewhere in the code.  But at least now the 'destroyed' won't be shown
for a seen, living monster.
2002-08-26 15:31:51 +00:00
cohrs
9900fc1507 cancelling compound option change
Patch from <Someone>.  Accept escape when setting complex option as a cancel,
like most other prompts.
2002-08-26 15:23:06 +00:00
nethack.allison
ea31aa03dc (from <Someone>)
> Questions are being appended in the message window, some showing
> up on the same line. This is really noticeable with the
> end-of-game disclosure questions. Questions should always be
> presented on a new line.

At end of game is probably the only place, since then more than one
question is asked in the same turn. Anyhow, here's the patch, in
mswproc.c  [...]

- No checkboxes in menu if menu is PICK_NONE. mhmenu.c

- About box changed to splash screen. This last thing is open
for discussion, as the splash screen currently does not give
exactly the ame information as the about box (or the v command).
Maybe the splash should be enhanced? Anyway, it looks better than
the About-box. I didn't remove the About-box code and resource yet
until this discussion is had. mhmain.c

<Someone>
2002-08-25 12:29:35 +00:00
nethack.allison
d1da0e7398 bones file diagnostics
Pat added some error information to create_levelfile.
This does the same for create_bonesfile, but the
only place it is logged is in the paniclog, unless
you're in wizard mode.  If bones file creation is
silently failing for someone and they aren't getting
bones files, this provides a way to diagnose why.
2002-08-24 23:25:40 +00:00
nethack.allison
706f95ca7d misc bits: options, also win32 follow-up from <Someone>
(from <Someone>):
I guess that this:
      mcam += iflags.wc_scroll_amount;
should be his:
      mcam += iflags.wc_scroll_amount - 1;
In words: If scroll amount is 1, the behaviour should be as it was
before the option existed, which means: no addition to mcam.
2002-08-24 15:33:00 +00:00
nethack.allison
d4cdca6c86 win32tty ALT+CTRL entry for fixes34.1 2002-08-24 15:24:09 +00:00
nethack.rankin
6b03787171 more trickery - build fix
Update the other trickery situation.  I don't know how I managed
to miss this.  The disadvantage of suppressing extern.h from normal
dependencies I guess.
2002-08-24 05:52:22 +00:00
nethack.allison
e7407addc5 win32tty follow-up, Makefile change 2002-08-23 19:25:17 +00:00
nethack.allison
4a6ed922d7 B08014 win32tty: hanging when ctrl+alt pressed
CTRL+ALT was being treated as a valid ALT-sequence,
 so the meta bit was being set on it, letting it slip past this
 check in wintty.c "if (!i) i = '\033';"

This overhauls the ALT processing in nttty.c, some of
which was using scancode mappings from the DOS port
needlessly.
2002-08-23 18:40:08 +00:00
nethack.allison
ba5640ce9a window.doc update
Nethack doesn't like zero,
or zero with the meta bit set.
2002-08-23 18:30:01 +00:00
nethack.rankin
b00a9dcd4a level file handling and trickery feedback
1) consolidate all core usage of `errno' in files.c;
2) give more feedback for any failure by create_levelfile or open_levelfile,
   similar to what was being done for problems during level change;
3) include trickery info in paniclog (many instances of "trickery" seem to
   be due to disk or quota problems rather than user misbehavior...).

The create_levelfile call in pcmain probably ought to be changed to use
error feedback, but in the meantime this should continue working.

Perhaps error() should be modified to update paniclog too, but I didn't
want to go through all its port-specific incarnations making changes.
2002-08-23 14:52:25 +00:00
cohrs
c3125ec0f9 hitting and mhurtle
Fix part of the buglist entry regarding hitting and mhurtle.  Flag if
mhurtle already killed the monster, and don't call killed again in this case.
One of the new checks for this already_killed flag is just futureproofing.
2002-08-23 05:47:54 +00:00
nethack.allison
2ce6152d63 B08021 scroll_amount wincap option
> - I'd like to see another option added: scroll_amount. In
>   combination with scroll_margin, this would control the amount
>   of squares the screen is scrolled when the scroll_margin is
>   reached (currently, this amount is 1, but if I recall
>   correctly, it used to be more). For example, if both were 5,
>   when you came within 5 spaces of the left screen border, the
>   screen would shift 5 spaces to the right).
2002-08-23 01:03:59 +00:00
nethack.allison
36978c60fd const and char* to char[]
contributed by <Someone>
2002-08-22 07:31:44 +00:00
warwick
21dd13c294 Unhide the "click-to-the-left-to-set-count" feature, since it's a FAQ. 2002-08-22 05:10:29 +00:00
nethack.rankin
b840adcb62 trickery bulletproofing
Prevent the pardoning of trickery in wizard mode from attempting
to continue when there's no longer any current level.  Also prevent
the ZEROCOMP configuration from trying to read from file descriptor -1
in case there're any other places which still let that slip through.
And fix an oddity in the VMS port's error() routine which has gone
unnoticed for years.
2002-08-22 03:05:18 +00:00
nethack.rankin
f13035aa48 B09001 - mhp > mhpmax after life drain
A monster hit by Stormbringer could take less damage to current
HP than it took to max HP if attacker had sufficient penalties, so
end up being healthier than its new maximum.  This only applies to
attacks by the player; attacks by monsters don't include the sorts of
modifiers that can trigger it.
2002-08-22 01:44:24 +00:00
nethack.rankin
d5c2438652 bad "cad" message
From the newsgroup:  taking a shop-owned pick-axe out of a
container inside a shop gave a misleading message telling the
player to take the pick-axe out of the shop.  It was caused by
using the object's `unpaid' field before addtobill() had set it.
2002-08-22 01:23:31 +00:00
cohrs
59a96452ff B04006 - Grayswandir and unicorn horns
Implement a check in make_hallucinated similar to the check in make_blinded
to handle the case where your hallucination is cured but Grayswandir is
suppressing its effects anyway.
2002-08-22 00:13:03 +00:00