Commit Graph

420 Commits

Author SHA1 Message Date
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
cohrs
6fc7d44345 better trap searching behavior
- if a trap is hidden by clutter, cls() before delay, remove windowport
specific behavior, makes trap more obvious in all cases
2002-03-18 07:30:48 +00:00
cohrs
a0a0a0e5dd kelp fronds are really not gems
- finish un-confusing the kelp frond case
2002-03-18 06:58:18 +00:00
cohrs
104814e2c8 kelp fronds are not gems
- mksobj had a misplaced test for KELP_FROND in the GEM_CLASS code, moved
to the FOOD_CLASS code
2002-03-18 06:46:01 +00:00
nethack.allison
754012bd5c disclosure bug
From <Someone>:
>And finally a bug-report:
>The new disclose-option didn't fully work.
>While the -ny prefixes works like explained the + prefix
>(show it don't ask) acts like -.
>A possible fix is, change the return-value of
>should_query_disclose_option for case DISCLOSE_YES_WITHOUT_PROMPT
>to TRUE and handle the case defquery=='q' in list_*-function
>as "don't ask". Or add a new boolean ask parameter to the
>list_*-functions.
2002-03-18 02:24:35 +00:00
nethack.allison
98b9b734eb As pointed out by <Someone>
> while testing the new wc_-Features for Gem I noticed
> in nh340b11 options.c parse_options there is a bug.
> If a optionname starts with "font" a opts+=4; is
> performed on it, but if via string_for_opt an
> error occurs badoption is reporting i.E.
>    Bad Syntax: _menu use "?g" ...
> instead of font_menu.
>
> Possible fixes include shift the pointer back (bad)
> or use another pointer.
>
> <Someone>
2002-03-17 21:59:19 +00:00
nethack.allison
678debd7a0 <Someone>'s trap detection complaint
To address <Someone>'s complaint, make the cluttered
trap detection tty only. Also put in some dead
code that could make it work elsewhere in future
when there is time to test.
2002-03-17 16:03:29 +00:00
nethack.rankin
fafbb60725 touchstone again
Recent patches broke rubbing gold coins on touchstones; for the
!GOLDOBJ configuration, the character's money would be lost and the
program leaked memory.  That problem was already present for rubbing
gold on other gray stones.

     This also gives a gem advantage back to archeologists:  they
can comprehend touchstone results when the stone is uncursed rather
than require it to be blessed.  (I gave gnome characters that benefit
too.  Why gnomes and not dwarves?  I don't have a reasonable answer
for that....)  To go along with that, make A's initial touchstone
start uncursed rather than blessed, so that other characters finding
them in bones won't get an immediate benefit from them for the 20%
of the time that they're not cursed when saving bones.

     Much of this is whitespace cleanup.  I reformatted use_stone()
completely.
2002-03-17 08:19:21 +00:00
nethack.allison
723e17b6ee (from Yitzhak)
This is the part of Yitzhak's patch not currently under discussion.
2002-03-16 18:54:16 +00:00
nethack.allison
16cdae3bd2 touchstone follow-up
- Handle gold materials a littel better.
2002-03-16 14:08:35 +00:00
nethack.allison
ce6025df6e >Rubbing a clove of garlic on a gray stone to see if it went "scritch,
>scritch": "You make scratch marks on the stone".
2002-03-16 13:57:08 +00:00
jwalz
579360ed93 <Someone> pointed out a possible infinite loop here. 2002-03-15 22:07:24 +00:00
jwalz
6eb8c05ec8 It was pointed out that we didn't add names quite everywhere. 2002-03-15 22:06:46 +00:00
nethack.rankin
57d8a85e50 fix wizard mode crash (SPLEVTYPE)
Set SPLEVLTYPE to "soko1-1"; visit soko4-* (or minetown)
on the way there; oops:  access violation from deferencing a
null pointer.
2002-03-13 11:22:03 +00:00
nethack.rankin
9084aebe11 split long line
A source line being 190 characters wide is rather excessive.
2002-03-13 07:40:47 +00:00
cohrs
1dcd580e90 undef WIZARD
- quiet a gcc warning if WIZARD is undefined
2002-03-12 22:41:48 +00:00
jwalz
b964042e26 Another pre-ANSI bit. 2002-03-12 21:30:05 +00:00
nethack.allison
2baa20217f beta feedback - add more wc options
- splash_screen (boolean for whether to display splash screen at startup)
- player_selection:dialog|prompts

Also moves the font and window manipulation stuff in defaults.nh
further down the file, so that a tty users doesn't have to wade
through it all to find the character adjustment samples.
2002-03-12 05:15:40 +00:00
nethack.rankin
085498ba28 unleashing untame monsters
Fix several cases that earlier patches didn't address.
If a leashed monster becomes untame, detach the leash.
2002-03-11 08:46:54 +00:00
nethack.rankin
6c91a6bc04 leash groundwork
Add another parameter to m_unleash.  This should not introduce
any change in behavior.
2002-03-11 08:00:21 +00:00
nethack.rankin
bc8acf4a29 steed/leash bit
It's possible to leashed a saddled pet and them ride it,
but it wasn't possible to remove the leash while mounted.  This
fixes that; it also lets you put the leash on your steed while
mounted, but there's nothing wrong with that.
2002-03-11 06:41:47 +00:00
nethack.allison
d40c1b8202 (from Yitzhak) part1
part 1 touches core files
ntconf.h changes differ slightly from Yitzhak's original.

Makes Borland happy with current sources.
Hides "rawio" on Graphical Port which doesn't do anything with rawio
2002-03-10 17:35:16 +00:00
jwalz
3e6e2ff7c6 Lint part 2, mostly parameters. 2002-03-10 04:05:59 +00:00
arromdee
3294d0b818 wizkit
This fixes the wizkit so that if someone wishes for a non-object such as
a trap, not only is no message printed, but we don't try to create anything.

Incidentally, if you have two bad wizkit items in a row, you get told to hit
space to continue, then you can hit space, then the error message for the
second bad item is printed on the same line as the first hit space message.
(I haven't tried to fix that.)
2002-03-10 01:00:06 +00:00
jwalz
bab78d03c8 Lint part 1, unused variables, routines, and return codes. 2002-03-10 00:30:53 +00:00