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/abl-show.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'crawl-ref/source/abl-show.cc') diff --git a/crawl-ref/source/abl-show.cc b/crawl-ref/source/abl-show.cc index 9fb013665d..86f4050413 100644 --- a/crawl-ref/source/abl-show.cc +++ b/crawl-ref/source/abl-show.cc @@ -203,6 +203,7 @@ static const ability_def Ability_List[] = { ABIL_EVOKE_MAPPING, "Evoke Sense Surroundings", 0, 0, 30, 0, ABFLAG_NONE }, { ABIL_EVOKE_TELEPORTATION, "Evoke Teleportation", 3, 0, 200, 0, ABFLAG_NONE }, { ABIL_EVOKE_BLINK, "Evoke Blink", 1, 0, 50, 0, ABFLAG_NONE }, + { ABIL_RECHARGING, "Wand Recharging", 1, 0, 0, 0, ABFLAG_PERMANENT_MP }, { ABIL_EVOKE_BERSERK, "Evoke Berserk Rage", 0, 0, 0, 0, ABFLAG_NONE }, @@ -530,6 +531,10 @@ static talent _get_talent(ability_type ability, bool check_confused) case ABIL_TRAN_BAT: failure = 45 - (2 * you.experience_level); break; + + case ABIL_RECHARGING: // this is for deep dwarves {1KB} + failure = 45 - (2 * you.experience_level); + break; // end species abilties (some mutagenic) // begin demonic powers {dlb} @@ -1106,6 +1111,11 @@ static bool _do_ability(const ability_def& abil) break; } + case ABIL_RECHARGING: + if (!recharge_wand(-1)) + return (false); // fail message is already given + break; + case ABIL_DELAYED_FIREBALL: { // Note: power level of ball calculated at release -- bwr @@ -2089,6 +2099,9 @@ std::vector your_talents( bool check_confused ) if (you.species == SP_MUMMY && you.experience_level >= 13) _add_talent(talents, ABIL_MUMMY_RESTORATION, check_confused); + if (you.species == SP_DEEP_DWARF) + _add_talent(talents, ABIL_RECHARGING, check_confused); + // Spit Poison. Nontransformed nagas can upgrade to Breathe Poison. // Transformed nagas, or non-nagas, can only get Spit Poison. if (you.species == SP_NAGA -- cgit v1.2.3-54-g00ecf