summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authorharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-07-12 08:33:01 +0000
committerharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-07-12 08:33:01 +0000
commit19c5f0f487097c52311565adcc12546c703e0a79 (patch)
tree2157ccbba51a54baa8f23df69d436d7c9d6f4c3d /crawl-ref
parente8e947d6fc4d951e1f39954ddd3cbe1ea83e7cff (diff)
downloadcrawl-ref-19c5f0f487097c52311565adcc12546c703e0a79.tar.gz
crawl-ref-19c5f0f487097c52311565adcc12546c703e0a79.zip
[1751312] Warpwright does nothing in the Abyss; Minefield creates
water and lava instead of traps. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1843 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/decks.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/crawl-ref/source/decks.cc b/crawl-ref/source/decks.cc
index 8f56dfdee8..e35dfa1eef 100644
--- a/crawl-ref/source/decks.cc
+++ b/crawl-ref/source/decks.cc
@@ -586,6 +586,12 @@ static void damnation_card(int power, deck_rarity_type rarity)
static void warpwright_card(int power, deck_rarity_type rarity)
{
+ if ( you.level_type == LEVEL_ABYSS )
+ {
+ mpr("The power of the Abyss blocks your magic.");
+ return;
+ }
+
int count = 0;
int fx = -1, fy = -1;
for ( int dx = -1; dx <= 1; ++dx )
@@ -624,7 +630,7 @@ static void warpwright_card(int power, deck_rarity_type rarity)
static void minefield_card(int power, deck_rarity_type rarity)
{
- const int power_level = get_power_level(power, rarity);
+ const int power_level = get_power_level(power, rarity);
const int radius = power_level * 2 + 2;
for ( int dx = -radius; dx <= radius; ++dx )
{
@@ -642,7 +648,10 @@ static void minefield_card(int power, deck_rarity_type rarity)
if ( grd[rx][ry] == DNGN_FLOOR && trap_at_xy(rx,ry) == -1 &&
one_chance_in(4 - power_level) )
{
- place_specific_trap(rx, ry, TRAP_RANDOM);
+ if ( you.level_type == LEVEL_ABYSS )
+ grd[rx][ry] = coinflip() ? DNGN_DEEP_WATER : DNGN_LAVA;
+ else
+ place_specific_trap(rx, ry, TRAP_RANDOM);
}
}
}