diff options
Diffstat (limited to 'crawl-ref/source/player.cc')
-rw-r--r-- | crawl-ref/source/player.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index 0b69753383..d8ecc86e4d 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -6157,14 +6157,16 @@ void player::confuse(int str) void player::paralyse(int str) { + int ¶lysis(duration[DUR_PARALYSIS]); + mprf( "You %s the ability to move!", - (duration[DUR_PARALYSIS]) ? "still haven't" : "suddenly lose" ); + paralysis ? "still haven't" : "suddenly lose" ); - if (str > duration[DUR_PARALYSIS]) - duration[DUR_PARALYSIS] = str; + if (str > paralysis && (paralysis < 3 || one_chance_in(paralysis))) + paralysis = str; - if (duration[DUR_PARALYSIS] > 13) - duration[DUR_PARALYSIS] = 13; + if (paralysis > 13) + paralysis = 13; } void player::slow_down(int str) |