is_rider(mtmp->data) || mtmp->data == &mons[PM_MINOTAUR])
return(FALSE);
- return (boolean)(sobj_at(SCR_SCARE_MONSTER, x, y)
+ return (boolean)(sobj_at(SCR_SCARE_MONSTER, x, y) ||
#ifdef ELBERETH
- || sengr_at("Elbereth", x, y)
+ sengr_at("Elbereth", x, y) ||
#endif
- || (mtmp->data->mlet == S_VAMPIRE
- && IS_ALTAR(levl[x][y].typ)));
+ (IS_ALTAR(levl[x][y].typ) &&
+ (mtmp->data->mlet == S_VAMPIRE ||
+ is_vampshifter(mtmp))));
}
/* regenerate lost hit points */