summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monstuff.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/monstuff.cc')
-rw-r--r--crawl-ref/source/monstuff.cc21
1 files changed, 11 insertions, 10 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index aa390087eb..935b0bd4ff 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -7816,29 +7816,30 @@ static bool _handle_pickup(monsters *monster)
&& random2(you.piety) > 50
&& one_chance_in(4))
{
- bool success = false;
- if (!you.is_undead)
+ if (you.can_safely_mutate())
{
simple_god_message(" alters your body.");
more();
+ bool success = false;
const int rand = random2(100);
+
if (rand < 40)
success = mutate(RANDOM_MUTATION);
else if (rand < 60)
success = delete_mutation(RANDOM_MUTATION);
else
success = mutate(RANDOM_GOOD_MUTATION);
- }
- if (success)
- {
- timeout = (100 + roll_dice(2, 4));
- you.num_gifts[you.religion]++;
- take_note(Note(NOTE_GOD_GIFT, you.religion));
+ if (success)
+ {
+ timeout = (100 + roll_dice(2, 4));
+ you.num_gifts[you.religion]++;
+ take_note(Note(NOTE_GOD_GIFT, you.religion));
+ }
+ else
+ mpr("You feel as though nothing has changed.");
}
- else
- mpr("You feel as though nothing has changed.");
}
}