Lines Matching refs:mon

131 mon_set_minvis(mon)  in mon_set_minvis()  argument
132 struct monst *mon; in mon_set_minvis()
134 mon->perminvis = 1;
135 if (!mon->invis_blkd) {
136 mon->minvis = 1;
137 newsym(mon->mx, mon->my); /* make it disappear */
138 if (mon->wormno) see_wsegs(mon); /* and any tail too */
143 mon_adjust_speed(mon, adjust) in mon_adjust_speed() argument
144 struct monst *mon; in mon_adjust_speed()
151 mon->permspeed = MFAST;
154 if (mon->permspeed == MSLOW) mon->permspeed = 0;
155 else mon->permspeed = MFAST;
160 if (mon->permspeed == MFAST) mon->permspeed = 0;
161 else mon->permspeed = MSLOW;
164 mon->permspeed = MSLOW;
168 for (otmp = mon->minvent; otmp; otmp = otmp->nobj)
172 mon->mspeed = MFAST;
174 mon->mspeed = mon->permspeed;
179 update_mon_intrinsics(mon, obj, on) in update_mon_intrinsics() argument
180 struct monst *mon; in update_mon_intrinsics()
189 unseen = !canseemon(mon);
195 mon->minvis = !mon->invis_blkd;
198 mon_adjust_speed(mon, 0);
223 mon->mintrinsics |= (unsigned short) mask;
230 mon->minvis = mon->perminvis;
233 mon_adjust_speed(mon, 0);
248 if (!(mon->data->mresists & mask)) {
249 for (otmp = mon->minvent; otmp; otmp = otmp->nobj)
254 mon->mintrinsics &= ~((unsigned short) mask);
268 mon->invis_blkd = on ? 1 : 0;
269 mon->minvis = on ? 0 : mon->perminvis;
276 if (!on && mon == u.usteed && obj->otyp == SADDLE)
281 if (unseen ^ !canseemon(mon))
282 newsym(mon->mx, mon->my);
286 find_mac(mon) in find_mac() argument
287 register struct monst *mon; in find_mac()
290 int base = mon->data->ac;
291 long mwflags = mon->misc_worn_check;
293 for (obj = mon->minvent; obj; obj = obj->nobj) {
317 m_dowear(mon, creation) in m_dowear() argument
318 register struct monst *mon; in m_dowear()
325 if (verysmall(mon->data) || nohands(mon->data) || is_animal(mon->data))
328 if (mindless(mon->data) && (mon->data->mlet != S_MUMMY || !creation))
331 m_dowear_type(mon, W_AMUL, creation);
334 if (!cantweararm(mon->data) || (mon->misc_worn_check & W_ARM))
335 m_dowear_type(mon, W_ARMU, creation);
339 if (!cantweararm(mon->data) || mon->data->msize == MZ_SMALL)
340 m_dowear_type(mon, W_ARMC, creation);
341 m_dowear_type(mon, W_ARMH, creation);
342 if (!MON_WEP(mon) || !bimanual(MON_WEP(mon)))
343 m_dowear_type(mon, W_ARMS, creation);
344 m_dowear_type(mon, W_ARMG, creation);
345 if (!slithy(mon->data) && mon->data->mlet != S_CENTAUR)
346 m_dowear_type(mon, W_ARMF, creation);
347 if (!cantweararm(mon->data))
348 m_dowear_type(mon, W_ARM, creation);
352 m_dowear_type(mon, flag, creation) in m_dowear_type() argument
353 struct monst *mon; in m_dowear_type()
360 if (mon->mfrozen) return; /* probably putting previous item on */
362 old = which_armor(mon, flag);
367 for(obj = mon->minvent; obj; obj = obj->nobj) {
419 ) && (mon->misc_worn_check & W_ARMC))
429 if (canseemon(mon)) {
436 pline("%s%s puts on %s.", Monnam(mon),
440 mon->mfrozen = m_delay;
441 if (mon->mfrozen) mon->mcanmove = 0;
444 update_mon_intrinsics(mon, old, FALSE);
445 mon->misc_worn_check |= flag;
447 update_mon_intrinsics(mon, best, TRUE);
451 which_armor(mon, flag) in which_armor() argument
452 struct monst *mon; in which_armor()
457 for(obj = mon->minvent; obj; obj = obj->nobj)
464 m_lose_armor(mon, obj) in m_lose_armor() argument
465 struct monst *mon; in m_lose_armor()
468 mon->misc_worn_check &= ~obj->owornmask;
470 update_mon_intrinsics(mon, obj, FALSE);
473 place_object(obj, mon->mx, mon->my);
475 newsym(mon->mx, mon->my);
479 mon_break_armor(mon) in mon_break_armor() argument
480 struct monst *mon; in mon_break_armor()
483 struct permonst *mdat = mon->data;
484 boolean vis = cansee(mon->mx, mon->my);
485 const char *pronoun = him[pronoun_gender(mon)],
486 *ppronoun = his[pronoun_gender(mon)];
489 if ((otmp = which_armor(mon, W_ARM)) != 0) {
491 pline("%s breaks out of %s armor!", Monnam(mon), ppronoun);
494 m_useup(mon, otmp);
496 if ((otmp = which_armor(mon, W_ARMC)) != 0) {
499 pline("%s cloak falls off!", s_suffix(Monnam(mon)));
500 m_lose_armor(mon, otmp);
503 pline("%s cloak tears apart!", s_suffix(Monnam(mon)));
506 m_useup(mon, otmp);
510 if ((otmp = which_armor(mon, W_ARMU)) != 0) {
512 pline("%s shirt rips to shreds!", s_suffix(Monnam(mon)));
515 m_useup(mon, otmp);
519 if ((otmp = which_armor(mon, W_ARM)) != 0) {
522 s_suffix(Monnam(mon)), pronoun);
525 m_lose_armor(mon, otmp);
527 if ((otmp = which_armor(mon, W_ARMC)) != 0) {
529 if (is_whirly(mon->data))
531 s_suffix(Monnam(mon)));
533 pline("%s shrinks out of %s cloak!", Monnam(mon),
536 m_lose_armor(mon, otmp);
539 if ((otmp = which_armor(mon, W_ARMU)) != 0) {
541 if (sliparm(mon->data))
543 Monnam(mon), ppronoun);
546 Monnam(mon), ppronoun);
548 m_lose_armor(mon, otmp);
553 if ((otmp = which_armor(mon, W_ARMG)) != 0) {
555 pline("%s drops %s gloves%s!", Monnam(mon), ppronoun,
556 MON_WEP(mon) ? " and weapon" : "");
557 possibly_unwield(mon);
558 m_lose_armor(mon, otmp);
560 if ((otmp = which_armor(mon, W_ARMS)) != 0) {
562 pline("%s can no longer hold %s shield!", Monnam(mon),
566 m_lose_armor(mon, otmp);
568 if ((otmp = which_armor(mon, W_ARMH)) != 0) {
571 s_suffix(Monnam(mon)), surface(mon->mx, mon->my));
574 m_lose_armor(mon, otmp);
579 if ((otmp = which_armor(mon, W_ARMF)) != 0) {
581 if (is_whirly(mon->data))
583 s_suffix(Monnam(mon)));
585 s_suffix(Monnam(mon)),
588 m_lose_armor(mon, otmp);
592 if (!can_saddle(mon)) {
593 if ((otmp = which_armor(mon, W_SADDLE)) != 0) {
594 m_lose_armor(mon, otmp);
596 pline("%s saddle falls off.", s_suffix(Monnam(mon)));
598 if (mon == u.usteed)
600 } else if (mon == u.usteed && !can_ride(mon)) {
602 You("can no longer ride %s.", mon_nam(mon));