From 655e25c2693b8e02b37ee650e0fd74a8baf4d837 Mon Sep 17 00:00:00 2001 From: dolorous Date: Sun, 20 Apr 2008 22:44:11 +0000 Subject: Make Zin's Revitalisation easier to adjust in terms of power by making the MP increase relative to the HP increase. As a side effect, the MP increase is a bit more powerful; at maximum power, it's now 7 instead of 5. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4422 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/spells1.cc | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'crawl-ref/source/spells1.cc') diff --git a/crawl-ref/source/spells1.cc b/crawl-ref/source/spells1.cc index 297c4d4eec..e22ab07b41 100644 --- a/crawl-ref/source/spells1.cc +++ b/crawl-ref/source/spells1.cc @@ -757,13 +757,21 @@ int cast_healing( int pow, int target_x, int target_y ) return (_healing_spell( pow + roll_dice( 2, pow ) - 2, target_x, target_y )); } -int cast_revitalisation( int pow ) +void cast_revitalisation(int pow) { - // first increase MP by 5 or to maximum, whichever is lower - inc_mp(5, false); + 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; - // then cast healing (as in Minor Healing) - return cast_healing(pow, you.x_pos, you.y_pos); // target yourself + // Increase MP by half of amount. + inc_mp(amount / 2, false); + + // Increase HP by amount. + inc_hp(amount, false); + } } bool cast_revivification(int pow) -- cgit v1.2.3-54-g00ecf