fix SC343-9, bones handling for corpse/statue of unique monster (trunk only)

The logic in cant_revive() was a little off, so reviving a unique
corpse or statue on a bones level would recreate that unique monster instead
of making a doppelganger who's imitating it.  Fixing that was simple but had
the unintended side-effect of making it impossible to deliberately create
unique monsters with ^G in wizard mode.  So create_particular() has been
modified to let the user override the zombie or doppelganger conversion.
And then when not overriding, shapechangers took on random appearance, so
this also changes create_particular() to override shape changing.  And that
has the side-effect of making chameleons or vampires start out as themselves
instead of as random critters or bats/fog clouds.  [Better stop now! :-]

    resetobjs() also needed to have extra corpse handling when saving bones
because the fix for revival wouldn't prevent you from turning to stone by
eating apparent-Medusa's corpse.  Statues of uniques and corpses of special
humans like vault guards and shopkeepers didn't need anything extra; they
can retain original form until an attempt at revival is tried.

    I'm not going to try to adapt this for 3.4.4.
This commit is contained in:
nethack.rankin
2005-10-08 04:19:31 +00:00
parent 8c56042a0c
commit 8f8538e527
3 changed files with 37 additions and 14 deletions

View File

@@ -89,6 +89,7 @@ prevent polymorphing into "new man" at low level from magnifying HP and Pw
losing a level while polymorphed affects hero's current monster HP as well as
underlying normal HP
mind flayer brain eating is subject to certain fatal targets and to cannibalism
corpses of unique monsters in bones behaved incorrectly if revived or eaten
Platform- and/or Interface-Specific Fixes