From 4e381e6a083d562fabe8c1d7a2be60720be59238 Mon Sep 17 00:00:00 2001 From: haranp Date: Mon, 23 Feb 2009 13:22:17 +0000 Subject: 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 --- crawl-ref/source/spl-cast.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'crawl-ref/source/spl-cast.cc') 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: -- cgit v1.2.3-54-g00ecf