Commit Graph

2362 Commits

Author SHA1 Message Date
cohrs
d62c6eac08 change appearance if polymorphing while mimicing
As per <Someone>:
> I had a game today where I was polymorphed (by a sink) into a mimic, and
> #monster-ed (hid).  The symbol on the map for me was ].  Then, I polymorphed
> again, this time into a kobold lord -- but the symbol remained ].  This
> seems wrong.
Handle this similar to the polyman code.
2002-05-16 04:02:52 +00:00
cohrs
25e5208deb R868 - don't kill paper/straw golems twice
longtime bug in damageum, if hero is poly'd to something with fire damage,
and hits a paper or straw golem, mondead will get called twice for the
monster.  Fix this, by working like AD_CURS does no clay golem.  Also, make
sure no scrolls, et al, get dropped by disallowing a corpse.
2002-05-16 03:13:34 +00:00
nethack.rankin
4c07c88dac #loot in shop
Fix the reported bug of being double-billed for a bag of
holding destroyed if #loot is used to put a wand of cancellation
into it while it's on a shop floor.  (The bug report neglected
to mention a second aspect of the situation:  you wouldn't get
billed for the wand if you used an unpaid one to trigger this.)
2002-05-15 23:15:39 +00:00
nethack.rankin
b0872d064f twoweapon feedback
When #twoweapon fails, the message referring to "your current form"
sounds pretty odd when you're not polymorphed.
2002-05-15 06:48:46 +00:00
cohrs
b5276ed2a0 looting containers and monsters
There's a check in doloot that's supposed to disallow looting nearby
monsters if you loot a container at the current location.  But, it only
worked if you looted the last container.  Make the behavior consistent.
2002-05-15 05:10:06 +00:00
cohrs
b131f0fee6 R870 - shopkeeper grabbing backpack panic fix
The worn bits, et al, were not all cleared when the shopkeeper grabbed your
pack.  This currently affects only alternate (non-twoweap) and quivered
objects.  This could lead to a panic or a crash.
2002-05-14 07:02:50 +00:00
nethack.rankin
0d0f8b5c70 redundant petrification message
[I've lost the #Rxxx number for this bug report....]

     When attacking a non-stone golem with a cockatrice corpse,
suppress the redundant "<monster> turns to stone" message which
preceeded the "<monster> solidifies.  It's now a stone golem."
messages.
2002-05-10 02:07:45 +00:00
nethack.rankin
ecffb6b92c monster strategy fix
From the newsgroup:  using #chat to talk to a "meditating"
monster like quest nemesis or Medusa could elicilit responses
without waking it up (at least if you moved fast enough enough
to probe it before it got its next turn).
2002-05-10 01:59:25 +00:00
nethack.rankin
847b037d58 #ride workaround
From the newsgroup:
> Apparent bug or weird-seeming feature:
> If you try to mount a horse that is already in a pit,
> you get the message "You lead the poor <foo> into a pit!"

     I checked into fixing this properly (you mount the steed and
then shared its trapped status without actively retriggering the
trap in the process), but the trap code is too convoluted to do
that cleanly.  So this "fix" just makes mounting attempts fail if
the steed is trapped.

     (This diff is mostly whitespace cleanup.)
2002-05-10 01:50:22 +00:00
kmhugo
e6f9748511 3.4.1 beta marked
A tarball and binaries are forthcoming.
2002-05-09 04:04:16 +00:00
nethack.rankin
55f3390e5b special level fountain fix
Add FOUNTAIN directives to the maps that just had '{' symbols.
Without them, the special level loader sets up those maps in a way
that prevents nethack from keeping the fountain counter accurately,
resulting in lack of fountain noises when they haven't been touched
yet and persistent noises after at least one of them has been dried
up.  (It would be better to fix lev_comp's map handling code to do
this automatically.)
2002-05-03 08:05:56 +00:00
arromdee
407696c305 worm display bug
This fixes a long worm display bug.  The bug wasn't really in the worm code, it
was in goodpos().  goodpos() could place worm segments on top of one another.
If you split a worm when the tail was located on top of the head, the tail
would be removed from the screen, making the head seem to vanish.
2002-05-03 03:47:39 +00:00
arromdee
050bc318ba statue traps
From the newsgroup (a little while back): if a statue comes to life and the
monster is invisible, you can't see it.
2002-05-03 01:59:39 +00:00
nethack.rankin
b113445f93 grammar tidbit (fixes #R835)
Add special case to an() to produce "a one-eyed one-horned
flying purple people eater" instead of "an one-eyed ...".
2002-05-01 01:26:32 +00:00
cohrs
9f2f6f6177 boulder display bug
If you first pushed an undiscovered boulder while blind with ESP and
there's a monster behind it, you'd get a message referring to the boulder
but the boulder wasn't displayed.  Move the feel_location test.
Also, improved the grammar of the message a bit.
2002-04-27 23:22:35 +00:00
cohrs
93c2b69769 R788 - bones corpses shouldn't all be human
u.umonnum was used to create the corpse in a bones file.  However, unless
you're polymorphed and manage to actually die in that form, u.umonnum
refers to a role monster, which all have M2_HUMAN set, so they're all
human.  Even if the role monsters were mutated dynamically when the game
starts, the problem would still exist, just in a different form.
Use urace to determine the corpse type instead.
2002-04-24 05:21:20 +00:00
cohrs
b1fe51e80b R765 - minetn-6 could have cut-off downstairs
minetn-6 includes a MAP along with the flags that cause it to be cavernous.
However, the caverns get generated before the MAP is adde the level.  Other
similar MAPs have open space on their edges, but there were walls on the
lower right edge of minetn-6.  Added another column of mostly open space.
This level can still get cut-off areas, but the stairs won't be located there.
2002-04-24 03:53:10 +00:00
cohrs
2c26ea1dd5 R809 - newcham message reorganization
Add a param to newcham() to let it print "The oldmon turns into a newmon!"
rather than always printing this externally.  Should ensure a good ordering
of the messages.  Also put some special name handling in one place and
catch a couple cases where "saddled" was printed, resulting in funny messages.
2002-04-23 06:15:52 +00:00
cohrs
7c0e55e6aa fix diggable luckstone location in minend-3
<Someone> reported that one of the 3 random luckstone rooms in
minend-3 was diggable, while the other 2 were non-diggable.  Fixed bounds.
2002-04-22 04:39:18 +00:00
cohrs
5b13f62fa3 R792 - crocodile kicking
Based on the limited research I've done, it does not appear that crocodiles
of any size have legs that can effectively kick doors, chests, et al.  They
could kick objects, but kicking a monster would be more of a claw attack.
It's simpler to just print a message in all cases.
2002-04-22 03:58:41 +00:00
cohrs
310e466162 more portable Gnome uid workaround
- incorporate a more portable way of calling the real getres*id() functions
on Linux platforms that uses the glibc interface rather than calling
the system call directly.  The previous version didn't work on ia64 linux.
2002-04-21 23:59:52 +00:00
cohrs
8260da268e R806 - monsters using teleportation on noteleport levels
Bug reported was that Vlad the Impaler never figured out that a wand of
teleportation was useless.
1) Rather than change the monst struct, overload the use of the mtrapseen
TELEP_TRAP bit to be set when a monster uses teleportation on a noteleport
level.  This has the side effect of causing the monster to know about
teleport traps if they manage to leave the level.
2) reduce chance for monsters to get teleport wands on noteleport levels,
since they will otherwise simply be left mostly charged for the player.
2002-04-21 23:25:21 +00:00
nethack.allison
2089f618d1 Keep README and patchlevel updated with new info 2002-04-21 21:24:43 +00:00
cohrs
d79e5a8917 R812 - tty color/inverse video interaction
With some TERMs, disabling inverse video also disables color.
Work around: explicitly turn off color when turning off inverse video.
2002-04-21 19:01:57 +00:00
cohrs
5bc5910ed8 compilation bits
- remove an unused variable in use_pick_axe2
- wiz_debug_cmd needs to return an int like other extended commands
2002-04-21 17:43:17 +00:00
cohrs
b1055ae7c1 Gnome updates (from <Someone> <Someone> Simon)
- fix destruction of primary game windows
- One, it makes the color of the cursor box dynamic (these are the gnmap.c
changes), based on hp/hpmax (continuous colors white -> yellow -> red ->
magenta rather than discrete like in Qt).
- Two, it adds a new window, NHW_WORN (all the other changes and new files
gnworn.[ch]), placed at the end of the first row, to the right of the status,
with tiles of all the items currently equiped.  I had to change the spacing of
the first row (no longer homogeneous) to accomodate this, but I think it still
looks okay.  It's mostly like the Qt version but the equiped items are in
slightly different places, and a bit more compactly (added quiver, ball/chain,
monster skin armor; see the definition in gnworn.c for the layout).
2002-04-21 17:09:34 +00:00
nethack.allison
a277db8f73 debug-mode extended cmd - panic
Add a debug-mode extended command #panic to call
panic().  Useful for testing panic-savefile generation.
2002-04-21 13:51:10 +00:00
nethack.allison
b1c191cf85 prevmsg followup
The patch by <Someone> assumed TTY_GRAPHICS was defined.
That broke environments where it wasn't, such as win32 graphics.
2002-04-21 13:36:38 +00:00
nethack.allison
31e40def94 (from <Someone>)
Allow someone to resume their game by clicking on a saved game, if they
have an association set up.
2002-04-21 13:22:57 +00:00
nethack.allison
20694eb254 patchlevel follow-up bit
couple -> few
2002-04-20 14:28:24 +00:00
nethack.allison
5d3448fc16 Message recall window extensions
by <Someone>

