summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/decks.cc
diff options
context:
space:
mode:
authorharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-07-04 12:03:29 +0000
committerharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-07-04 12:03:29 +0000
commita8bc607994f1cfeb8f9fe554c2e89f0b551290af (patch)
treebaec2dfae806afd807c14aaf2d710462a7cd82eb /crawl-ref/source/decks.cc
parentf79c9dacc90e9a7880f73abe03565e6d797e20a9 (diff)
downloadcrawl-ref-a8bc607994f1cfeb8f9fe554c2e89f0b551290af.tar.gz
crawl-ref-a8bc607994f1cfeb8f9fe554c2e89f0b551290af.zip
Dancing Weapon card implemented.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1748 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/decks.cc')
-rw-r--r--crawl-ref/source/decks.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/crawl-ref/source/decks.cc b/crawl-ref/source/decks.cc
index c035744aa8..048f1711be 100644
--- a/crawl-ref/source/decks.cc
+++ b/crawl-ref/source/decks.cc
@@ -1025,6 +1025,17 @@ static void summon_any_monster(int power, deck_rarity_type rarity)
chosen_x, chosen_y, you.pet_target, 250 );
}
+static void summon_dancing_weapon(int power, deck_rarity_type rarity)
+{
+ const int power_level = get_power_level(power, rarity);
+ const bool friendly = (power_level > 0 || !one_chance_in(4));
+ create_monster( MONS_DANCING_WEAPON, power_level + 3,
+ friendly ? BEH_FRIENDLY : BEH_HOSTILE,
+ you.x_pos, you.y_pos,
+ friendly ? you.pet_target : MHITYOU,
+ 250 );
+}
+
static int card_power(deck_rarity_type rarity)
{
int result = 0;
@@ -1094,9 +1105,9 @@ void card_effect(card_type which_card, deck_rarity_type rarity)
case CARD_SUMMON_ANIMAL: summon_animals(random2(power/3)); break;
case CARD_SUMMON_ANY: summon_any_monster(power, rarity); break;
case CARD_XOM: xom_acts(5 + random2(power/10)); break;
+ case CARD_SUMMON_WEAPON: summon_dancing_weapon(power, rarity); break;
case CARD_SPADE:
- case CARD_SUMMON_WEAPON:
// XXX not yet implemented
mpr("Sorry, this card is not yet available.");
break;