| 395 | } |
| 396 | |
| 397 | staticfn unsigned |
| 398 | whereis_mon(struct monst *mon, unsigned fmflags) |
| 399 | { |
| 400 | struct monst *mtmp; |
| 401 | |
| 402 | if ((fmflags & FM_YOU) && mon == &gy.youmonst) |
| 403 | return FM_YOU; |
| 404 | if (fmflags & FM_FMON) |
| 405 | for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) |
| 406 | if (mtmp == mon) |
| 407 | return FM_FMON; |
| 408 | if (fmflags & FM_MIGRATE) |
| 409 | for (mtmp = gm.migrating_mons; mtmp; mtmp = mtmp->nmon) |
| 410 | if (mtmp == mon) |
| 411 | return FM_MIGRATE; |
| 412 | if (fmflags & FM_MYDOGS) |
| 413 | for (mtmp = gm.mydogs; mtmp; mtmp = mtmp->nmon) |
| 414 | if (mtmp == mon) |
| 415 | return FM_MYDOGS; |
| 416 | return 0; |
| 417 | } |
| 418 | |
| 419 | /* Save all light sources of the given range. */ |
| 420 | void |