randomly exchanged with ones from the Deck of Punishment. This never times out (until you rejoin Nemelex). Fixed a stupid crash regarding describing drawn cards (oops.)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2985 c06c8d41-db1a-0410-9941-cceddc491573
HVFAA245ZWF7IALC2ZFCJREYGHIZQ2FTW2VO4Z7FTET2B3JZIZCAC
XDJGQNFELURGXMUAOOVALQMSLAJVHMG63KPKVA33HTJFVZROGZ4AC
LBTLHHRZTKOBOGAEWQH7VFEDG4WY5IDUEIZARAUFR6SBVWTTMYJQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
J7VFKVSE7DLDDWLIVSRKABUZ2AK6I7CXKCY3O4WMKINA46K6QO4AC
5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC
EGV2HM7SD7UQSWJGLR65NQJTUBAJ7WHLM67FMH4UFP7JRSFKREPAC
K2GMFKXUWN5R3KCW6OYVXHN47MIQZKEEIOSAU6LFFKBNKF6JBVWAC
unsigned char flags = 0;
card_type card = draw_top_card(deck, true, flags);
int amusement = xom_check_card(deck, card, flags);
deck_rarity_type rarity = deck_rarity(deck);
CrawlHashTable &props = deck.props;
bool no_brownie = (props["non_brownie_draws"].get_byte() > 0);
unsigned char flags = 0;
card_type card = draw_top_card(deck, true, flags);
// Passive Nemelex retribution: sometimes a card gets swapped out.
// More likely to happen with marked decks.
if ( you.penance[GOD_NEMELEX_XOBEH] )
{
int c = 1;
if ( (flags & (CFLAG_MARKED | CFLAG_SEEN)) ||
props["num_marked"].get_byte() > 0 )
{
c = 3;
}
if ( random2(3000) < c * you.penance[GOD_NEMELEX_XOBEH] )
{
card_type old_card = card;
card = choose_from_archetype(deck_of_punishment, rarity);
if ( card != old_card )
{
simple_god_message(" seems to have exchanged this card "
"behind your back!", GOD_NEMELEX_XOBEH);
mprf("It's actually %s.", card_name(card));
you.penance[GOD_NEMELEX_XOBEH] -=
random2(you.penance[GOD_NEMELEX_XOBEH] / 10);
}
}
}