diff options
Diffstat (limited to 'crawl-ref/source/religion.cc')
-rw-r--r-- | crawl-ref/source/religion.cc | 15 |
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) { |