-/* NetHack 3.6 makemon.c $NHDT-Date: 1561236435 2019/06/22 20:47:15 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.138 $ */
+/* NetHack 3.6 makemon.c $NHDT-Date: 1570569787 2019/10/08 21:23:07 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.140 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2012. */
/* NetHack may be freely redistributed. See license for details. */
register struct permonst *ptr = mtmp->data;
register int mm = monsndx(ptr);
struct obj *otmp;
- int bias, spe2, w1, w2;
+ int bias, w1, w2;
if (Is_rogue_level(&u.uz))
return;
} else if (ptr->msound == MS_PRIEST
|| quest_mon_represents_role(ptr, PM_PRIEST)) {
otmp = mksobj(MACE, FALSE, FALSE);
- if (otmp) {
- otmp->spe = rnd(3);
- if (!rn2(2))
- curse(otmp);
- (void) mpickobj(mtmp, otmp);
- }
+ otmp->spe = rnd(3);
+ if (!rn2(2))
+ curse(otmp);
+ (void) mpickobj(mtmp, otmp);
} else if (mm == PM_NINJA) { /* extra quest villains */
(void) mongets(mtmp, rn2(4) ? SHURIKEN : DART);
(void) mongets(mtmp, rn2(4) ? SHORT_SWORD : AXE);
artiname(rn2(2) ? ART_DEMONBANE : ART_SUNSWORD));
bless(otmp);
otmp->oerodeproof = TRUE;
- spe2 = rn2(4);
- otmp->spe = max(otmp->spe, spe2);
+ otmp->spe = rn2(4);
(void) mpickobj(mtmp, otmp);
otmp = mksobj(!rn2(4) || is_lord(ptr) ? SHIELD_OF_REFLECTION
: LARGE_SHIELD,
FALSE, FALSE);
- otmp->cursed = FALSE;
+ /* uncurse(otmp); -- mksobj(,FALSE,) item is always uncursed */
otmp->oerodeproof = TRUE;
otmp->spe = 0;
(void) mpickobj(mtmp, otmp);
-/* NetHack 3.6 mkobj.c $NHDT-Date: 1570566379 2019/10/08 20:26:19 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.152 $ */
+/* NetHack 3.6 mkobj.c $NHDT-Date: 1570569798 2019/10/08 21:23:18 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.153 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Derek S. Ray, 2015. */
/* NetHack may be freely redistributed. See license for details. */
default:
impossible("impossible mkobj %d, sym '%c'.", otmp->otyp,
objects[otmp->otyp].oc_class);
+ dealloc_obj(otmp); /* free() would suffice here */
return (struct obj *) 0;
}
}