summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spl-cast.cc
diff options
context:
space:
mode:
authorharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2009-02-23 13:22:17 +0000
committerharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2009-02-23 13:22:17 +0000
commit4e381e6a083d562fabe8c1d7a2be60720be59238 (patch)
tree5804617aa72b3cead3fa0222d0d976a9538c23bd /crawl-ref/source/spl-cast.cc
parent4f849c43a3add816fd41f0e3c89e387558015419 (diff)
downloadcrawl-ref-4e381e6a083d562fabe8c1d7a2be60720be59238.tar.gz
crawl-ref-4e381e6a083d562fabe8c1d7a2be60720be59238.zip
Add Deep Dwarves patch, with some minor changes.
Add a new mutation, MUT_SLOW_HEALING, which at level 3 blocks all healing; it can't be acquired randomly, but deep dwarves start with it at level 3. This overrides regeneration, including the god-given kind (Trog's Hand.) Fix mutation listings (hopefully I got this right.) There are still some cases where DD HP shaving is not applied: ability HP costs, Staff of Dispater effect, vampiric draining backlash, Sublimation of Blood spell. Fix dancing weapons leaving mgrd incorrect if their weapon can't be generated. Breaks saves. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9173 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/spl-cast.cc')
-rw-r--r--crawl-ref/source/spl-cast.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/crawl-ref/source/spl-cast.cc b/crawl-ref/source/spl-cast.cc
index 69e88ec5c0..dc3026862c 100644
--- a/crawl-ref/source/spl-cast.cc
+++ b/crawl-ref/source/spl-cast.cc
@@ -870,8 +870,7 @@ static bool _spell_is_uncastable(spell_type spell)
// Normally undead can't memorise these spells, so this check is
// to catch those in Lich form. As such, we allow the Lich form
// to be extended here. -- bwr
- if (spell != SPELL_NECROMUTATION
- && undead_cannot_memorise( spell, you.is_undead ))
+ if (spell != SPELL_NECROMUTATION && you_cannot_memorise(spell))
{
mpr( "You cannot cast that spell in your current form!" );
return (true);
@@ -883,7 +882,7 @@ static bool _spell_is_uncastable(spell_type spell)
return (true);
}
- if (_vampire_cannot_cast( spell ))
+ if (_vampire_cannot_cast(spell))
{
mpr("Your current blood level is not sufficient to cast that spell.");
return (true);
@@ -1217,7 +1216,9 @@ spret_type your_spells(spell_type spell, int powc, bool allow_fail)
case SPELL_PAIN:
if (!zapping(ZAP_PAIN, powc, beam, true))
return (SPRET_ABORT);
- dec_hp(1, false);
+ // Deep Dwarves' damage reduction always blocks at least 1 hp.
+ if (you.species != SP_DEEP_DWARF)
+ dec_hp(1, false);
break;
case SPELL_FLAME_TONGUE: