diff options
Diffstat (limited to 'crawl-ref/source/religion.cc')
-rw-r--r-- | crawl-ref/source/religion.cc | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc index 24ef310ce3..7a00610bdf 100644 --- a/crawl-ref/source/religion.cc +++ b/crawl-ref/source/religion.cc @@ -2768,24 +2768,26 @@ static bool _zin_retribution() { case 0: // remove good mutations (25%) case 1: - { - simple_god_message(" draws some chaos from your body!", god); - bool success = false; - for (int i = 0; i < 7; i++) - if (random2(10) > i - && delete_mutation(RANDOM_MUTATION, true, true)) + if (can_safely_mutate()) + { + simple_god_message(" draws some chaos from your body!", god); + bool success = false; + for (int i = 0; i < 7; i++) + if (random2(10) > i + && delete_mutation(RANDOM_MUTATION, true, true)) + { + success = true; + } + + if (success && !count_mutations()) { - success = true; + simple_god_message(" rids your body of chaos!"); + // lower penance a bit more for being particularly successful + dec_penance(god, 1); } - - if (success && !count_mutations()) - { - simple_god_message(" rids your body of chaos!"); - // lower penance a bit more for being particularly successful - dec_penance(god, 1); - } - break; - } + break; + } + // deliberate fall through case 2: case 3: case 4: // summon angels or bugs (pestilence), 3/8 |