diff --git a/doc/fixes34.1 b/doc/fixes34.1 index 1409384a0..369893342 100644 --- a/doc/fixes34.1 +++ b/doc/fixes34.1 @@ -91,6 +91,7 @@ monsters should not repeatedly try to teleport on noteleport levels crocodiles legs are not designed for kicking open doors, chests, et al. walls of one of the luckstone locations in minend-3 were diggable minetn-6 could place downstairs in a cut-off location +corpses in bones files don't retain their role characteristic Platform- and/or Interface-Specific Fixes diff --git a/src/end.c b/src/end.c index a62fe2901..7cac2cbf4 100644 --- a/src/end.c +++ b/src/end.c @@ -646,7 +646,17 @@ die: u.ugrave_arise = (NON_PM - 1); /* statue instead of corpse */ else if (u.ugrave_arise == NON_PM && !(mvitals[u.umonnum].mvflags & G_NOCORPSE)) { - corpse = mk_named_object(CORPSE, &mons[u.umonnum], + int mnum = u.umonnum; + + if (!Upolyd) { + /* Base corpse on race when not poly'd since original + * u.umonnum is based on role, and all role monsters + * are human. + */ + mnum = (flags.female && urace.femalenum != NON_PM) ? + urace.femalenum : urace.malenum; + } + corpse = mk_named_object(CORPSE, &mons[mnum], u.ux, u.uy, plname); Sprintf(pbuf, "%s, %s%s", plname, killer_format == NO_KILLER_PREFIX ? "" :