diff options
Diffstat (limited to 'crawl-ref')
-rw-r--r-- | crawl-ref/source/skills2.cc | 8 | ||||
-rw-r--r-- | crawl-ref/source/spells1.cc | 9 |
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; } |