diff --git a/doc/fixes34.2 b/doc/fixes34.2 index 3dc3aa564..6945d9ca0 100644 --- a/doc/fixes34.2 +++ b/doc/fixes34.2 @@ -104,6 +104,7 @@ finding a statue trap you are about to dig should stop your occupation try to keep saddle at the same location as the steed corpse never display I symbol on the mounted hero/steed location pit digging is no longer stopped by a sleeping monster next to you +ensure mksobj() always attaches timer to corpse, even if called with init FALSE Platform- and/or Interface-Specific Fixes diff --git a/src/mkobj.c b/src/mkobj.c index 15b9380ba..5631ede68 100644 --- a/src/mkobj.c +++ b/src/mkobj.c @@ -416,7 +416,7 @@ boolean artif; this level; let's create an adventurer's corpse instead, then */ otmp->corpsenm = PM_HUMAN; } - start_corpse_timeout(otmp); + /* timer set below */ break; case EGG: otmp->corpsenm = NON_PM; /* generic egg */ @@ -617,6 +617,14 @@ boolean artif; objects[otmp->otyp].oc_class); return (struct obj *)0; } + + /* Some things must get done (timers) even if init = 0 */ + switch (otmp->otyp) { + case CORPSE: + start_corpse_timeout(otmp); + break; + } + /* unique objects may have an associated artifact entry */ if (objects[otyp].oc_unique && !otmp->oartifact) otmp = mk_artifact(otmp, (aligntyp)A_NONE);