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