diff options
author | Shayne Halvorson <N78291@gmail.com> | 2014-05-10 13:16:05 -0500 |
---|---|---|
committer | reaverb <reaverb.Crawl@gmail.com> | 2014-05-28 01:14:20 -0400 |
commit | 2adf8a44e96d103f4d8971d1fdb1203c2a633945 (patch) | |
tree | 18cdfb197c2d97242c78652ce84d5b44be5b8c80 /crawl-ref/source/decks.cc | |
parent | 5d578cf1fbba9286d1b334168093ea050fe201b9 (diff) | |
download | crawl-ref-2adf8a44e96d103f4d8971d1fdb1203c2a633945.tar.gz crawl-ref-2adf8a44e96d103f4d8971d1fdb1203c2a633945.zip |
Replace Hammer card with Fortitude.
It grants damage shaving along with a strength boost, as Battlelust
is likely not to make it into Nemelex's decks.
Diffstat (limited to 'crawl-ref/source/decks.cc')
-rw-r--r-- | crawl-ref/source/decks.cc | 42 |
1 files changed, 27 insertions, 15 deletions
diff --git a/crawl-ref/source/decks.cc b/crawl-ref/source/decks.cc index 3b49488a54..ccd6fa2904 100644 --- a/crawl-ref/source/decks.cc +++ b/crawl-ref/source/decks.cc @@ -118,14 +118,14 @@ const deck_archetype deck_of_emergency[] = const deck_archetype deck_of_destruction[] = { - { CARD_VITRIOL, {5, 5, 5} }, - { CARD_FLAME, {5, 5, 5} }, - { CARD_FROST, {5, 5, 5} }, - { CARD_VENOM, {5, 5, 5} }, - { CARD_HAMMER, {5, 5, 5} }, - { CARD_SPARK, {5, 5, 5} }, - { CARD_PAIN, {5, 5, 3} }, - { CARD_ORB, {5, 5, 5} }, + { CARD_VITRIOL, {5, 5, 5} }, + { CARD_FLAME, {5, 5, 5} }, + { CARD_FROST, {5, 5, 5} }, + { CARD_VENOM, {5, 5, 5} }, + { CARD_FORTITUDE, {5, 5, 5} }, + { CARD_SPARK, {5, 5, 5} }, + { CARD_PAIN, {5, 5, 3} }, + { CARD_ORB, {5, 5, 5} }, END_OF_DECK }; @@ -358,7 +358,7 @@ const char* card_name(card_type card) case CARD_FROST: return "Frost"; case CARD_VENOM: return "Venom"; case CARD_SPARK: return "the Spark"; - case CARD_HAMMER: return "the Hammer"; + case CARD_FORTITUDE: return "Fortitude"; case CARD_PAIN: return "Pain"; case CARD_TORMENT: return "Torment"; #if TAG_MAJOR_VERSION == 34 @@ -1794,8 +1794,6 @@ static void _damaging_card(card_type card, int power, deck_rarity_type rarity, dist target; zap_type ztype = ZAP_DEBUGGING_RAY; const zap_type frostzaps[3] = { ZAP_THROW_FROST, ZAP_THROW_ICICLE, ZAP_BOLT_OF_COLD }; - const zap_type hammerzaps[3] = { ZAP_STONE_ARROW, ZAP_IRON_SHOT, - ZAP_LEHUDIBS_CRYSTAL_SPEAR }; const zap_type venomzaps[3] = { ZAP_STING, ZAP_VENOM_BOLT, ZAP_POISON_ARROW }; const zap_type sparkzaps[3] = { ZAP_SHOCK, ZAP_LIGHTNING_BOLT, @@ -1810,7 +1808,6 @@ static void _damaging_card(card_type card, int power, deck_rarity_type rarity, break; case CARD_FROST: ztype = frostzaps[power_level]; break; - case CARD_HAMMER: ztype = hammerzaps[power_level]; break; case CARD_VENOM: ztype = venomzaps[power_level]; break; case CARD_SPARK: ztype = sparkzaps[power_level]; break; case CARD_ORB: ztype = orbzaps[power_level]; break; @@ -2713,6 +2710,22 @@ static void _flame_card(int power, deck_rarity_type rarity) canned_msg(MSG_NOTHING_HAPPENS); } +static void _fortitude_card(int power, deck_rarity_type rarity) +{ + const int power_level = _get_power_level(power, rarity); + const bool strong = you.duration[DUR_FORTITUDE] > 0; + + you.increase_duration(DUR_FORTITUDE, 10 + random2((power_level + 1) * 10)); + + if (!strong) + { + mprf(MSGCH_DURATION, "You are filled with a great fortitude."); + notify_stat_change(STAT_STR, 10, true, ""); + } + else + mprf(MSGCH_DURATION, "You become more resolute."); +} + // Punishment cards don't have their power adjusted depending on Nemelex piety // or penance, and are based on experience level instead of evocations skill // for more appropriate scaling. @@ -2764,8 +2777,7 @@ void card_effect(card_type which_card, deck_rarity_type rarity, { // These card types will usually give this message in the targeting // prompt, and the cases where they don't are handled specially. - if (which_card != CARD_VITRIOL - && which_card != CARD_FROST && which_card != CARD_HAMMER + if (which_card != CARD_VITRIOL && which_card != CARD_FROST && which_card != CARD_SPARK && which_card != CARD_PAIN && which_card != CARD_VENOM && which_card != CARD_ORB) { @@ -2823,11 +2835,11 @@ void card_effect(card_type which_card, deck_rarity_type rarity, case CARD_ALCHEMIST: _alchemist_card(power, rarity); break; case CARD_MERCENARY: _mercenary_card(power, rarity); break; case CARD_FLAME: _flame_card(power, rarity); break; + case CARD_FORTITUDE: _fortitude_card(power, rarity); break; case CARD_VENOM: case CARD_VITRIOL: case CARD_FROST: - case CARD_HAMMER: case CARD_SPARK: case CARD_PAIN: case CARD_ORB: |