Commit Graph

2944 Commits

Author SHA1 Message Date
cohrs
7c224da1e4 no sacrificing while swallowed 2002-04-01 01:37:26 +00:00
cohrs
9a5a051791 identifying a wand of striking when it activates a statue trap 2002-04-01 01:22:39 +00:00
cohrs
62519872b9 tripping over objects under water
- cannot trip over submerged objects when you're water walking
2002-04-01 00:57:22 +00:00
cohrs
587fe0b9e7 comment bit
- the dropx comment has been wrong for a while, time to accept that
2002-04-01 00:20:58 +00:00
cohrs
6519e5a127 comment bit
- the dropx comment has been wrong for a while, time to accept that
2002-04-01 00:04:45 +00:00
jwalz
11856d20b7 I recognize that this was an attempt to force the macro to act as a normal
statement that could be followed by ';' anywhere.  However, with the goto
there, my compiler complains every time it's used:
"ball.c", line 402: warning: statement not reached
"ball.c", line 434: warning: statement not reached
"ball.c", line 442: warning: statement not reached
"ball.c", line 449: warning: statement not reached
"ball.c", line 452: warning: statement not reached
"ball.c", line 457: warning: statement not reached
"ball.c", line 479: warning: statement not reached
"ball.c", line 498: warning: statement not reached
None of the current uses care about an excess statement, but is there a
way to satisfy both desires?
2002-03-31 22:42:07 +00:00
nethack.rankin
994f624c0a shop fix: billing for contained items
Shopkeeper wouldn't charge for items inside containers if you
dropped one, declined to sell it, and then filled it with shop goods.
2002-03-31 14:56:13 +00:00
cohrs
5e94392acc tweak dowhatis description of the "Y" monster symbol
- "or other large beast" could be interpretted as meaning that all "Y"
monsters are large, but monkeys are not large
2002-03-31 07:23:36 +00:00
kmhugo
9e60327b01 lootabc and showrace options
Replace "feature_toggle" implementation with an easier-to-understand
boolean option called "lootabc".

Provide "showrace", an option to display the hero by race glyph rather
than by role glyph.

Document the above.

Remove some obsolete Mac options.
2002-03-31 06:27:27 +00:00
nethack.allison
b64b2a8b05 more win32 de-MICRO 2002-03-31 05:29:03 +00:00
kmhugo
d6de3fa890 #R715 -- tombstone bulletproofing
Prevent an end-of-game panic if the tombstone window cannot
be made.
2002-03-31 05:21:53 +00:00
cohrs
531f703cd0 fix more "drops to the floor" cases when there is no floor
- make the code in apply.c and zap.c consistent
- use the "drops away from you" case whenever the location type does not
lend itself to using the word "floor"
2002-03-31 04:18:02 +00:00
cohrs
60edf83441 discovering statue traps while blind (YAFM)
- use "something" not "it" for this case
2002-03-30 21:21:35 +00:00
cohrs
a4c5af0088 bird_parts for ravens
- ravens need special parts, actual bats are still best handled by animal_parts
2002-03-30 21:16:34 +00:00
cohrs
adf468910c re-merge objects removed from containers when pack is full
- affects failed removal of a partial count of objects due to a full pack
2002-03-30 20:56:09 +00:00
nethack.allison
51f9892b3b Allow MICRO and WIN32 code paths to diverge
There's still a lot of overlap for 3.4.1, but not
100% any longer and it facilitates some improvements
- Allow error save files on WIN32
2002-03-30 19:09:56 +00:00
nethack.allison
c49130e5bd boulder/statue/landmine reversal and new fix
This includes a reversal of my earlier
boulder/statue/landmine fix,
and places a check for obj->where==OBJ_FLOOR into
fracture_rock().  I think this is a better approach
because:
- if eliminates the pointless extract/place in
fracture_rock, followed by extract/place in
the caller in the two places causing the crash
- it covers any similar situations that we
might have missed or that someone might add
accidentally (you might not expect the location
of an object to change inside fracture_rock())
- it allows fracturing to take place on the
other object chains if we ever need it (statues
falling down stairs, perhaps?)
- it doesn't move objects from other chains onto
the floor briefly as the current code does
2002-03-30 14:46:31 +00:00
nethack.rankin
11b1874090 more wielded/quivered iron ball
There was at least one more special case aside from throwing
(jetisoning items to reduce weight after falling in water) which
have needed the same extra code.  This is a more general fix.
2002-03-30 09:50:59 +00:00
cohrs
1688c75b9f polymorph into a non-twoweapon form
- you can't twoweapon unless your form allows it, but polymorph wouldn't
disable twoweapon mode immediately
2002-03-30 03:01:38 +00:00
cohrs
a997e11e00 wielded ball and chain
- a wielded/quivered ball would still be marked as wielded/quivered
after you threw it
2002-03-29 20:35:22 +00:00
cohrs
afc7bc95c6 R722 boiling acid in fountains
- clarify the fact that acid boiling in a fountain damages you
2002-03-29 20:17:32 +00:00
cohrs
e206522126 engraving a headstone with a wand of digging
- Gravel flies up from the floor is not appropriate in this case
2002-03-29 19:14:37 +00:00
cohrs
a1d3c539a9 Rolling boulder traps and pacifism
If you stepped on an unknown rolling boulder trap, and that rolling boulder
hit a monster and killed it, you would be called a killer.  This makes
playing a pacifism conduct game rather difficult.
- track boulders from unknown rolling boulder traps, and don't charge/credit
hero if they kill monsters. This is done by temporarily setting otrapped on
such boulders.
- boulders from known traps are still charged/credited to the hero
- fix a couple places in ohitmon where is_poisonable wasn't checked along
with opoisoned.
2002-03-29 17:56:13 +00:00
nethack.rankin
72048905ad polyself: centaurs vs boots
Monster centaurs can't wear boots, and characters who polymorph
into centaurs have their boots pushed off, but there was nothing to
prevent such characters from putting those boots right back on.
2002-03-29 13:37:16 +00:00
nethack.rankin
68b4f9f2a3 "harassment mode"
Make a change suggested by <Someone> to have the Wizard
enter harassment mode when you perform the invocation, in case
you manage to obtain the Book of the Dead without killing him.
Instead of just initiating that periodic effect, behave as if
you have actually killed him (which also affects random monster
generation frequency, prayer timeout, and shopkeeper salutations).
2002-03-28 03:03:04 +00:00
cohrs
4e60c90635 mimic caught in explosion printed message but wasn't discovered
- add seemimic call before printing the "caught" message
2002-03-27 05:08:11 +00:00
cohrs
8a3c5a621f Sunsword kept glowing after monster wielding it died
- <Someone> reported this bug to the mailing list
- add a check in relobj(), which should catch all the cases
2002-03-27 04:58:42 +00:00
cohrs
6cdf92851e half-physical-damage from gas spore explosion should only affect you
- <Someone> noticed the fix for applying half physical damage to gas spore
explosions affected damage to all monsters, not just you
2002-03-27 02:31:21 +00:00
cohrs
ea18afa4dd seemimic produces transparent doors
- if a mimic mimics a boulder (top sokoban) or a door atop
a closed door the closed door didn't block your vision after
the mimic is sensed.
- also, make mondied consistent with xkilled WRT corpses on inaccessible
locations: no corpse
2002-03-27 00:58:44 +00:00
arromdee
9210d2c5ed iron balls (R676)
Well, this proved rather annoying.  Problems included:
-- the solid rock problem that was noticed
-- teleporting to a spot two spaces away but on the other side of solid rock
could also leave the chain in solid rock
-- in one place I said chainx instead of ballx, which could cause problems with
teleporting
-- the teleport code moved the player before moving the ball, violating the
assumption that the player hasn't been moved yet (which only caused problems
after I added the solid rock fix).

