Commit Graph

655 Commits

Author SHA1 Message Date
nethack.allison
bbd3671740 selection of top,bottom,left, or right
for align_message and align_status, so that you don't have
to type in the word top or bottom or left or right.
2002-08-16 02:34:12 +00:00
nethack.rankin
fab39a2007 compatibility checks fix for TIMED_DELAY
makedefs has been listing TIMED_DELAY as one of the options which
affects save file contents even though that hasn't been the case for
a long time.  Unfortunately, simply fixing that by itself would break
save file compatibility for anyone who has been building with it set.
This workaround prevents the fix from doing that.  And now folks can
rebuild after toggling TIMED_DELAY without unnecessarily invalidating
save and bones files.
2002-08-15 02:48:34 +00:00
nethack.rankin
c19ba37192 enlightenment bit 2002-08-14 06:51:01 +00:00
cohrs
dee94b0410 handle 0 in DUNGEONS et al
As suggested by <Someone>, treat 0 entries in the various graphics symbol
specifications as leaving the value unchanged.
2002-08-13 04:18:46 +00:00
nethack.allison
5d5de0c657 R1045 engulfing green slime was causing stoning not sliming
From a bug report,
August 12, 2002 at 11:37:10

When I am polymorphed into a purple worm (didn't check other forms)
and bite a green slime I turn to stone (not slime).
2002-08-13 03:58:33 +00:00
arromdee
55e58c662e mind flayers growing up into master mind flayers, etc.
While one could argue that giant rats aren't just grown up forms of sewer
rats, we already have bat/giant bat in there.
2002-08-13 03:49:11 +00:00
nethack.allison
3c227928f9 function name format
From <Someone>:
[functions that don't start in leftmost column ]

apply.c:int unfixable_trouble_count(is_horn)
artifact.c:void arti_speak(obj)
botl.c:int xlev_to_rank(xlev)
botl.c:int rank_to_xlev(rank)
display.c:void map_location(x,y,show)
hack.c:static void findtravelpath()
hack.c:void unmul(msg_override)
hack.c:long money_cnt(otmp)
mklev.c:CFDECLSPEC do_comp(vx,vy)
pickup.c:long carry_count(obj, container, count, telekinesis, wt_before, wt_after)
pickup.c:boolean mon_beside(x,y)
shk.c:long money2mon(mon, amount)
shk.c:boolean same_price(obj1, obj2)
shk.c:void finish_paybill()
trap.c:boolean delfloortrap(ttmp)
weapon.c:void give_may_advance_msg(skill)
do_name.c:char *coyotename(mtmp, buf)

(This with a pruned 'egrep '^[[:alnum:]]+ .*\(.*\)$' *.c' in src/; I
haven't looked outside that directory, but generally speaking once you
go beyond there you're widening your search anyway.)
2002-08-12 22:24:05 +00:00
nethack.allison
18f4b58fb8 fix recent mon.c warning
mon.c(967) : warning C4244: '=' : conversion from 'long ' to 'char ',
possible loss of data
2002-08-12 12:41:56 +00:00
nethack.rankin
c8dccc63ff B07002 - hiding under nothing?
Clear the uundetected status during level changes in case
the character was hiding under something immediately prior to the
change.  Don't set hidden status at the destination even when
there's something to hide under--it'll take a turn to hide again.
2002-08-12 08:25:48 +00:00
cohrs
a8ac6f6cc6 forcefighting an undetected monster
Fix the case <Someone> saw, where forcefighting an undetected monster
would still leave it undetected, resulting in an odd message sequence unless
you kept forcefighting on the next turns.  This also left the monster at a
disadvantage, since it wouldn't fight back. Added a check to wakeup() for this
case, cutting off the possibilities and allowing the monster to fight back.
2002-08-12 05:57:40 +00:00
nethack.allison
b4dffbcc48 B07001 healed, undetected mimic
> [Cast a healing spell in a shop where no mimic was visible] So,
> "The small mimic looks better.". However, my picture still looks
> the same. Either the mimic should be shown, *or* I shouldn't get
> any message about the mimic healing. Both solutions seem equally
> valid to me.

If the mimic was mimicing the "strange object", then the healing causes
them to start mimicing something else with no message (the observant
player could notice however).

If the mimic was already mimicing a real object, a message similar
to this one results:
"The crude dagger seems a more vivid black than before."
2002-08-12 01:57:02 +00:00
cohrs
5a42dcef98 B06005 - cancelling getdir prompt
- Changed a cancelled chat direction to abort the chat -- it seemed odd
that the old behavior would sometimes take time, sometimes not, depending
on the previous direction.
- Documented the current spelleffects behavior of re-using the last
direction after a cancelled getdir() & added a message.
2002-08-11 23:17:23 +00:00
cohrs
9d8782eb8f cut trees and dug walls replaced by corridor symbols
- In various places, cutting down a tree would result in a corridor symbol
showing up, although trees are generally found in room-like areas.  Added
the missing checks.
- Trees were diggable except on mazelike levels.  Added the missing check.
- In a cavernous town like minetn-6, digging a wall would result in a
corridor symbol being displayed instead of a doorway.  This looked strange,
especially in the town.  Added a check for this, making use of the new
meaning of in_town(); non-town parts of this level still do CORR
replacement as expected.
2002-08-11 17:40:08 +00:00
cohrs
b4b5a0fe52 B02001 - trees and monster
<Someone> noticed that the change to require axes for trees (and allow them for
doors) did not extend to monsters.  Now it does.
- added 2 new weapon check flags to handle the new cases
- added some detailed digging flags to mfndpos, based on ALLOW_DIG, and
  moved some common logic regarding that flag into mfndpos
- made the ARMS check consistent for 2-handed weapons
I also noticed that simply carrying a pick was enough to allow a monster to
dig a door; wielding wasn't required.  This is fixed as well.
2002-08-11 17:32:47 +00:00
cohrs
632cb9ffb0 R1037 - digging secret doors in town
I saw no secret doors in any of the towns, but in 340 (fixed in 341),
guards would patrol the entire level, so they might complain about secret
doors elsewhere.  Fix the check for future use.  Also, I noticed trees, eg
on minetn-6, weren't checked at all.  Now they are.
2002-08-09 04:06:38 +00:00
nethack.rankin
24c2d465a3 blindness vs vault guards
I implemented this before seeing <Someone>'s forwarded report.
It makes guards come to vaults when you can't see them, but does
have one odd side-effect:  if the vault has boulders in the way
then you might not be able to follow the guard out.  (Usually you
can alternately search and step in order to successfully follow
him out when unable to see.)
2002-08-09 02:35:30 +00:00
nethack.allison
57e1c11c54 stone to flesh historic statues 2002-08-07 10:47:53 +00:00
nethack.rankin
e5148d5d57 wishing fixes for "* glass"
The wishing code intended to make a wish for "blue glass" yield
a "worthless piece of blue glass" (and similarly for other specific
colors) but it didn't work right.  Also, wishing for "looking glass"
tripped up on that same code and didn't work either.  (Several other
permutations for worthless gems such as "worthless blue glass" and
"piece of glass" already do work.)
2002-08-07 08:04:27 +00:00
nethack.rankin
d04c66657c vtense special case for *ss
This fixes the reported "The looking glass miss the mountain nymph."
2002-08-07 07:07:38 +00:00
arromdee
0247ab5c1c eating rings
Found on the newsgroup: someone pointed out that you don't get a message
when you eat a ring of increase damage.  They thought it was intentional--
it's not.
2002-08-07 05:17:45 +00:00
nethack.allison
26e74eba24 stone to flesh crash
Problem was due to the use of obj
in the caller (bhito), after delete of
the obj within animate_statue().

map_object(obj * 0x0000ff00, int 1) line 254 + 3 bytes
newsym(int -18, int -2) line 702 + 102 bytes
bhito(obj * 0x002f6c00, obj * 0x002f7398) line 1665 + 21 bytes
bhitpile(obj * 0x002f7398, int (obj *, obj *)* 0x0055220b bhito(obj *, obj *), int 37, int 11) line 1701 + 11 bytes
bhit(int 0, int 1, int 10, int 0, int (monst *, obj *)* 0x0054e0e0 bhitm(monst *, obj *), int (obj *, obj *)* 0x0055220b bhito(obj *, obj *), obj * 0x002f7398) line 2707 + 29 bytes
weffects(obj * 0x002f7398) line 2434 + 51 bytes
spelleffects(int 3, char 0) line 824 + 11 bytes
docast() line 552 + 11 bytes
rhack(char * 0x005b6034 in_line) line 1813 + 3 bytes
moveloop() line 405 + 7 bytes
main(int 3, char * * 0x002f2b10) line 93
2002-08-07 02:38:04 +00:00
cohrs
82d134c29a B06011 - grammar bit 2002-08-06 05:04:14 +00:00
cohrs
8d58c4d33e B06010 - lifesaving messages
If you fall in the water and drown, you get two "back on solid land"
messages, at least sometimes.  Guard the 2nd one.
2002-08-06 04:29:11 +00:00
nethack.rankin
855ddbc550 armor & busy hands
Fix some inconsistencies in armor handling.  The 'T' command
wouldn't let you take off a suit or shirt if you were wielding a
cursed two-handed weapon, which makes sense; however, the 'A'
command neglected to impose the same restriction.  Also, the 'W'
command had some code intended to prevent you from donning a suit
or shirt while wielding such a cursed weapon, but it didn't work.

     This patch fixes the 'A' command's checks for whether an
item can be removed and it makes the 'T' and 'R' commands use the
same code as 'A' instead of maintaining multiple sets of checks.
It also fixes the trivial 'W' problem and attempts to prevent the
sequence of 1) get interrupted while removing a set of equipment
including suit and/or shirt; 2) wield a cursed two-handed weapon
or have already wielded one become cursed; 3) resume removing
armor via 'A' but I haven't tried to trigger that situation to
confirm the bug or this fix.
2002-08-05 09:54:07 +00:00
cohrs
a61e68069a Magic portals and levitation boots
From a bug report.  Removing levitation boots while hovering over
a magic portal causes the portal to be delayed since it takes time to
remove the boots.  This causes the portal to be taken via unmul in allmain.
At that point, the will activation message display but you won't teleport
until you type something.  Handle the delayed goto after unmul completes.
2002-08-05 00:57:21 +00:00
cohrs
869a600da8 R06008 - Ludios level in score list
<Someone> reported that the Ludios level is shown on death.  It's not
shown on the tombstone, but it was displayed in the topten list.
Now it's not shown in the topten list either.
2002-08-04 23:39:42 +00:00
nethack.allison
8386f680a6 cmdassist follow-up bit 2002-08-04 23:34:10 +00:00
cohrs
2d21a12ad5 R06006 - travel command infinite loop
The problem was caused by a test that was added to test_move() to test the
move as a regular move if it was the next step.  This case affected
boulders and closed doors, both of which are handled in later in do_move().
Remove the check.  I think this was something I thought was needed for an
intermediary version of the travel command fix, but turned out to be
detrimental in the current version.
2002-08-04 23:04:56 +00:00
nethack.allison
4fd1cc98a9 Generalize cmdassist direction help
to work with any call to getdir().
When cmdassist is set, instead of the
message:
"What a strange direction!"
you get a screen of help showing the valid direction keys.

