summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/religion.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/religion.cc')
-rw-r--r--crawl-ref/source/religion.cc15
1 files changed, 7 insertions, 8 deletions
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index 645ab044bb..d0bc0f64a1 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -4210,7 +4210,7 @@ static bool _tso_retribution()
static void _zin_remove_good_mutations()
{
- if (!how_mutated() || player_mutation_level(MUT_MUTATION_RESISTANCE) == 3)
+ if (!how_mutated())
return;
bool success = false;
@@ -4221,8 +4221,11 @@ static void _zin_remove_good_mutations()
for (int i = 7; i >= 0; --i)
{
- if (i <= random2(10) && delete_mutation(RANDOM_GOOD_MUTATION, failMsg))
+ if (i <= random2(10)
+ && delete_mutation(RANDOM_GOOD_MUTATION, failMsg, false, true))
+ {
success = true;
+ }
else
failMsg = false;
}
@@ -4241,13 +4244,9 @@ static bool _zin_retribution()
int punishment = random2(10);
- // If not mutated or can't unmutate, do something else instead.
- if (punishment > 7
- && (!how_mutated()
- || player_mutation_level(MUT_MUTATION_RESISTANCE) == 3))
- {
+ // If not mutated, do something else instead.
+ if (punishment > 7 && !how_mutated())
punishment = random2(8);
- }
switch (punishment)
{