]> granicus.if.org Git - nethack/commit
recursive spoteffects (trunk only)
authornethack.rankin <nethack.rankin>
Thu, 1 Jun 2006 03:54:25 +0000 (03:54 +0000)
committernethack.rankin <nethack.rankin>
Thu, 1 Jun 2006 03:54:25 +0000 (03:54 +0000)
commita72e370899fc3f4315d3fe07d8870fd6e00354a0
treeb293647b063adc30472ed87cfdae7fde1c87db96
parentac49eb5b84bef77b54d21d593504504bf5d303fd
recursive spoteffects (trunk only)

     Attempt to fix a buglist item:  if hero poly'd into iron golem form
enters a pool of water and drowning triggers reversion to human/whatever
form due to water damage, he will fall into that pool again, crawl or
teleport out, then redundantly crawl or teleport out for the initial entry.
[ spoteffects -> drown -> losehp -> rehumanize -> polyman -> spoteffects
  -> drown ]

     I don't have a lot of confidence in this fix.  It does handle the
reported problem, and hasn't broken a couple of earlier tricky cases
(ice melting to water, land mine turning into a pit).  But drown() and
lava_effects() seem to leave a trail of special case handling wherever
they appear so they--or spoteffects, or both--ought to be redone somehow.
doc/fixes35.0
src/hack.c