Lines Matching refs:mtmp
88 struct monst *mtmp = makemon(&li_dog, u.ux, u.uy); in makedog() local
89 if (!mtmp) in makedog()
91 initedog(mtmp); in makedog()
95 initedog(struct monst *mtmp) in initedog() argument
97 mtmp->mtame = mtmp->mpeaceful = 1; in initedog()
98 EDOG(mtmp)->hungrytime = 1000 + moves; in initedog()
99 EDOG(mtmp)->eattime = 0; in initedog()
100 EDOG(mtmp)->droptime = 0; in initedog()
101 EDOG(mtmp)->dropdist = 10000; in initedog()
102 EDOG(mtmp)->apport = 10; in initedog()
103 EDOG(mtmp)->whistletime = 0; in initedog()
114 struct monst *mtmp; in losedogs() local
115 while ((mtmp = mydogs) != NULL) { in losedogs()
116 mydogs = mtmp->nmon; in losedogs()
117 mtmp->nmon = fmon; in losedogs()
118 fmon = mtmp; in losedogs()
119 mnexto(mtmp); in losedogs()
121 while ((mtmp = fallen_down) != NULL) { in losedogs()
122 fallen_down = mtmp->nmon; in losedogs()
123 mtmp->nmon = fmon; in losedogs()
124 fmon = mtmp; in losedogs()
125 rloc(mtmp); in losedogs()
132 struct monst *mtmp; in keepdogs() local
133 for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) in keepdogs()
134 if (dist(mtmp->mx, mtmp->my) < 3 && follower(mtmp) in keepdogs()
135 && !mtmp->msleep && !mtmp->mfroz) { in keepdogs()
136 relmon(mtmp); in keepdogs()
137 mtmp->nmon = mydogs; in keepdogs()
138 mydogs = mtmp; in keepdogs()
139 unpmon(mtmp); in keepdogs()
147 fall_down(struct monst *mtmp) in fall_down() argument
149 relmon(mtmp); in fall_down()
150 mtmp->nmon = fallen_down; in fall_down()
151 fallen_down = mtmp; in fall_down()
152 unpmon(mtmp); in fall_down()
153 mtmp->mtame = 0; in fall_down()
190 dog_move(struct monst *mtmp, int after) in dog_move() argument
195 const struct permonst *mdat = mtmp->data; in dog_move()
196 struct edog *edog = EDOG(mtmp); in dog_move()
209 omx = mtmp->mx; in dog_move()
210 omy = mtmp->my; in dog_move()
211 whappr = (moves - EDOG(mtmp)->whistletime < 5); in dog_move()
212 if (moves > edog->hungrytime + 500 && !mtmp->mconf) { in dog_move()
213 mtmp->mconf = 1; in dog_move()
214 mtmp->mhpmax /= 3; in dog_move()
215 if (mtmp->mhp > mtmp->mhpmax) in dog_move()
216 mtmp->mhp = mtmp->mhpmax; in dog_move()
218 pline("%s is confused from hunger.", Monnam(mtmp)); in dog_move()
220 pline("You feel worried about %s.", monnam(mtmp)); in dog_move()
221 } else if (moves > edog->hungrytime + 750 || mtmp->mhp < 1) { in dog_move()
223 pline("%s dies from hunger.", Monnam(mtmp)); in dog_move()
226 mondied(mtmp); in dog_move()
239 if (mtmp->minvent) { in dog_move()
242 relobj(mtmp, (int) mtmp->minvis); in dog_move()
256 if (obj->owt < 10 * mtmp->data->mlevel) in dog_move()
267 mpickobj(mtmp, obj); in dog_move()
293 !mtmp->minvent && edog->apport > (unsigned)rn2(8)) { in dog_move()
325 appr = (udist >= 9) ? 1 : (mtmp->mflee) ? -1 : 0; in dog_move()
331 (mtmp->minvent && rn2((int) edog->apport))) in dog_move()
347 if (mtmp->mconf) in dog_move()
360 cnt = mfndpos(mtmp, poss, info, ALLOW_M | ALLOW_TRAPS); in dog_move()
376 if (hitmm(mtmp, mtmp2) == 1 && rn2(4) && in dog_move()
378 hitmm(mtmp2, mtmp) == 2) in dog_move()
416 mtmp->mconf = 0; in dog_move()
418 pline("%s ate %s.", Monnam(mtmp), doname(obj)); in dog_move()
430 if (nx == mtmp->mtrack[j].x && ny == mtmp->mtrack[j].y) in dog_move()
457 (void) hitu(mtmp, d(mdat->damn, mdat->damd) + 1); in dog_move()
460 mtmp->mx = nix; in dog_move()
461 mtmp->my = niy; in dog_move()
463 mtmp->mtrack[j] = mtmp->mtrack[j - 1]; in dog_move()
464 mtmp->mtrack[0].x = omx; in dog_move()
465 mtmp->mtrack[0].y = omy; in dog_move()
467 if (mintrap(mtmp) == 2) /* he died */ in dog_move()
469 pmon(mtmp); in dog_move()
491 tamedog(struct monst *mtmp, struct obj *obj) in tamedog() argument
499 mtmp->mflee = 0; in tamedog()
500 mtmp->mfleetim = 0; in tamedog()
501 if (mtmp->mtame || mtmp->mfroz || in tamedog()
503 mtmp->wormno || in tamedog()
505 mtmp->isshk || mtmp->isgd || strchr(" &@12", mtmp->data->mlet)) in tamedog()
510 if (cansee(mtmp->mx, mtmp->my)) { in tamedog()
511 pline("%s devours the %s.", Monnam(mtmp), in tamedog()
516 mtmp2 = newmonst(sizeof(struct edog) + mtmp->mnamelth); in tamedog()
517 *mtmp2 = *mtmp; in tamedog()
519 if (mtmp->mnamelth) in tamedog()
520 (void) strcpy(NAME(mtmp2), NAME(mtmp)); in tamedog()
522 replmon(mtmp, mtmp2); in tamedog()