diff options
author | haranp <haranp@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-02-23 13:22:17 +0000 |
---|---|---|
committer | haranp <haranp@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-02-23 13:22:17 +0000 |
commit | 4e381e6a083d562fabe8c1d7a2be60720be59238 (patch) | |
tree | 5804617aa72b3cead3fa0222d0d976a9538c23bd /crawl-ref/source/spl-cast.cc | |
parent | 4f849c43a3add816fd41f0e3c89e387558015419 (diff) | |
download | crawl-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.cc | 9 |
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: |