ensure mksobj() always attaches timer

Previously, if mksobj() was called with the 1st argument
having a value of CORPSE, and a second argument (init)
set to FALSE, the corpse would never get a timer attached.
This commit is contained in:
nethack.allison
2003-07-18 12:06:08 +00:00
parent 99bcdf6a4e
commit 11ecff5540
2 changed files with 10 additions and 1 deletions

View File

@@ -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

View File

@@ -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);