fix #H4187 - doppelgangers posing as Riders...
... never transform and can leave Rider corpses Riders can't be polymorphed, and the code to prevent that was also preventing doppelgangers in Rider form from changing shape. Using ring of protection from shape changers effectively turned such doppelgangers into actual Riders which would leave self-reviving corpses. That didn't prevent Riders from appearing on the Astral Plane though.
This commit is contained in:
@@ -3157,8 +3157,9 @@ boolean msg; /* "The oldmon turns into a newmon!" */
|
||||
struct permonst *olddata = mtmp->data;
|
||||
char oldname[BUFSZ], l_oldname[BUFSZ], newname[BUFSZ];
|
||||
|
||||
/* Riders are immune to polymorph and green slime */
|
||||
if (is_rider(mtmp->data))
|
||||
/* Riders are immune to polymorph and green slime
|
||||
(but apparent Rider might actually be a doppelganger) */
|
||||
if (is_rider(mtmp->data) && mtmp->cham == NON_PM)
|
||||
return 0;
|
||||
|
||||
if (msg) {
|
||||
|
||||
Reference in New Issue
Block a user