summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spl-cast.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/spl-cast.cc')
-rw-r--r--crawl-ref/source/spl-cast.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/crawl-ref/source/spl-cast.cc b/crawl-ref/source/spl-cast.cc
index 521e84acdd..29e6e1fdc9 100644
--- a/crawl-ref/source/spl-cast.cc
+++ b/crawl-ref/source/spl-cast.cc
@@ -370,7 +370,8 @@ int spell_fail(spell_type spell)
int chance = 60;
int chance2 = 0, armour = 0;
- chance -= 6 * calc_spell_power( spell, false, true );
+ // Don't cap power for failure rate purposes.
+ chance -= 6 * calc_spell_power(spell, false, true, false);
chance -= (you.intel * 2);
//chance -= (you.intel - 10) * abs(you.intel - 10);
@@ -514,7 +515,8 @@ int spell_fail(spell_type spell)
} // end spell_fail()
-int calc_spell_power(spell_type spell, bool apply_intel, bool fail_rate_check)
+int calc_spell_power(spell_type spell, bool apply_intel, bool fail_rate_check,
+ bool cap_power)
{
// When checking failure rates, wizardry is handled after the various
// stepping calulations.
@@ -563,7 +565,7 @@ int calc_spell_power(spell_type spell, bool apply_intel, bool fail_rate_check)
power = stepdown_value( power, 50, 50, 150, 200 );
const int cap = spell_power_cap(spell);
- if (cap > 0)
+ if (cap > 0 && cap_power)
power = std::min(power, cap);
return (power);