it's only used for Beogh, and its only effects are full healing and full healing with one or two added hit points. Eventually, it should get more effects, and be expanded for use by TSO.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3752 c06c8d41-db1a-0410-9941-cceddc491573
K27R6ZMYMKVNXIV7K3QU2NXRVOGQRLMR6TI6ZQQSVKXVKS76NLSQC
B6X2JQ6LF5EEDKFOXKX4RQYH6GW3LXB5E4WTIUVHSXTO4TIZA24QC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
HW7XKO7HRAUQVDVVKG5GA7PYAEL5J5GKVDPT2CKAD3FLERAY5HLAC
E42EFZ3RINKLTGOJJZAH2N5QF3P4S5NCO5T52HLXJRMBPP463HTAC
EI5XQIKW3OBVTDVT2A4Q535I5FOVEKARLFISM457IHGAK7TVOMVAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
void bless_follower(god_type god,
bool (*suitable)(const monsters* mon))
{
if (!there_are_monsters_nearby())
return;
int monster = choose_random_nearby_monster(0, suitable);
monsters* mon = (monster != NON_MONSTER) ? &menv[monster] : NULL;
if (mon)
{
const char *result;
bool healing = false;
bool vigour = true;
// Full healing.
healing = heal_monster(mon, mon->max_hit_points, false);
if (!healing || coinflip())
{
// Full healing, plus one added hit point.
heal_monster(mon, mon->max_hit_points, true);
if (coinflip())
// Full healing, plus another added hit point.
heal_monster(mon, mon->max_hit_points, true);
vigour = true;
}
if (healing && vigour)
result = "healing and extra vigour";
else if (healing)
result = "healing";
else
result = "extra vigour";
mprf(MSGCH_GOD, "%s blesses %s with %s.", god_name(god).c_str(),
mon->name(DESC_NOCAP_A).c_str(), result);
}
}