summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spells1.cc
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-15 17:29:47 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-15 17:29:47 +0000
commit98b9bec859b988232dd71f111efa4594aa5ff027 (patch)
tree1d1ebec1d948006fad74ba1d3e11f6b36d661645 /crawl-ref/source/spells1.cc
parent124c5d2ff5775688d3a9bb93d171847c501cebeb (diff)
downloadcrawl-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
Diffstat (limited to 'crawl-ref/source/spells1.cc')
-rw-r--r--crawl-ref/source/spells1.cc22
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;
}