Ball movement still isn't quite right, though the cases are really rare.  I
may fix them later.
2002-03-26 06:05:24 +00:00
nethack.allison
224eddc1d3 generic feature_toggle
This adds a generic feature_toggle mechanism to
the game.  Code that wants to offer two different
ways of doing something can add an entry to
feature_toggles[] (in decl.c), and create a
preprocessor macro for its array index in decl.h.

Then the code can test it using
if (feature_toggle(FEATURE_NAME))
	..do_this..
else
	..do_that..

The player can toggle the alternate code path
on using OPTIONS=feature_toggle:feature_name_1 feature_name_2 ...

This seems better than creating brand new options
for controlling features (ala prayconfirm, which
could switch to this single option feature_toggle
mechanism as well)

My first use of it is to allow toggling of the selectors
on the loot menu, which I'm hesitant to just change back
because now people are actively using the new selectors and
the complaints would be really loud if the interface were
to just switch back after they adjusted.

The default behaviour is the new behaviour "iob", but with an
OPTIONS=feature_toggle:loot_menu_selectors
in your config file, it will revert to using "abc" as it did
in 3.3.1. I'll add a Guidebook page of "features/behaviour
that can be toggled" later.

The toggles can only be done in defaults.nh, and are
not saved with the game.
2002-03-26 05:33:04 +00:00
nethack.rankin
c76061312e impaired movement fix
Fix the reported problem of incorrect conditional logic
making it impossible to bump into closed doors when moving while
impaired for the #if STEED configuration.
2002-03-25 09:01:35 +00:00
nethack.rankin
e848030571 warning bit
Avoid gcc's inaccurate warning about mattk possibly being
used before being set in do_breathe().
2002-03-25 08:05:27 +00:00
cohrs
e8d404f87c R677 - two swords slipping due to fried food prints same message
- report: twoweapon mode, eat fried food, get messages like:
Your sword slips from your hands.
Your sword also slips from your hands.
- the fix tracks the kind of the 1st weapon, and adds "other" to the 2nd
message if necessary
2002-03-25 07:48:03 +00:00
cohrs
d0d0cde8e7 leashed steed dying of starvation
- prefer the regular "dies from hunger" message over "leash goes slack"
in this case.
2002-03-25 06:29:43 +00:00
nethack.allison
67604538c6 #R668: Windows 2000 Lock File Creation Error
This was a tricky one.  While the error was ultimately because
he was specifying a non-existant directory in defaults.nh, the
error message lead me to the wrong area until I traced through
with a debugger.

It turns out that an fqn buffer was being re-used before it
was finished being used with the original information in
sys/share/pcunix.c, so the error message listed the
wrong file!

This adds one more buffer and fixes the problem.
Note that it could only affect plaforms with
PREFIXES_IN_USE defined  (NOCWD_ASSUMPTIONS
or VAR_PLAYGROUND)

It also alters the WIN32 error message to give them a
hint as to what the problem might be.

<email deleted>
<email deleted>
Sent: Saturday, March 23, 2002 9:27 AM
Subject: #R668: Windows 2000 Lock File Creation Error
> nhfrom: 3.4.0 Official binary release for Windows 95/98/NT/2000/Me/XP
> I get an error after unzipping nethack to c:\nethack, and changing the
> configuration (defaults.nh) to reflect this in the hackdir, levels and save
> configuration items.
>
> The error I get is "cannot creat lock file (C:\nethack\NHPERM_lock.)" after
> entering nethack at the command line and answering the Who are you? question.
2002-03-24 01:37:16 +00:00
cohrs
f777aceb74 wall symbol not replaced when digging while blind and levitating
- this was reported to the mailing list just before 3.4.0 shipped
- treat in a manner similar to chopping a boulder while blind and levitating
2002-03-23 22:27:54 +00:00
cohrs
d66603827b only get gems from kicking thrones
- this was a betabug I think, but not recorded as such
- if you kicked a throne, any GEM_CLASS item could be generated, including rocks
- changes behavior to be consistent with gems from fountains
2002-03-23 22:11:07 +00:00
arromdee
399b801315 bad wizkit items
Format multiple bad wizkit items a little better.  It will scroll off the screen
if there are more than a screen of bad items, but that's probably not too
likely.
2002-03-23 18:30:38 +00:00
nethack.allison
869e5e7c0c more explode panic()
You could still get a panic. To reproduce:
- wizwish for a statue, and drop it
- wizwish for a landmine, and apply it at same location as statue
- move one square and wish for a boulder, drop it (automatically likely)
- push the boulder on the landmine to trigger it.
- the panic came from the statue this time.
2002-03-23 17:27:52 +00:00
nethack.allison
7dcaa4d54b The spellbook fadefades.
<email deleted>
<email deleted>
Sent: Saturday, March 23, 2002 6:01 AM
Subject: Bug in 3.4.0: spellbook fading


