diff options
Diffstat (limited to 'crawl-ref/source/player.cc')
-rw-r--r-- | crawl-ref/source/player.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index ba506a7fa7..3a04aaecda 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -335,6 +335,11 @@ bool move_player_to_grid( const coord_def& p, bool stepped, bool allow_shift, else pct = 50; + // When the effect is still strong, the chance to actually catch + // a stair is smaller. (Assuming the duration starts out at 1000.) + const int dur = std::max(0, you.duration[DUR_REPEL_STAIRS_MOVE] - 700); + pct += dur/10; + if (x_chance_in_y(pct, 100)) { if (slide_feature_over(you.pos(), coord_def(-1, -1), false)) @@ -346,6 +351,9 @@ bool move_player_to_grid( const coord_def& p, bool stepped, bool allow_shift, mprf("%s slides away as you move %s it!", stair_str.c_str(), prep.c_str()); + + if (player_in_a_dangerous_place() && one_chance_in(5)) + xom_is_stimulated(32); } } } |