Still not implemented: Shuffle, trowel, minefield, spade, blade. Partially implemented: Battlelust, helm, shadow, damage cards. Breaks savefiles.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1595 c06c8d41-db1a-0410-9941-cceddc491573
XUCCWGMXKPIR34BBCCOI67YHI3RST4STDWSDUZTN4B2CJWXQLQ7AC
3KAINFIXO7WNWGUGZB43EUNFRS2ZPBLQZDTY456QACMRHYIJ7WDAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
YCL3W2PFE6ILTGBFODCSXNPDIA46KVSZP2TI7HDMYAOEJT65RIEAC
2KTJHQUX2LTU2BCLS5YXVRRKMOYKKIZAPF2LBKORFGSHEN5IO3IAC
264FLET5STFALEWUDOEFCR273Y5CY2WZDHL56WHZUAQ635RUN6MAC
KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
int card_power(deck_rarity_type rarity)
static void godly_wrath()
{
divine_retribution(static_cast<god_type>(random2(NUM_GODS)));
}
static void curse_card(int power, deck_rarity_type rarity)
{
const int power_level = get_power_level(power, rarity);
if ( power_level >= 2 )
{
// curse (almost) everything + decay
while ( curse_an_item(true) && !one_chance_in(1000) )
;
}
else if ( power_level == 1 )
{
do // curse an average of four items
{
curse_an_item(false);
} while ( !one_chance_in(4) );
}
else
{
curse_an_item(false); // curse 1.5 items
if ( coinflip() )
curse_an_item(false);
}
}
static int card_power(deck_rarity_type rarity)
case CARD_WARPWRIGHT: case CARD_SPADE: case CARD_WRATH:
case CARD_WRAITH: case CARD_CURSE: case CARD_BARGAIN:
case CARD_WRAITH: drain_exp(); lose_level(); break;
case CARD_WRATH: godly_wrath(); break;
case CARD_SPADE: