Lines Matching refs:ptr

14 set_mon_data(mon, ptr, flag)
16 struct permonst *ptr;
19 mon->data = ptr;
23 mon->mintrinsics |= (ptr->mresists & 0x00FF);
25 mon->mintrinsics = (ptr->mresists & 0x00FF);
33 attacktype_fordmg(ptr, atyp, dtyp)
34 struct permonst *ptr;
39 for (a = &ptr->mattk[0]; a < &ptr->mattk[NATTK]; a++)
47 attacktype(ptr, atyp)
48 struct permonst *ptr;
51 return attacktype_fordmg(ptr, atyp, AD_ANY) ? TRUE : FALSE;
58 poly_when_stoned(ptr)
59 struct permonst *ptr;
61 return((boolean)(is_golem(ptr) && ptr != &mons[PM_STONE_GOLEM] &&
70 struct permonst *ptr = mon->data;
73 return (boolean)(is_undead(ptr) || is_demon(ptr) || is_were(ptr) ||
74 ptr == &mons[PM_DEATH] ||
82 struct permonst *ptr = mon->data;
86 if (dmgtype(ptr, AD_MAGM) || ptr == &mons[PM_BABY_GRAY_DRAGON] ||
87 dmgtype(ptr, AD_RBRE)) /* Chromatic Dragon */
107 struct permonst *ptr = mon->data;
112 (mon->mblinded || !mon->mcansee || !haseyes(ptr) ||
118 if (dmgtype_fromattack(ptr, AD_BLND, AT_EXPL) ||
119 dmgtype_fromattack(ptr, AD_BLND, AT_GAZE))
219 ranged_attk(ptr) /* returns TRUE if monster can attack at range */
220 struct permonst *ptr;
225 /* was: (attacktype(ptr, AT_BREA) || attacktype(ptr, AT_WEAP) ||
226 attacktype(ptr, AT_SPIT) || attacktype(ptr, AT_GAZE) ||
227 attacktype(ptr, AT_MAGC));
231 atyp = ptr->mattk[i].aatyp;
241 hates_silver(ptr)
242 register struct permonst *ptr;
245 return((boolean)(is_were(ptr) || ptr->mlet==S_VAMPIRE || is_demon(ptr) ||
246 ptr == &mons[PM_SHADE] ||
247 (ptr->mlet==S_IMP && ptr != &mons[PM_TENGU])));
264 can_track(ptr) /* returns TRUE if monster can track well */
265 register struct permonst *ptr;
270 return((boolean)haseyes(ptr));
277 sliparm(ptr) /* creature will slide out of armor */
278 register struct permonst *ptr;
280 return((boolean)(is_whirly(ptr) || ptr->msize <= MZ_SMALL ||
281 noncorporeal(ptr)));
285 breakarm(ptr) /* creature will break out of armor */
286 register struct permonst *ptr;
288 return ((bigmonst(ptr) || (ptr->msize > MZ_SMALL && !humanoid(ptr)) ||
290 ptr == &mons[PM_MARILITH] || ptr == &mons[PM_WINGED_GARGOYLE])
291 && !sliparm(ptr));
297 sticks(ptr) /* creature sticks other creatures it hits */
298 register struct permonst *ptr;
300 return((boolean)(dmgtype(ptr,AD_STCK) || dmgtype(ptr,AD_WRAP) ||
301 attacktype(ptr,AT_HUGS)));
306 num_horns(ptr)
307 struct permonst *ptr;
309 switch (monsndx(ptr)) {
327 dmgtype_fromattack(ptr, dtyp, atyp)
328 struct permonst *ptr;
333 for (a = &ptr->mattk[0]; a < &ptr->mattk[NATTK]; a++)
341 dmgtype(ptr, dtyp)
342 struct permonst *ptr;
345 return dmgtype_fromattack(ptr, dtyp, AT_ANY) ? TRUE : FALSE;
380 monsndx(ptr) /* return an index into the mons array */
381 struct permonst *ptr;
385 i = (int)(ptr - &mons[0]);
389 (unsigned long)ptr);
655 * Return the permonst ptr for the race of the monster.
676 locomotion(ptr, def)
677 const struct permonst *ptr;
683 is_floater(ptr) ? levitate[capitalize] :
684 (is_flyer(ptr) && ptr->msize <= MZ_SMALL) ? flys[capitalize] :
685 (is_flyer(ptr) && ptr->msize > MZ_SMALL) ? flyl[capitalize] :
686 slithy(ptr) ? slither[capitalize] :
687 amorphous(ptr) ? ooze[capitalize] :
688 !ptr->mmove ? immobile[capitalize] :
689 nolimbs(ptr) ? crawl[capitalize] :
696 stagger(ptr, def)
697 const struct permonst *ptr;
703 is_floater(ptr) ? levitate[capitalize] :
704 (is_flyer(ptr) && ptr->msize <= MZ_SMALL) ? flys[capitalize] :
705 (is_flyer(ptr) && ptr->msize > MZ_SMALL) ? flyl[capitalize] :
706 slithy(ptr) ? slither[capitalize] :
707 amorphous(ptr) ? ooze[capitalize] :
708 !ptr->mmove ? immobile[capitalize] :
709 nolimbs(ptr) ? crawl[capitalize] :