freeinv(obj);
(void) mpickobj(mtmp, obj);
if (!tele_restrict(mtmp))
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
} else if (!is_unicorn(mtmp->data) && !humanoid(mtmp->data)
&& (!mtmp->minvis || perceives(mtmp->data)) && rn2(5)) {
if (vis)
return; /* don't cover the portal */
if ((mtmp = m_at(x, y)) != 0) /* make sure crucial monsters survive */
if (!passes_walls(mtmp->data))
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
} else if (lev->typ == ROOM)
return;
if (!Blind)
pline1(buf);
if (!tele_restrict(mon))
- (void) rloc(mon, FALSE);
+ (void) rloc(mon, TRUE);
return (ret);
}
if (vis)
Strcpy(mdef_Monnam, Monnam(mdef));
mdef->mstrategy &= ~STRAT_WAITFORU;
- (void) rloc(mdef, FALSE);
+ (void) rloc(mdef, TRUE);
if (vis && !canspotmon(mdef) && mdef != u.usteed)
pline("%s suddenly disappears!", mdef_Monnam);
}
pline("%s steals some gold from %s.", buf, mon_nam(mdef));
}
if (!tele_restrict(magr)) {
- (void) rloc(magr, FALSE);
+ (void) rloc(magr, TRUE);
if (vis && !canspotmon(magr))
pline("%s suddenly disappears!", buf);
}
return (MM_DEF_DIED
| (grow_up(magr, mdef) ? 0 : MM_AGR_DIED));
if (pa->mlet == S_NYMPH && !tele_restrict(magr)) {
- (void) rloc(magr, FALSE);
+ (void) rloc(magr, TRUE);
if (vis && !canspotmon(magr))
pline("%s suddenly disappears!", buf);
}
: "makes some remarks about how difficult theft is "
"lately");
if (!tele_restrict(mtmp))
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
return 3;
} else if (mtmp->mcan) {
if (!Blind) {
}
if (rn2(3)) {
if (!tele_restrict(mtmp))
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
return 3;
}
break;
break;
default:
if (!is_animal(mtmp->data) && !tele_restrict(mtmp))
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
if (is_animal(mtmp->data) && *buf) {
if (canseemon(mtmp))
pline("%s tries to %s away with %s.", Monnam(mtmp),
return 2;
} else if (!rn2(33)) {
if (!tele_restrict(mtmp))
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
monflee(mtmp, d(3, 6), TRUE, FALSE);
return 3;
}
verbalize("You're such a %s; I wish...",
flags.female ? "sweet lady" : "nice guy");
if (!tele_restrict(mon))
- (void) rloc(mon, FALSE);
+ (void) rloc(mon, TRUE);
return 1;
}
if (u.ualign.type == A_CHAOTIC)
if (!rn2(25))
mon->mcan = 1; /* monster is worn out */
if (!tele_restrict(mon))
- (void) rloc(mon, FALSE);
+ (void) rloc(mon, TRUE);
return 1;
}
pline("%s says, \"Good hunting, %s.\"", Amonnam(mtmp),
flags.female ? "Sister" : "Brother");
if (!tele_restrict(mtmp))
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
return (1);
}
cash = money_cnt(invent);
/* some monsters teleport */
if (mtmp->mflee && !rn2(40) && can_teleport(mdat) && !mtmp->iswiz
&& !level.flags.noteleport) {
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
return (0);
}
if (mdat->msound == MS_SHRIEK && !um_dist(mtmp->mx, mtmp->my, 1))
if (is_demon(youmonst.data)) {
/* "Good hunting, brother" */
if (!tele_restrict(mtmp))
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
} else {
mtmp->minvis = mtmp->perminvis = 0;
/* Why? For the same reason in real demon talk */
if (ptr == &mons[PM_TENGU] && !rn2(5) && !mtmp->mcan
&& !tele_restrict(mtmp)) {
if (mtmp->mhp < 7 || mtmp->mpeaceful || rn2(2))
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
else
mnexto(mtmp);
mmoved = 1;
worm_move(mtmp);
} else {
if (is_unicorn(ptr) && rn2(2) && !tele_restrict(mtmp)) {
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
return (1);
}
if (mtmp->wormno)
}
if (oseen && how)
makeknown(how);
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
return 2;
case MUSE_WAN_TELEPORTATION:
zap_oseen = oseen;
if (cansee(mtmp->mx, mtmp->my))
pline("%s resists the magic!", Monnam(mtmp));
} else if (!tele_restrict(mtmp))
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
}
break;
case WAN_CANCELLATION:
(Levitation || Flying) ? "beneath" : "between", whose, what);
if (!ygold || !rn2(5)) {
if (!tele_restrict(mtmp))
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
monflee(mtmp, 0, FALSE, FALSE);
}
} else if (ygold) {
add_to_minv(mtmp, ygold);
Your("purse feels lighter.");
if (!tele_restrict(mtmp))
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
monflee(mtmp, 0, FALSE, FALSE);
context.botl = 1;
}
so we don't set mavenge bit here. */
monflee(mtmp, 0, FALSE, FALSE);
if (!tele_restrict(mtmp))
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
break;
}
}
(void) mpickobj(mtmp, otmp); /* may merge and free otmp */
pline("%s stole %s!", Monnam(mtmp), doname(otmp));
if (can_teleport(mtmp->data) && !tele_restrict(mtmp))
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
}
}
rloc_to(mtmp, c.x, c.y);
return;
}
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
}
boolean
if (trap->once)
mvault_tele(mtmp);
else
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
if (in_sight) {
if (canseemon(mtmp))
if (give_feedback)
You("are no longer inside %s!", mon_nam(mtmp));
unstuck(mtmp);
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
} else if (is_rider(mtmp->data) && rn2(13)
&& enexto(&cc, u.ux, u.uy, mtmp->data))
rloc_to(mtmp, cc.x, cc.y);
else
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
return TRUE;
}
if (u_carry_gold) { /* player teleported */
m = grd->mx;
n = grd->my;
- (void) rloc(grd, FALSE);
+ (void) rloc(grd, TRUE);
levl[m][n].typ = egrd->fakecorr[0].ftyp;
newsym(m, n);
grd->mpeaceful = 0;
if (In_W_tower(mtmp->mx, mtmp->my, &u.uz)
|| (mtmp->iswiz && !xupstair && !mon_has_amulet(mtmp))) {
if (!rn2(3 + mtmp->mhp / 10))
- (void) rloc(mtmp, FALSE);
+ (void) rloc(mtmp, TRUE);
} else if (xupstair
&& (mtmp->mx != xupstair || mtmp->my != yupstair)) {
(void) mnearto(mtmp, xupstair, yupstair, TRUE);