summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-25 16:07:23 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-25 16:07:23 +0000
commite87c84aed78bb4250f0e691fd46cf559e151b749 (patch)
treed6397e35432651e1ac600db640e75c2a881eb7c5 /crawl-ref
parent5de4dc89577861c98975d6810109b37fea4dfd80 (diff)
downloadcrawl-ref-e87c84aed78bb4250f0e691fd46cf559e151b749.tar.gz
crawl-ref-e87c84aed78bb4250f0e691fd46cf559e151b749.zip
Add more mutation removal handling cleanups.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4625 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/mutation.cc9
-rw-r--r--crawl-ref/source/mutation.h3
-rw-r--r--crawl-ref/source/religion.cc2
3 files changed, 7 insertions, 7 deletions
diff --git a/crawl-ref/source/mutation.cc b/crawl-ref/source/mutation.cc
index bc41ea1742..2d28e77b55 100644
--- a/crawl-ref/source/mutation.cc
+++ b/crawl-ref/source/mutation.cc
@@ -2202,8 +2202,7 @@ int count_mutations()
return count;
}
-bool delete_mutation(mutation_type which_mutation, bool prefer_good,
- bool force_mutation)
+bool delete_mutation(mutation_type which_mutation, bool force_mutation)
{
mutation_type mutat = which_mutation;
int i;
@@ -2217,7 +2216,8 @@ bool delete_mutation(mutation_type which_mutation, bool prefer_good,
return false;
}
- if (which_mutation == RANDOM_MUTATION)
+ if (which_mutation == RANDOM_MUTATION
+ || which_mutation == RANDOM_GOOD_MUTATION)
{
do
{
@@ -2232,7 +2232,8 @@ bool delete_mutation(mutation_type which_mutation, bool prefer_good,
&& mutat != MUT_CLUMSY))
|| random2(10) >= mutation_defs[mutat].rarity
|| you.demon_pow[mutat] >= you.mutation[mutat]
- || prefer_good && (!mutation_defs[i].bad || one_chance_in(10)));
+ || which_mutation == RANDOM_GOOD_MUTATION
+ && (!mutation_defs[i].bad || one_chance_in(10)));
}
if (you.mutation[mutat] == 0)
diff --git a/crawl-ref/source/mutation.h b/crawl-ref/source/mutation.h
index 27ef3ac5ce..93324d422c 100644
--- a/crawl-ref/source/mutation.h
+++ b/crawl-ref/source/mutation.h
@@ -56,8 +56,7 @@ formatted_string describe_mutations();
/* ***********************************************************************
* called from: decks - it_use2 - mutation - spells
* *********************************************************************** */
-bool delete_mutation(mutation_type which_mutation, bool prefer_good = false,
- bool force_mutation = false);
+bool delete_mutation(mutation_type which_mutation, bool force_mutation = false);
// used by Zin (religion.cc)
int count_mutations(void);
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index 4d83172dbe..8fc7be3044 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -2912,7 +2912,7 @@ static bool _zin_retribution()
bool success = false;
for (int i = 0; i < 7; i++)
if (random2(10) > i
- && delete_mutation(RANDOM_MUTATION, true, true))
+ && delete_mutation(RANDOM_GOOD_MUTATION, true))
{
success = true;
}