(the following text accompanies the patch at <Someone>'s web page)

add more configurability to the new msg_window option of [..]3.4.0.
It allows the configuration option to take an optional parameter to
specify the style of message history display to use.

allows the following configuration options:

msg_window:s - single message (as was the default in 3.3.0)
msg_window:c - combination; two messages in 'single', then as 'full'
msg_window:f - full window; oldest message first
msg_window:r - full window reversed; newest message first

In the event of no parameter being provided,
the patch is compatible with the current 3.4.0 behaviour:
msg_window = 'full'
!msg_window = 'single'
msg_window can be configured for these options in the
Options menu (Shift-O)
msg_window stores the current window type in the non-persistent
iflags structure, which means that savefile/bones files should be
100% compatible with Vanilla, but at the disadvantage that your
customisations to msg_window will be replaced with your
defaults.nh (or ~/.nethackrc) value every time you restart a saved game.
Credits:

The patch draws inspiration (and code snippets) extensively
from <Someone>'s original msg_window patch, [...] as well as <Someone>'s code for reverse ordering implemented until recently in
Slash'em.
2002-04-20 14:16:23 +00:00
nethack.rankin
8bcec06645 vault guard behavior
From the newsgroup:  vault guards would ask your name--and you'd
be able to respond--even when you were unconscious (for any reason
besides fainting from lack of food) or paralyzed.  (The code already
made the guard be forgiving when you failed to promptly follow him
out due to that situation, but it would repeatedly say "move along!"
even though you were unable to move.)
2002-04-19 06:03:01 +00:00
nethack.rankin
197b4e706f grammar tidbit
From the newsgroup:  if the Candelabrum of Invocation already
has six candles attached and you apply another one to add the seventh,
the message said it "now has seven candle attached."
2002-04-19 05:50:02 +00:00
cohrs
91b2bab5d5 R804 - fix crash caused by looking at a unique boulder symbol
The code only handled the case where the boulder symbol was non-unique.
Add code to handle the case where the boulder sym is the first match.
2002-04-19 02:28:20 +00:00
nethack.allison
20472e645c (from <Someone>)
W340-6 fix
fixed: mswin_menu_size incremented width of the actual menu window
each time being called. This only happens if "show window content
while dragging" option is set in Windows desktop settings.
2002-04-18 22:21:05 +00:00
nethack.allison
d493eb8d90 (from <Someone>)
The pet image was garbled because it was reduced to the size of the pet mark
bitmap
in the function that draws pet mark transparently over the pet tile (32x32
image was reduced to 16x16 and then stretched again)

Also added: use Windows-provided TransparentBlt where available.
2002-04-18 22:11:34 +00:00
nethack.rankin
f0aabe8460 discovery of enchant weapon scrolls
Eliminate or at least reduce one of the idiosyncratic differences
between enchant weapon and enchant armor:  make reading enchant weapon
discover that scroll if the effect is adequately discernible, instead
of always asking the player to supply a name for it.  If your weapon
is identified and its +/- enchantment value goes up, or you're wielding
a worm tooth and it transforms into a crysknife, you learn the scroll.
However for the negative effect of a cursed one, that's only applicable
when the scroll is already known to be cursed.
2002-04-18 02:26:09 +00:00
arromdee
97e393aa05 naga hatchlings growing up
This was reported on the newsgroup.
2002-04-17 00:12:02 +00:00
nethack.allison
841db8164d Get rid of some win32 warnings from recent patches
mhmenu.c(798) : warning C4101: 'dtp' : unreferenced local variable
mhmenu.c(1273) : warning C4101: 'wbuf' : unreferenced local variable
mhmenu.c(1290) : warning C4101: 'drawRect' : unreferenced local variable
mhmenu.c(1289) : warning C4101: 'dtp' : unreferenced local variable
2002-04-16 21:40:55 +00:00
kmhugo
6425f28b63 fixes34.1
Add entries for recent pick, axe, and grappling hook changes.
2002-04-16 17:27:57 +00:00
kmhugo
a7504f0c77 Grappling hook aiming
Characters skilled or better with a grappling hook have a chance of
aiming for an object, monster, or the floor.
2002-04-16 17:24:33 +00:00
cohrs
2490b10b65 pre-known Fake Amulet of Yendor
the change to xname to lazily reset known on objects after DRIN attacks,
need not change the FAoY.  the_unique_obj already handles this
2002-04-16 04:57:51 +00:00
kmhugo
31c824dbf3 digging rock vs. chopping wood
Refinement of the digging code:
* Picks should not chop down trees, but axes should.
* Picks should break walls, rock, statues, and boulders; axes shouldn't.
* Either picks or axes should chop down doors.
2002-04-16 01:37:57 +00:00
kmhugo
a15813a3cb tidbit
A nice little quote I saw in the newsgroup a while ago...
2002-04-15 19:25:18 +00:00
cohrs
27fb054937 polymorph engulfing monster display bit
- <Someone> reported that the swallowed display did not update immediately if
you managed to polymorph the monster that was engulfing you into another
engulfing monster
2002-04-15 15:33:44 +00:00
cohrs
6502474697 more prayer tuning
- Don't guarantee high results when you have high Luck, add Luck into
random param of rn1(), and just add 1 to the basis, keeping the guaranteed
fix of a single major trouble mentioned in the block comment
2002-04-15 14:56:39 +00:00
nethack.rankin
43e65726f7 shop credit fix
[ Fix a bug reported in the newsgroup; I thought I sent this last
  week, but it isn't in the current code so I must have forgotten. ]

     When I split u_left_shop() into two routines I neglected to
propagate the early return condition from the second half to the
first.  The result is that if you leave a shop with unpaid goods
but have enough credit there to cover the cost, the shopkeeper
will take that credit and be satisified, but the kops were still
getting summoned as if he had been robbed.
2002-04-15 10:52:20 +00:00
cohrs
d3078778eb waking waiting monsters after non-damaging attacks
- From a bug report, there are ways to, for example, steal items
from Medusa without waking her, by clever use of Conflict.
Avoid this by removing STRAT_WAITFORU when such an attack succeeds
- it was theoretically possible to use a similar approach to steal from a
STRAT_WAITFORU monster without it noticing while polymorphed and very fast,
so bulletproof this case as well.  Simpler because failed attacks wake too.
2002-04-15 07:00:00 +00:00
cohrs
86f961ba3f crash fix: shopkeeper re-entering shop
- when a shopkeeper leaves the shop to chase the player, and the player
enters the shop, bill_p is set to an unusual value.  bill_p needs to be set
back to a valid value if the shopkeeper re-enters the shop.
- Also, the u.ushops state needs to be updated when a shop becomes tended
again if the player is in the shop.
- introduce a new after_shk_move function to handle this
2002-04-15 06:43:55 +00:00
cohrs
b6be8e8af1 stale pickup_burden message in tty after
- tty interface left a stale prompt on the topl, clear it
2002-04-14 21:59:53 +00:00