Lines Matching defs:mtmp
211 mintrap(struct monst *mtmp)
213 struct trap *trap = t_at(mtmp->mx, mtmp->my);
214 int wasintrap = mtmp->mtrapped;
217 mtmp->mtrapped = 0; /* perhaps teleported? */
220 mtmp->mtrapped = 0;
223 int in_sight = cansee(mtmp->mx, mtmp->my);
225 if (mtmp->mtrapseen & (1 << tt)) {
230 mtmp->mtrapseen |= (1 << tt);
233 if (strchr(mlarge, mtmp->data->mlet)) {
236 Monnam(mtmp));
237 else if (mtmp->data->mlet == 'o')
239 mtmp->mtrapped = 1;
243 /* there should be a mtmp/data -> floating */
244 if (!strchr("EywBfk'& ", mtmp->data->mlet)) { /* ab */
245 mtmp->mtrapped = 1;
247 pline("%s falls in a pit!", Monnam(mtmp));
251 if (!mtmp->msleep && !mtmp->mfroz) {
252 mtmp->msleep = 1;
255 Monnam(mtmp));
259 rloc(mtmp);
260 if (in_sight && !cansee(mtmp->mx, mtmp->my))
262 Monnam(mtmp));
267 Monnam(mtmp));
269 mtmp->mhp -= 3;
274 Monnam(mtmp));
276 mtmp->mhp -= 2;
281 mtmp->mhp -= 10;
283 pline("A trap door in the ceiling opens and a rock hits %s!", monnam(mtmp));
286 if (mtmp->data->mlet != 'w') {
287 fall_down(mtmp);
289 pline("Suddenly, %s disappears out of sight.", monnam(mtmp));
299 return (mtmp->mtrapped);