fix #Q417 - gelatinous cubes can engulf Rider corpses

From a bug report:  gelatinous cubes
could engulf Rider corpses, allowing g.cube and cargo to be teleported
away without triggering corpse revival, or to be hit with theft attack by
poly'd hero to get the corpse into inventory so it could then be put into
a container in order to prevent revival (or to be destroyed via bag of
holding explosion or cursed access).
This commit is contained in:
nethack.rankin
2007-02-11 03:59:08 +00:00
parent aa97ea65b1
commit 0b95104f0e
2 changed files with 7 additions and 0 deletions

View File

@@ -272,6 +272,7 @@ prevent very large number of objects in # inventory slot from causing
!fixinv config was using arbitrary characters instead of # for invent overflow
don't report death by petrification if cockatrice kills hero via HP loss
Riders are immune to green slime
Rider corpses can't be engulfed by gelatinous cubes
wielding a cloak of magic resistance or gray dragon scales, or carrying one in
alternate weapon or quiver inventory slot, conferred magic resistance
to polymorphed hero

View File

@@ -814,6 +814,12 @@ meatobj(mtmp) /* for gelatinous cubes */
/* in case it polymorphed or died */
if (ptr != &mons[PM_GELATINOUS_CUBE])
return !ptr ? 2 : 1;
} else if (otmp->otyp == CORPSE &&
is_rider(&mons[otmp->corpsenm])) {
/* Rider corpse will always pass the obj_resists() test above
and not be eaten; we don't want it to be engulfed either */
(void)revive_corpse(otmp);
/* continue; -- regardless of whether it revived */
} else if (otmp->oclass != ROCK_CLASS &&
otmp != uball && otmp != uchain) {
++ecount;