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
+1
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 try to keep saddle at the same location as the steed corpse
never display I symbol on the mounted hero/steed location never display I symbol on the mounted hero/steed location
pit digging is no longer stopped by a sleeping monster next to you 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 Platform- and/or Interface-Specific Fixes
+9 -1
View File
@@ -416,7 +416,7 @@ boolean artif;
this level; let's create an adventurer's corpse instead, then */ this level; let's create an adventurer's corpse instead, then */
otmp->corpsenm = PM_HUMAN; otmp->corpsenm = PM_HUMAN;
} }
start_corpse_timeout(otmp); /* timer set below */
break; break;
case EGG: case EGG:
otmp->corpsenm = NON_PM; /* generic egg */ otmp->corpsenm = NON_PM; /* generic egg */
@@ -617,6 +617,14 @@ boolean artif;
objects[otmp->otyp].oc_class); objects[otmp->otyp].oc_class);
return (struct obj *)0; 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 */ /* unique objects may have an associated artifact entry */
if (objects[otyp].oc_unique && !otmp->oartifact) if (objects[otyp].oc_unique && !otmp->oartifact)
otmp = mk_artifact(otmp, (aligntyp)A_NONE); otmp = mk_artifact(otmp, (aligntyp)A_NONE);