summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/decks.h
diff options
context:
space:
mode:
authorNeil Moore <neil@s-z.org>2012-03-16 19:59:41 -0400
committerNeil Moore <neil@s-z.org>2012-03-16 22:40:07 -0400
commit363a17cc58cceb71059d983c0c31ee92219ad9ee (patch)
tree44f5ec2ab6cbefc07b3303a11e5803ce0e0a6ed9 /crawl-ref/source/decks.h
parentc2b40290474eeb5f5b6050531243c80f5665dadb (diff)
downloadcrawl-ref-363a17cc58cceb71059d983c0c31ee92219ad9ee.tar.gz
crawl-ref-363a17cc58cceb71059d983c0c31ee92219ad9ee.zip
New Nemelex ability: Deal Four.
You draw four cards from the top of the deck and play them immediately (in sequence, but taking a single turn). To balance this: * It doesn't work on marked decks. * The MP, piety, and hunger costs are quite high. * The rest of the deck is destroyed. * If there weren't enough cards, you "get to" deal a card from the deck of punishments (just one, not the number of cards you lacked). This probably needs more tweaking. In particular, the MP cost is high (to limit spamming the ability in combat), but it may be so high as to cause a problem for non-casters of certain races.
Diffstat (limited to 'crawl-ref/source/decks.h')
-rw-r--r--crawl-ref/source/decks.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/crawl-ref/source/decks.h b/crawl-ref/source/decks.h
index dfb72a9a7b..9478720f79 100644
--- a/crawl-ref/source/decks.h
+++ b/crawl-ref/source/decks.h
@@ -47,6 +47,7 @@ enum card_flags_type
CFLAG_ODDITY = (1 << 0),
CFLAG_SEEN = (1 << 1),
CFLAG_MARKED = (1 << 2),
+ CFLAG_DEALT = (1 << 4),
};
enum card_type
@@ -135,6 +136,7 @@ const char* card_name(card_type card);
void evoke_deck(item_def& deck);
bool deck_triple_draw();
bool deck_peek();
+bool deck_deal();
bool deck_stack();
bool choose_deck_and_draw();
void nemelex_shuffle_decks();
@@ -142,7 +144,7 @@ void shuffle_all_decks_on_level();
void card_effect(card_type which_card, deck_rarity_type rarity,
uint8_t card_flags = 0, bool tell_card = true);
-void draw_from_deck_of_punishment();
+void draw_from_deck_of_punishment(bool deal = false);
bool top_card_is_known(const item_def &item);
card_type top_card(const item_def &item);