diff options
author | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-05-15 17:29:47 +0000 |
---|---|---|
committer | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-05-15 17:29:47 +0000 |
commit | 98b9bec859b988232dd71f111efa4594aa5ff027 (patch) | |
tree | 1d1ebec1d948006fad74ba1d3e11f6b36d661645 | |
parent | 124c5d2ff5775688d3a9bb93d171847c501cebeb (diff) | |
download | crawl-ref-98b9bec859b988232dd71f111efa4594aa5ff027.tar.gz crawl-ref-98b9bec859b988232dd71f111efa4594aa5ff027.zip |
Improve the non-stacking of Zin's divine stamina and the stat-enhancing
mutations.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5061 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r-- | crawl-ref/source/spells1.cc | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/crawl-ref/source/spells1.cc b/crawl-ref/source/spells1.cc index a46c3da0f1..a81881d47f 100644 --- a/crawl-ref/source/spells1.cc +++ b/crawl-ref/source/spells1.cc @@ -974,15 +974,18 @@ int cast_vitalisation(int pow) case 1: case 2: // Restore stats. - if (you.strength < you.max_strength || you.intel < you.max_intel + if (you.strength < you.max_strength + || you.intel < you.max_intel || you.dex < you.max_dex) { success = true; restore_stat(STAT_STRENGTH, step + 1, true); restore_stat(STAT_INTELLIGENCE, step + 1, true); restore_stat(STAT_DEXTERITY, step + 1, true); - need_chain = (you.strength < you.max_strength - || you.intel < you.max_intel || you.dex < you.max_dex); + need_chain = + (you.strength < you.max_strength + || you.intel < you.max_intel + || you.dex < you.max_dex); break; } @@ -998,9 +1001,9 @@ int cast_vitalisation(int pow) case 5: if ((step == 3 || you.duration[DUR_VITALISATION_CHAIN] > 0) && 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)) + && (player_mutation_level(MUT_STRONG) / 5 + 1) < (6 - step) + && (player_mutation_level(MUT_CLEVER) / 5 + 1) < (6 - step) + && (player_mutation_level(MUT_AGILE) / 5 + 1) < (6 - step)) { success = true; mprf(MSGCH_DURATION, "Zin %s divine stamina.", @@ -1016,9 +1019,10 @@ int cast_vitalisation(int pow) modify_stat(STAT_STRENGTH, 1, true, ""); modify_stat(STAT_INTELLIGENCE, 1, true, ""); modify_stat(STAT_DEXTERITY, 1, true, ""); - need_chain = (player_mutation_level(MUT_STRONG) < (16 - step) - && player_mutation_level(MUT_CLEVER) < (16 - step) - && player_mutation_level(MUT_AGILE) < (16 - step)); + need_chain = + ((player_mutation_level(MUT_STRONG) / 5 + 1) < (5 - step) + && (player_mutation_level(MUT_CLEVER) / 5 + 1) < (5 - step) + && (player_mutation_level(MUT_AGILE) / 5 + 1) < (5 - step)); break; } |