> Dip a spellbook in a fountain:
> "The spellbook fadefades."
>
> In get_wet (potion.c), otense is used, which returns "fades",
> redundantly, as a suffix to "fade".
2002-03-23 12:43:11 +00:00
nethack.rankin
42a0285fa0 conduct bit
Document the way to decline a wish or genocide, and allow both
actions to accept both "none" and "nothing" so that players don't
have to remember which response goes with which prompt.
2002-03-23 12:08:19 +00:00
nethack.rankin
365a76ca28 annoying shop bug
The shop billing code assumes that food marked partly eaten
is worthless, but the eating code was changed to make sure that any
eating attempt will never leave food marked as not partly eaten.
The end result is that non-corpse food which is consumed in a
single byte can be eaten off shop floors for free, and if eaten
from inventory--so already on shop bill--the "Ix" display of used
up goods lists the item as partly eaten (with right price though).

     This fix makes single-byte food be handled the same as other
food:  the first byte taken causes the food to be auto-purchased
immediately instead of waiting until it's used up to add it to the
shopping bill.
2002-03-23 06:53:09 +00:00
nethack.rankin
db95c38e20 Mjollnir fix
Fix one of the problems From a bug report:  Mjollnir is only
giving the intended feedback when it is thrown.  Against ordinary
monsters the problem isn't too bad--you get a lightning message
without the preceding hit message--but against resistant ones there
is no message at all when you hit hand-to-hand.  (There is a similar
bug for artifacts which add magic missile damage, but since no such
artifacts exist that isn't much of a problem. :-)
2002-03-23 04:37:02 +00:00
nethack.allison
fba4cbd6af #R650: Game crash (Panic - obj not free)
> <email deleted>
> Oops! [...]
> Suddenly, the dungeon collapses.
> place_object: obj not free
>
> The crash is reproducible in wizmode by wishing for a landmine, arming it and
> pushing a wished-for boulder onto it.
2002-03-23 01:35:59 +00:00
nethack.rankin
35c7504e8e probing of empty containers--right diff this time 2002-03-20 09:07:39 +00:00
nethack.rankin
0f1d63976b probing of empty containers 2002-03-20 09:06:30 +00:00
kmhugo
2962e623d0 Mac port update
* Update Mac port to new options system.
* Update Mac-specific documentation.
* Remove hardcoded version strings.
* Remove obsolete popup_dialog.
2002-03-20 06:33:45 +00:00
nethack.rankin
49d84cffdb final(?) touchstone
Put back the "better gold handling" that was inadvertently
dropped from the previous rewrite.  Prevent gems rubbed on cursed
gray stones other than touchstones from being shattered.  Fix
several pluralization buglets, including allowing the player to
rub a stone against itself if the quantity is more than one (just
like potion dipping is handled).  Overall, streamline the rather
convoluted logic, eliminating the `goto's.
2002-03-19 05:13:50 +00:00
cohrs
e6c317835c /tmp/msg 2002-03-19 04:20:20 +00:00