git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3928 c06c8d41-db1a-0410-9941-cceddc491573
62CWUC7WKYRODVOOUFHRPDZXGTBUIU7XPR3EHJWESPG2XVUM7SDAC
YNWK5PXMPVELONLBPTEJ4YOUFWSLF7SFU4CCUPHYJFTFMCE2RA3AC
3APCNS63P7SZYCUMZVT2YN4XNCVSDFU4RI7DGNVSVUEARSSCWFCQC
XKFXUJ5YV3HQUSBDHADFIH5JFFNBMORLXOUJKWFXV743F5Y2BSSAC
XAKHV2E3U5KQ5LV77HI7XFKNCKGYXT2LPBOHZP2VOH4Y67QBH4SQC
6U5OXFVONPHTWJWWS77QGTRIONYKYWMUWNWJ4WHMI2ISSOWZJETQC
B6X2JQ6LF5EEDKFOXKX4RQYH6GW3LXB5E4WTIUVHSXTO4TIZA24QC
K27R6ZMYMKVNXIV7K3QU2NXRVOGQRLMR6TI6ZQQSVKXVKS76NLSQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
M2EUGZPKR6XTZSLQYDO7CDBBR2WPPMCBIBKJSZW5P7KYUOUPZSZQC
NLQNXH3SVJ52CWXEV35FSSZP32VHC4QFGN3HINF4KO5GZHZMOBKQC
WW5YMURQQVS3CTVO76LOBBX3DVGJTMAHMB4XVWNXKYYNFQSQZJIQC
N6AB4D7CBK3YG43GL5MZIHKGYXSQWQ3MRKXGEX3QAADLGNDIKL7AC
RIIO4BI64ECFXSRLBP3RA24QOPYXJVWMSFHLNTKUZS5YCLISLVJQC
VEPHAIXR3GSPHBLOW5DWFFU4ULEMVWRQG4G5PKSKRA2I6RHYROUAC
AH4AIZKRTU6LNLBY2DKE5FHCN5I6LJT64CWZMVDQ2ZT6O4DFOYZQC
AZ2RCXNVULJUSCBDBK3VARTUCTPEJXHTA7ALP73S4EXLJB6YYB5QC
EIHQC2YIK7UB4VMWL5XTIPXVS7N6M7CO553MJ5XUUI4OWIC5AUDQC
GJV42GS47VTJ7GIAH46PUX3CNWSIKHYHM2OYDVEQPTIMBMDUODKQC
IJNXE4Z7S7X3NG26GFV6UNZVEQ6HPXAKSCNPJEKU5DUQUDYJ34KAC
5UC5TI7B6NWGIGN74QRBZKDBYUMHLM2ZO5ATXEZ6TZOGOLF3JX5QC
ZKT63WH43QIZIFY7QDLCWH3XFGVM7OZXIOAZB3V3TQUJHMJ5O2IQC
UPNIIOG2FHJ4WFGGPZBFYK3GYONL3Z5LO4FEYRJPE7WHNI5R7UZQC
LKZLCEOXC54N7VPFQ7LCBBWKUABM2ETL35ZOJXWS7TXLPOI7ECKQC
NCOWFSIBOPCCM2MO5BSFBTUQA6SWCAPFK7E6TOMQU4TPFNRE4MPQC
2GRGJSH5XOCKFQEZ4FWSLRJPAMWETEQCC53T7JUBMY5WNAREGE3AC
5CLGGDLFJNO3HXIOV2HB7KBG4UL3FF5LGVCTCLTVAF5NZB3OEEWQC
FO6UIRVOTDPHBERV5JLNNJ4QYGZGXOP7ZZF2UBB26CNYIR5XCXAQC
NDCVITU5R7TBEUC4FILNFRKWQGUNCJUGW5HA5KW3CQTU6AYRLYWQC
}
bool is_tso_follower(const monsters* mon)
{
// Don't check for evil or unholy allies here, as that's done
// elsewhere.
return (mon->alive()
&& (mon->attitude == ATT_FRIENDLY
|| mon->has_ench(ENCH_CHARM)));
}
bool is_orcish_follower(const monsters* mon)
{
return (mon->alive() && mons_species(mon->type) == MONS_ORC
&& mon->attitude == ATT_FRIENDLY
&& (mon->flags & MF_GOD_GIFT));
void bless_follower(god_type god,
bool (*suitable)(const monsters* mon),
monsters* follower)
void bless_follower(monsters* follower,
god_type god,
bool (*suitable)(const monsters* mon))
bool is_tso_follower(const monsters* mon)
{
// Don't check for evil or unholy allies here, as that's done
// elsewhere.
return (mon->alive()
&& (mon->attitude == ATT_FRIENDLY
|| mon->has_ench(ENCH_CHARM)));
}
bool is_orcish_follower(const monsters* mon)
{
return (mon->alive() && mons_species(mon->type) == MONS_ORC
&& mon->attitude == ATT_FRIENDLY
&& (mon->flags & MF_GOD_GIFT));
}
// Randomly bless the follower who gained experience.
if (you.religion == GOD_BEOGH
&& !player_under_penance()
&& random2(you.piety) >= piety_breakpoint(2)
&& !one_chance_in(3))
{
bless_follower(GOD_BEOGH, is_orcish_follower, mons);
}