summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/decks.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/decks.cc')
-rw-r--r--crawl-ref/source/decks.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/crawl-ref/source/decks.cc b/crawl-ref/source/decks.cc
index 66602c0667..74e2a0c4ef 100644
--- a/crawl-ref/source/decks.cc
+++ b/crawl-ref/source/decks.cc
@@ -24,6 +24,7 @@
#include "item_use.h"
#include "itemprop.h"
#include "items.h"
+#include "message.h"
#include "misc.h"
#include "monplace.h"
#include "monstuff.h"
@@ -38,7 +39,9 @@
#include "spl-cast.h"
#include "spl-util.h"
#include "stuff.h"
+#include "terrain.h"
#include "transfor.h"
+#include "traps.h"
#include "view.h"
#define VECFROM(x) (x), (x) + ARRAYSIZE(x)
@@ -1365,3 +1368,25 @@ void card_effect(card_type which_card, deck_rarity_type rarity)
return;
}
+
+bool is_deck(const item_def &item)
+{
+ return item.base_type == OBJ_MISCELLANY
+ && (item.sub_type >= MISC_DECK_OF_ESCAPE &&
+ item.sub_type <= MISC_DECK_OF_DEFENSE);
+}
+
+deck_rarity_type deck_rarity(const item_def &item)
+{
+ ASSERT( is_deck(item) );
+ switch (item.colour)
+ {
+ case BLACK: case BLUE: case GREEN: case CYAN: case RED:
+ default:
+ return DECK_RARITY_COMMON;
+ case MAGENTA: case BROWN:
+ return DECK_RARITY_RARE;
+ case LIGHTMAGENTA:
+ return DECK_RARITY_LEGENDARY;
+ }
+}