summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/decks.cc
diff options
context:
space:
mode:
authorharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-12-05 14:06:26 +0000
committerharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-12-05 14:06:26 +0000
commit376d7d8be0443ac004a1fe5d88f56325497d1921 (patch)
treed62c43ed0b1f20302776380fdd15eb53c7c65459 /crawl-ref/source/decks.cc
parent55812ea322d83879cd9ed09d27f18ab2d0345def (diff)
downloadcrawl-ref-376d7d8be0443ac004a1fe5d88f56325497d1921.tar.gz
crawl-ref-376d7d8be0443ac004a1fe5d88f56325497d1921.zip
Slight cleanup of randart autoinscription.
Code cleanup with unrandarts and fixedarts. Bugfix for isomorphic-up-to-colour unrandarts being confused when lost in the Abyss. Trowel will not clobber critical features (stairs, portals, etc.) Nemelex is unhappy about Trowel failing. Breaks savefiles. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3003 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/decks.cc')
-rw-r--r--crawl-ref/source/decks.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/crawl-ref/source/decks.cc b/crawl-ref/source/decks.cc
index 44bfc24e7d..e8cbee7841 100644
--- a/crawl-ref/source/decks.cc
+++ b/crawl-ref/source/decks.cc
@@ -2119,8 +2119,15 @@ static void dowsing_card(int power, deck_rarity_type rarity)
detect_creatures( random2(power/4) );
}
-static void trowel_card(int power, deck_rarity_type rarity)
+static bool trowel_card(int power, deck_rarity_type rarity)
{
+ // Early exit: don't clobber important features
+ if (is_critical_feature(grd[you.x_pos][you.y_pos]))
+ {
+ mpr("The dungeon trembles momentarily.");
+ return false;
+ }
+
const int power_level = get_power_level(power, rarity);
bool done_stuff = false;
if ( power_level >= 2 )
@@ -2213,7 +2220,7 @@ static void trowel_card(int power, deck_rarity_type rarity)
if ( !done_stuff )
canned_msg(MSG_NOTHING_HAPPENS);
- return;
+ return done_stuff;
}
static void genie_card(int power, deck_rarity_type rarity)
@@ -2540,7 +2547,7 @@ bool card_effect(card_type which_card, deck_rarity_type rarity,
case CARD_SUMMON_FLYING: summon_flying(power, rarity); break;
case CARD_SUMMON_SKELETON: summon_skeleton(power, rarity); break;
case CARD_XOM: xom_acts(5 + random2(power/10)); break;
- case CARD_TROWEL: trowel_card(power, rarity); break;
+ case CARD_TROWEL: rc = trowel_card(power, rarity); break;
case CARD_SPADE: your_spells(SPELL_DIG, random2(power/4), false); break;
case CARD_BANSHEE: mass_enchantment(ENCH_FEAR, power, MHITYOU); break;
case CARD_TORMENT: torment(TORMENT_CARDS, you.x_pos, you.y_pos); break;