Lines Matching refs:mtmp

77 mhitu(struct monst *mtmp)  in mhitu()  argument
79 const struct permonst *mdat = mtmp->data; in mhitu()
86 if (mtmp != u.ustuck) { in mhitu()
89 monnam(mtmp)); in mhitu()
93 done_in_by(mtmp); in mhitu()
100 youswld(mtmp, (u.uac > 0) ? u.uac + 4 : 4, in mhitu()
104 youswld(mtmp, rnd(6), 7, "The lurker above"); in mhitu()
107 youswld(mtmp, d(2, 4), 12, "The purple worm"); in mhitu()
115 done_in_by(mtmp); in mhitu()
122 if (mdat->mlet == ';' && mtmp->minvis && cansee(mtmp->mx, mtmp->my)) { in mhitu()
123 mtmp->minvis = 0; in mhitu()
124 pmon(mtmp); in mhitu()
127 tmp = hitu(mtmp, d(mdat->damn, mdat->damd)); in mhitu()
131 tmp += hitu(mtmp, d(mdat->damn, mdat->damd)); in mhitu()
133 ctmp = tmp && !mtmp->mcan && in mhitu()
137 if (wiz_hit(mtmp)) in mhitu()
141 if (!mtmp->cham && !mtmp->mcan && !rn2(13)) { in mhitu()
144 (void) hitu(mtmp, d(2, 6)); in mhitu()
145 (void) hitu(mtmp, d(2, 6)); in mhitu()
146 (void) hitu(mtmp, rnd(3)); in mhitu()
147 (void) hitu(mtmp, rnd(3)); in mhitu()
148 (void) hitu(mtmp, rn1(4, 2)); in mhitu()
153 justswld(mtmp, "The trapper"); in mhitu()
157 justswld(mtmp, "The lurker above"); in mhitu()
163 Monnam(mtmp)); in mhitu()
164 u.ustuck = mtmp; in mhitu()
165 } else if (u.ustuck == mtmp && in mhitu()
166 levl[mtmp->mx][mtmp->my].typ == POOL) { in mhitu()
167 pline("%s drowns you ...", Monnam(mtmp)); in mhitu()
183 (void) hitu(mtmp, rnd(6)); in mhitu()
187 pline("You hear %s's hissing!", monnam(mtmp)); in mhitu()
197 if (rn2(6) || mtmp->mcan) { in mhitu()
198 (void) hitu(mtmp, d(3, 10)); in mhitu()
199 (void) hitu(mtmp, rnd(8)); in mhitu()
200 (void) hitu(mtmp, rnd(8)); in mhitu()
204 buzz(-1, mtmp->mx, mtmp->my, u.ux - mtmp->mx, u.uy - mtmp->my); in mhitu()
207 (void) hitu(mtmp, d(2, (flags.moonphase == FULL_MOON) ? 3 : 4)); in mhitu()
210 (void) hitu(mtmp, d(3, 6)); in mhitu()
213 if (mtmp->mcan) in mhitu()
227 losehp_m(d(dn, 6), mtmp); in mhitu()
229 mondead(mtmp); in mhitu()
245 tmp = hitu(mtmp, rnd(3)); in mhitu()
246 tmp &= hitu(mtmp, rnd(3)); in mhitu()
248 (void) hitu(mtmp, rnd(4)); in mhitu()
249 (void) hitu(mtmp, rnd(4)); in mhitu()
253 if ((hitu(mtmp, rnd(4)) || !rn2(3)) && ctmp) { in mhitu()
259 stealgold(mtmp); in mhitu()
262 if (mtmp->mcan && !Blind) { in mhitu()
264 Amonnam(mtmp, "plain")); in mhitu()
266 rloc(mtmp); in mhitu()
267 } else if (steal(mtmp)) { in mhitu()
268 rloc(mtmp); in mhitu()
269 mtmp->mflee = 1; in mhitu()
275 Monnam(mtmp)); in mhitu()
283 rloc(mtmp); in mhitu()
285 (void) hitu(mtmp, d(2, 6)); in mhitu()
286 (void) hitu(mtmp, d(2, 6)); in mhitu()
290 tmp = hitu(mtmp, rnd(6)); in mhitu()
291 if (hitu(mtmp, rnd(6)) && tmp && /* hits with both paws */ in mhitu()
293 u.ustuck = mtmp; in mhitu()
296 } else if (u.ustuck == mtmp) { in mhitu()
303 justswld(mtmp, "The purple worm"); in mhitu()
305 (void) hitu(mtmp, d(2, 4)); in mhitu()
308 (void) hitu(mtmp, rnd(2)); in mhitu()
309 (void) hitu(mtmp, rnd(2)); in mhitu()
332 (void) hitu(mtmp, rnd(8)); in mhitu()
333 (void) hitu(mtmp, rnd(8)); in mhitu()
336 (void) hitu(mtmp, rnd(6)); in mhitu()
337 (void) hitu(mtmp, rnd(6)); in mhitu()
341 rloc(mtmp); in mhitu()
344 mtmp->mflee = 1; in mhitu()
347 (void) hitu(mtmp, d(3, 4)); in mhitu()
348 (void) hitu(mtmp, d(3, 4)); in mhitu()
352 u.ustuck = mtmp; in mhitu()
367 wormhit(mtmp); in mhitu()
371 (void) hitu(mtmp, rnd(5)); in mhitu()
372 (void) hitu(mtmp, rnd(5)); in mhitu()
373 (void) hitu(mtmp, rnd(5)); in mhitu()
379 Monnam(mtmp), (side == RIGHT_SIDE) ? "right" : "left"); in mhitu()
381 losehp_m(2, mtmp); in mhitu()
385 if (mtmp->mcan) in mhitu()
387 mondead(mtmp); in mhitu()
395 (void) hitu(mtmp, rnd(6)); in mhitu()
399 done_in_by(mtmp); in mhitu()
404 hitu(struct monst *mtmp, int dam) in hitu() argument
412 if (mtmp->mhide && mtmp->mundetected) { in hitu()
413 mtmp->mundetected = 0; in hitu()
416 if ((obj = o_at(mtmp->mx, mtmp->my)) != NULL) in hitu()
418 Xmonnam(mtmp), doname(obj)); in hitu()
429 tmp += mtmp->data->mlevel; in hitu()
432 if ((Invis && mtmp->data->mlet != 'I') || !mtmp->mcansee) in hitu()
434 if (mtmp->mtrapped) in hitu()
440 pline("%s misses.", Monnam(mtmp)); in hitu()
446 pline("%s hits!", Monnam(mtmp)); in hitu()
447 losehp_m(dam, mtmp); in hitu()