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.cc29
1 files changed, 27 insertions, 2 deletions
diff --git a/crawl-ref/source/decks.cc b/crawl-ref/source/decks.cc
index 5d32bc47b5..a936165d23 100644
--- a/crawl-ref/source/decks.cc
+++ b/crawl-ref/source/decks.cc
@@ -17,6 +17,7 @@
#include "externs.h"
#include "beam.h"
+#include "dungeon.h"
#include "effects.h"
#include "food.h"
#include "invent.h"
@@ -24,6 +25,7 @@
#include "item_use.h"
#include "itemprop.h"
#include "items.h"
+#include "maps.h"
#include "message.h"
#include "misc.h"
#include "monplace.h"
@@ -1871,8 +1873,31 @@ static void trowel_card(int power, deck_rarity_type rarity)
bool done_stuff = false;
if ( power_level >= 2 )
{
- // XXX FIXME Vaults not implemented
- // generate a vault
+ // generate a portal to something
+ int mapidx = -1;
+ if ( coinflip() )
+ {
+ // generate a bazaar portal
+ mapidx = find_map_by_name("bzr_entry_dummy");
+ }
+ else
+ {
+ mapidx = find_map_by_name("lab_entry_generic");
+ }
+
+ if ( mapidx == -1 )
+ {
+ mpr("A buggy portal flickers into view, then vanishes.");
+ }
+ else
+ {
+ {
+ no_messages n;
+ dgn_place_map(mapidx, false, true, you.pos());
+ }
+ mpr("A mystic portal forms.");
+ }
+ done_stuff = true;
}
else if ( power_level == 1 )
{