!cmdassist will suppress the extra help information.
2002-08-04 22:14:02 +00:00
nethack.allison
8631cba725 newbie in-game assistance with Guidebook notation
Provide some command assistance for newbies, but
suppress it with !cmdassist in the config file.

If someone misinterprets the Guidebook ^D, ^T
type command notation, this will pop up some
further information to possibly assist them and
explain the notation.
2002-08-04 16:48:15 +00:00
nethack.rankin
9fa85b109b artifact manipulation
Fix an item from <Someone>'s list:  invoking or applying an
artifact might blast you; if it evades your grasp, the intended
action won't take place but will still use up a turn.
2002-08-01 23:20:34 +00:00
nethack.rankin
7191f3b8a5 dragon scale mail is magical
This reclassifies dragon scale mail as magic and leaves dragon
scales as non-magic.  Changing the latter would make it be easier
to obtain magic armor via polymorph; just kill some dragons and toss
their scales on the pile.  Unfortunately the logic used suggests that
unicorn horns ought to be non-magic too, but I left them as magic.
(Making them become non-magic would actually be a good idea as far
as balancing polypiling goes, but it's awfully hard to justify when
they produce should a wide-ranging magical effect when applied.)
2002-08-01 20:58:39 +00:00
cohrs
0823cb41be R1024 - Eyes of the Overworld effect delayed
The effect of the EOTO did not take effect until the next move.
Added a vision_full_recalc as suggested to resolve the problem.
2002-07-31 16:47:49 +00:00
nethack.allison
a849315988 no message 2002-07-29 17:57:57 +00:00
warwick
fb4f19662b Honour more WINCAP flags. 2002-07-29 05:19:49 +00:00
warwick
0b7c39a331 alloc, not malloc 2002-07-29 05:16:54 +00:00
nethack.allison
6baca91d81 comment update mon.c 2002-07-28 23:22:24 +00:00
nethack.allison
46721b5a91 flag changes
Several flags added since 3.4.0 were destined for flags
(to be saved with the game) but were placed in iflags for
savefile compatibility.  These include:
 boolean  lootabc;	/* use "a/b/c" rather than "o/i/b" when looting */
 boolean  showrace;	/* show hero glyph by race rather than by role */
 boolean  travelcmd;	/* allow travel command */
 int	 runmode;	/* update screen display during run moves */

