summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/skills2.cc8
-rw-r--r--crawl-ref/source/spells1.cc9
2 files changed, 10 insertions, 7 deletions
diff --git a/crawl-ref/source/skills2.cc b/crawl-ref/source/skills2.cc
index cbdd7309d4..2c8f655f44 100644
--- a/crawl-ref/source/skills2.cc
+++ b/crawl-ref/source/skills2.cc
@@ -2110,12 +2110,10 @@ int calc_hp(bool real_hp)
}
}
- // robust mutations and divine robustness don't stack
- const int robust = std::min(player_mutation_level(MUT_ROBUST)
- + you.attribute[ATTR_DIVINE_ROBUSTNESS], 3);
-
// frail and robust mutations, and divine robustness
- hitp *= (10 + robust - player_mutation_level(MUT_FRAIL));
+ hitp *= (10 + player_mutation_level(MUT_ROBUST)
+ + you.attribute[ATTR_DIVINE_ROBUSTNESS]
+ - player_mutation_level(MUT_FRAIL));
hitp /= 10;
you.hp_max = hitp;
diff --git a/crawl-ref/source/spells1.cc b/crawl-ref/source/spells1.cc
index 85bf2d39b6..8b92958c4b 100644
--- a/crawl-ref/source/spells1.cc
+++ b/crawl-ref/source/spells1.cc
@@ -975,7 +975,10 @@ int cast_revitalisation(int pow)
case 4:
case 5:
if ((step == 3 || you.duration[DUR_REVITALISATION_CHAIN] > 0)
- && you.attribute[ATTR_DIVINE_STAMINA] == (step - 3))
+ && you.attribute[ATTR_DIVINE_STAMINA] == (step - 3)
+ && player_mutation_level(MUT_STRONG) < (17 - step)
+ && player_mutation_level(MUT_CLEVER) < (17 - step)
+ && player_mutation_level(MUT_AGILE) < (17 - step))
{
success = true;
mprf(MSGCH_DURATION, "Zin %s divine stamina.",
@@ -991,7 +994,9 @@ int cast_revitalisation(int pow)
modify_stat(STAT_STRENGTH, 1, true, "");
modify_stat(STAT_INTELLIGENCE, 1, true, "");
modify_stat(STAT_DEXTERITY, 1, true, "");
- need_chain = true;
+ need_chain = (player_mutation_level(MUT_STRONG) < (16 - step)
+ && player_mutation_level(MUT_CLEVER) < (16 - step)
+ && player_mutation_level(MUT_AGILE) < (16 - step));
break;
}