git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2860 c06c8d41-db1a-0410-9941-cceddc491573
QMDOGHN3AZOBGTS2CHK5VYAZ5MKYHTSIDJYN7HANSGWFWSNXCLAQC
static void crusade_card(int power, deck_rarity_type rarity)
{
const int power_level = get_power_level(power, rarity);
if ( power_level >= 1 )
{
// A chance to convert opponents.
for ( int i = 0; i < MAX_MONSTERS; ++i )
{
monsters* const monster = &menv[i];
if (monster->type == -1 || !mons_near(monster) ||
mons_friendly(monster) ||
mons_holiness(monster) != MH_NATURAL ||
mons_is_unique(monster->type) ||
mons_immune_magic(monster))
continue;
// Note that this bypasses the magic resistance
// (though not immunity) check. Specifically,
// you can convert Killer Klowns this way.
// Might be too good.
if ( monster->hit_dice * 35 < random2(power) )
{
simple_monster_message(monster, " is converted.");
if ( one_chance_in(5 - power_level) )
monster->attitude = ATT_FRIENDLY;
else
monster->add_ench(ENCH_CHARM);
}
}
}
abjuration(power/4);
}