Commit Graph

131 Commits

Author SHA1 Message Date
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.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
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.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.allison
6578eb1884 B07004 camera breaks on shade 2002-08-20 00:03:17 +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
nethack.allison
42bbcb6157 slight cockatrice egg msg change
Move the "Splat" part of the message.
2002-07-14 13:01:04 +00:00
cohrs
35914ed186 R919 - applying lances
Fixes 2 bugs:
1) an impossible() could occur if you applied a lance against a long worm
because the code uses thitmonst to do the hitting, but didn't set bhitpos,
which is required before calling thitmonst.
Add the missing assignment.
2) applying a lance would never mark a knight as a caitiff.  Added a new
check_caitiff function and called it from the 2 existing checks and in
the lance code.
2002-07-11 05:16:27 +00:00
cohrs
40c4800613 B01016 - misplaced "you steal" message after being blasted by an artifact
I saw no straight-forward way to insert the message earlier in the
sequence, so...  I reasoned that you might not yet have a good grasp and
not be able to continue holding the object when reverting form.  So, I made
this into a drop case and made the drop message a rare past tense message.
Past tense is still OK for the other drop cases.
While testing this, I noticed you'd keep stealing even after reverting
form.  Added code to stop this.  Finally, there was a missing MON_NOWEP
call in the stealing code, added it.
2002-07-07 20:22:57 +00:00
cohrs
8a44a437e5 R926 - polymorphed player does not explode at thin air
Reported that player polymorphed into an exploding monster does not explode
when attacking thin air.  Also noticed that if player is Unchanging, they
wouldn't die after exploding in the existing code.  Set u.mh = -1 to ensure
they won't still be around after exploding.
2002-07-04 06:36:37 +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
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
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
5c1ea899bf ensure touch_artifact is always called via hold_another_object
- remove the touch_artifact calls just added
- put a check into hold_another_object itself, based on the complete check
removed from makewish
2002-04-02 05:32:02 +00:00
cohrs
a0ba9d1421 R739 - dead migrating monster
- It was possible for hmon_hitmon to call mhurtle to move a monster into a
hole or other trap, causing it to migrate.  Then, hmon_hitmon would
subtract hp, and could mark the monster as dead.  Later, dmonsfree would
notice the monster wasn't on the level anymore, causing the impossible.
Avoid the problem by just not hurtling the monster if it's going to die.
It's possible it will get lifesaved after not hurtling.  Technically, if it
does die, the corpse should be hurtled, but won't be.
- treat jousting similarly
2002-04-01 07:03:44 +00:00
cohrs
31c4ccd43b R363 - can't drown breathless monsters
- if you're polymorphed into an eel, you were able to drown things like xorns
- also, fix the tombstone message when an eel drowns you, it was basing the
message on your location, not the eel's location
2002-04-01 05:33:32 +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
jwalz
3e6e2ff7c6 Lint part 2, mostly parameters. 2002-03-10 04:05:59 +00:00
cohrs
a9835fd23c more update_inventory calls
in passive_obj and erode_armor
2002-03-09 06:55:52 +00:00
nethack.allison
233385401a more weapon shattering
The Kop Kaptain's rubber hose shatters from the force of your blow!
Rubber hoses are an individual exception that would need to be dealt
with explicitly, since the PLASTIC they're made of is floppy rather
than rigid as for other PLASTIC items.
2002-03-06 01:58:07 +00:00
cohrs
f33ab026b8 shattering corpses
- generalize which weapons can be shattered to be >= WOOD
2002-02-26 22:07:24 +00:00
cohrs
6db3117830 sling, like whip, shouldn't shatter from a blow 2002-02-25 02:57:57 +00:00
nethack.rankin
81684b1672 high-end monster tuning
Strengthen Death by making his "drains your life force"
result take away some max HPs to augment the ordinary damage
it does.  The chance for that effect is reduced from 80% to
75% though.  Weaken Famine, Pestilence, and Demogorgon by
preventing them from hitting with both of their disease or
hunger attacks on the same turn.  When their first attack
hits, the second now gets treated as a stun attack, but if
the first one misses then the second is unchanged and yields
another chance to deliver the disease or hunger effect.
2002-02-19 03:38:31 +00:00
cohrs
cad85663de purple worm digestion
Generally modify the AD_DGST damage type so that:
- players and pets get no AD_DGST nutrition from G_NOCORPSE monsters
- undead no longer convey any nutrition, to either monsters or you-as-monster
  I decided on this based on the age typically assigned to undead corpses.
- digestion conveys 50% or normal nutrition, and takes 25% the time to eat.
- all AD_DGST attacks are now subject to gas spore explosions, including player
2002-02-18 23:36:46 +00:00
cohrs
aac7f717c2 verb agreement
add and use new APIs, Tobjnam, otense and vtense, is_plural
to determine tense/form of verbs and a few pronouns as well
2002-02-09 00:30:33 +00:00
arromdee
9aa253c8ab salamanders
If salamanders are made immune to slime, then all the other places in the
code which check for fire creatures should be modified too.
2002-02-06 05:11:25 +00:00
nethack.allison
742e1e8c90 3.3.2 to 3.4.0 2002-02-04 16:11:00 +00:00
arromdee
c8c7c22a92 swallowing zombies/mummies 2002-01-21 22:54:17 +00:00
kmhugo
bb88bd1a4a Jousting
Players wielding a lance while riding will "joust" monsters
they attack.

Note that monsters don't get pushed into inaccessable tiles such
as walls, doors, iron bars, water, or lava; they stay at the edge.
Further refinements are possible for these cases.
2002-01-20 05:44:46 +00:00
cohrs
c77073be31 sync changes since last snapshot 2002-01-07 02:12:04 +00:00
jwalz
e3a66a1aad *** empty log message *** 2002-01-05 21:05:53 +00:00