summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/misc.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/misc.cc')
-rw-r--r--crawl-ref/source/misc.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc
index 589fdfe492..488babbb43 100644
--- a/crawl-ref/source/misc.cc
+++ b/crawl-ref/source/misc.cc
@@ -1635,6 +1635,11 @@ static bool _stair_moves_pre(dungeon_feature_type stair)
else
pct = 50;
+ // When the effect is still strong, the chance to actually catch a stair
+ // is smaller. (Assuming the duration starts out at 500.)
+ const int dur = std::max(0, you.duration[DUR_REPEL_STAIRS_CLIMB] - 200);
+ pct += dur/20;
+
if (!x_chance_in_y(pct, 100))
return (false);