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, 6 insertions, 2 deletions
diff --git a/crawl-ref/source/spl-cast.cc b/crawl-ref/source/spl-cast.cc
index 25526ceb58..f05b6712b1 100644
--- a/crawl-ref/source/spl-cast.cc
+++ b/crawl-ref/source/spl-cast.cc
@@ -229,7 +229,7 @@ int list_spells()
}
}
-static int apply_vehumet_wizardry_boost(spell_type spell, int chance)
+static int apply_spellcasting_success_boosts(spell_type spell, int chance)
{
int wizardry = player_mag_abil(false);
int fail_reduce = 100;
@@ -254,6 +254,10 @@ static int apply_vehumet_wizardry_boost(spell_type spell, int chance)
wiz_factor += (100 - wiz_factor) / 3;
}
+ // Draconians get a boost to dragon-form.
+ if (spell == SPELL_DRAGON_FORM && player_genus(GENPC_DRACONIAN))
+ fail_reduce = fail_reduce * 70 / 100;
+
// Hard cap on fail rate reduction.
if (fail_reduce < 50)
fail_reduce = 50;
@@ -444,7 +448,7 @@ int spell_fail(spell_type spell)
}
// Apply the effects of Vehumet prayer and items of wizardry.
- chance2 = apply_vehumet_wizardry_boost(spell, chance2);
+ chance2 = apply_spellcasting_success_boosts(spell, chance2);
if (chance2 > 100)
chance2 = 100;