summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/monstuff.cc5
-rw-r--r--crawl-ref/source/player.cc12
-rw-r--r--crawl-ref/source/spells1.cc8
3 files changed, 10 insertions, 15 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index 09c20b2016..862e75da5d 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -2481,8 +2481,9 @@ static void handle_nearby_ability(monsters *monster)
{
simple_monster_message(monster, " stares at you.");
- if (you.duration[DUR_PARALYSIS] < 10)
- you.duration[DUR_PARALYSIS] += 2 + random2(3);
+ int &paralysis(you.duration[DUR_PARALYSIS]);
+ if (!paralysis || (paralysis < 10 && one_chance_in(1 + paralysis)))
+ paralysis += 2 + random2(3);
}
break;
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 &paralysis(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)
diff --git a/crawl-ref/source/spells1.cc b/crawl-ref/source/spells1.cc
index 9cd5c94622..0ca5d6284b 100644
--- a/crawl-ref/source/spells1.cc
+++ b/crawl-ref/source/spells1.cc
@@ -821,14 +821,6 @@ void extension(int pow)
if (you.duration[DUR_SLOW])
potion_effect(POT_SLOWING, pow);
-#if 0
- if (you.duration[DUR_PARALYSIS])
- potion_effect(POT_PARALYSIS, pow); // how did you cast extension?
-
- if (you.duration[DUR_CONF])
- potion_effect(POT_CONFUSION, pow); // how did you cast extension?
-#endif
-
if (you.duration[DUR_MIGHT])
{
potion_effect(POT_MIGHT, pow);