diff options
Diffstat (limited to 'crawl-ref/source/spells1.cc')
-rw-r--r-- | crawl-ref/source/spells1.cc | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/crawl-ref/source/spells1.cc b/crawl-ref/source/spells1.cc index e22ab07b41..1d6cdc4682 100644 --- a/crawl-ref/source/spells1.cc +++ b/crawl-ref/source/spells1.cc @@ -757,21 +757,23 @@ int cast_healing( int pow, int target_x, int target_y ) return (_healing_spell( pow + roll_dice( 2, pow ) - 2, target_x, target_y )); } -void cast_revitalisation(int pow) +bool cast_revitalisation(int pow) { if (you.hp == you.hp_max || you.magic_points == you.max_magic_points) - canned_msg(MSG_NOTHING_HAPPENS); - else { - // Currently, this uses the same formula as minor healing. - int amount = pow + roll_dice(2, pow) - 2; + canned_msg(MSG_NOTHING_HAPPENS); + return false; + } - // Increase MP by half of amount. - inc_mp(amount / 2, false); + // Use the formula for minor healing for HP, and the formula divided + // by two for MP. + int hp_amount = pow + roll_dice(2, pow) - 2; + int mp_amount = (pow + roll_dice(2, pow) - 2) / 2; - // Increase HP by amount. - inc_hp(amount, false); - } + inc_hp(hp_amount, false); + inc_mp(mp_amount, false); + + return true; } bool cast_revivification(int pow) |