This patch has no effect unless you define this in your port's
XXconf.h file.
#define SAVEFILE_340_CONVERT	/* allow moving of some iflags fields to flags
					without destroying savefile compatibility */
Without it, the new flags remain in "iflags."  With it, the flags are moved to
"flags" and the structures are converted when the save file is read. There
is no reverse compatibility.  If you save the game after conversion, you
can't load the savefile on 3.4.0, only 3.4.1.
2002-07-28 16:03:00 +00:00
nethack.rankin
aedd6947d4 runmode option
Provide user control over screen updating for multi-step movement
(run via shift, control, &c and also travel).  [See cvs history for
fixes34.1 for more details.]
2002-07-28 10:45:46 +00:00
nethack.allison
cca62c762f B04007 unknown corpse type revealed by hider
"It was hidden under a green mold corpse!  It bites!"
	Never seen corpse from a never seen monster can be
	revealed by the hider.
	-problem is that the corpse of the monster is
	always created with dknown set to 1 when make_corpse() finishes,
	even in the case where you never knew what it was while alive.
2002-07-28 02:19:21 +00:00
nethack.allison
02ed5c37c9 From the newsgroup, there was a discussion about how you
can't just blind yourself with a cream pie in your inventory
directly by applying it or by throwing it.

On 27 Jul 2002 14:11:06 GMT, <Someone> wrote:
> <email deleted> wrote:
>> <email deleted> (<Someone>) hypothesised:
>>
>> [cream pie]
>>> So I a)pply the pie. What I want to do is to hit MYSELF in the
>>> face with the pie, thereby blinding me and giving me T-P for
>>> just a few turns.
>>
>> Not a bad TTDTDTO ("Thing The DevTeam Didn't Think Of," which is
>> subtly different to a YANI, and not a bug; sorry, I seem to be
>> on a neologismathon today.)
> I tried throwing a cream pie upwards, hoping it would blind me,
> but no luck:
>
> "A cream pie hits the ceiling. What a mess!"
>
2002-07-27 20:48:45 +00:00
nethack.allison
7374338424 payment messages
Change the message for paying off consumed items to
"You paid for a xxxx at a cost of nnn gold pieces."
to distinguish it from objects that you still have in your inventory which is
"You bought a xxx for nnn gold pieces."
2002-07-27 19:23:20 +00:00
nethack.rankin
b5405940a2 R1007 - Monk kicking bug
Kicking a monster as a monk or samurai or while wearing kicking
boots might make it "reel from the blow" and be knocked back a step.
If that knock back put it into a trap which killed it, the kicking
code would kill it an extra time, then the player would get a warning
about dmonsfree finding the wrong number of dead monsters.
2002-07-26 00:33:14 +00:00
nethack.rankin
c740d732cc phantom venom
[ I didn't keep a copy of the message which reported this
  so don't have any reference number for it. ]

     If you used '/' to look at multiple items one after another,
then looking at floor or other item represented by the same '.' as
venom could result in subsequent things being falsely categorized as
possibly venom.  The subsequent items needed to have less than two
possible descriptions, and the triggering item needed to be a plain
dot rather than the graphic dot used for floor with IBMgraphics and
DECgraphics.
2002-07-25 23:55:06 +00:00
nethack.rankin
72dbd302c0 do_look at self
Suggested by <Someone>:  when examining an `@' monster, only include
"or you" in the description if you might reasonably expect to be seen
as something else.  So if you're playing as a human or an elf, or if
you're polymorphed regardless of race, the ordinary description of
"human or elf" doesn't need to add "or you".  And the setting of the
`showrace' option only matters if the `@' comes from prompting the
user instead of picking a symbol from the map.
2002-07-25 23:34:47 +00:00
nethack.rankin
afa939f4f9 traps burning paper golems
Paper golems destroyed by fire traps won't leave any scrolls
of blank paper behind.  (There's still no handling of other forms
of fire attack against such critters.)
2002-07-25 01:04:08 +00:00
warwick
036d873dbb Just a comment. 2002-07-24 08:10:36 +00:00
nethack.rankin
cdc0677383 ending hallucination while blind
Don't suppress hallucination on/off messages when blind.
This fixes the case where you might be observing hallucinatory
monsters via telepathy yet not be told that perception was back
to normal when hallucination timed out.  It does not fix the
case where temporary hallucination times out while the effect is
being blocked (in which case successful application of a unicorn
horn yields no feedback), nor the hypothetical cases where timed
hallucination starts or ends while also hallucinating for some
other reason (which could happen via polymorph someday if a
monster which is always hallucinating--the way that bats are
always stunned--ever gets introduced).
2002-07-24 06:13:29 +00:00
nethack.rankin
5773c461ef throwing through iron bars
Make throwing things through iron bars by the player and
by monsters behave consistently with each other.  Also prevent
stone-to-flesh'd boulders and wands from passing through.
2002-07-24 05:42:49 +00:00
warwick
bdc6c965af Rollback NAME_MAX workarounds as suggested. 2002-07-23 06:07:21 +00:00