]> granicus.if.org Git - nethack/commit
fix #H7157 - cancel self as clay golem
authorPatR <rankin@nethack.org>
Sun, 16 Sep 2018 02:23:29 +0000 (19:23 -0700)
committerPatR <rankin@nethack.org>
Sun, 16 Sep 2018 02:23:29 +0000 (19:23 -0700)
commit89237fc96d9632a29474d7f61d906480ba71a931
treebc9b89103504c3bf4fdac90386d33b710c6b330b
parente0318008800b61076cdcabc270b21eb0a320ad9e
fix #H7157 - cancel self as clay golem

The report was "doesn't kill even if unchanging", but it does cause
rehumanize() when not Unchanging, the same thing that happens when
you die due to loss of hit points.  But losing the activating word(s)
and then having Unchanging retain the clay golem shape does seem
wrong, so make losing the word(s) while being unable to revert to
normal form be fatal.

Poly'd hero (without Unchanging) reverts to normal when cancelled,
so make monsters behave that way.  Previously, only werecritters in
beast form were forced to human form.  This changes cancellation to
make shapechangers and hiding mimics take on normal form too.

Cancelled shapechangers now behave as if the hero has the
Protection_from_shape_changes attribute and will be unable to change
their shape (after having been forced into normal form).  Getting
polymorphed in any fashion uncancels them prior to giving new shape.
[There may be some newcham() situations that should be disallowed
when cancelled rather proceeding and consequently uncancelling.]
doc/fixes36.2
src/mon.c
src/zap.c