struct permonst *whichpm = NULL;
struct monst *mtmp;
boolean madeany = FALSE, randmonst = FALSE,
- maketame, makepeaceful, makehostile, saddled, invisible;
+ maketame, makepeaceful, makehostile, saddled, invisible,
+ sleeping;
int fem;
tryct = 5;
monclass = MAXMCLASSES;
which = urole.malenum; /* an arbitrary index into mons[] */
maketame = makepeaceful = makehostile = FALSE;
- saddled = invisible = FALSE;
+ sleeping = saddled = invisible = FALSE;
fem = -1; /* gender not specified */
getlin("Create what kind of monster? [type the name or symbol]", buf);
bufp = mungspaces(buf);
saddled = TRUE;
(void) memset(tmpp, ' ', sizeof "saddled " - 1);
}
+ if ((tmpp = strstri(bufp, "sleeping ")) != 0) {
+ sleeping = TRUE;
+ (void) memset(tmpp, ' ', sizeof "sleeping " - 1);
+ }
if ((tmpp = strstri(bufp, "invisible ")) != 0) {
invisible = TRUE;
(void) memset(tmpp, ' ', sizeof "invisible " - 1);
}
if (invisible)
mon_set_minvis(mtmp);
+ if (sleeping)
+ mtmp->msleeping = 1;
madeany = TRUE;
/* in case we got a doppelganger instead of what was asked
for, make it start out looking like what was asked for */
pline("%s %s!", Monnam(mon),
(dmg > mon->mhp / 2) ? "wails in agony" : "cries out in pain");
mon->mhp -= dmg;
+ wake_nearto(mon->mx, mon->my, 30);
if (mon->mhp <= 0) {
if (context.mon_moving)
monkilled(mon, (char *) 0, AD_BLND);