summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/decks.cc
diff options
context:
space:
mode:
authorShayne Halvorson <N78291@gmail.com>2014-05-10 13:16:05 -0500
committerreaverb <reaverb.Crawl@gmail.com>2014-05-28 01:14:20 -0400
commit2adf8a44e96d103f4d8971d1fdb1203c2a633945 (patch)
tree18cdfb197c2d97242c78652ce84d5b44be5b8c80 /crawl-ref/source/decks.cc
parent5d578cf1fbba9286d1b334168093ea050fe201b9 (diff)
downloadcrawl-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.cc42
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: