diff options
author | Charles Otto <ottochar@gmail.com> | 2009-11-15 17:19:26 -0500 |
---|---|---|
committer | Charles Otto <ottochar@gmail.com> | 2009-11-15 23:46:50 -0500 |
commit | 13d70d82c4c9875a414c4c29f709c12f2c5d2c9d (patch) | |
tree | e6305d0ede77c47b222b1ed458b26daa5c3b3899 /crawl-ref/source/main.cc | |
parent | b0b6e9bc525e05d682f33311086d506b941a0b3f (diff) | |
download | crawl-ref-13d70d82c4c9875a414c4c29f709c12f2c5d2c9d.tar.gz crawl-ref-13d70d82c4c9875a414c4c29f709c12f2c5d2c9d.zip |
Adjust slow and haste durations
Attempt to keep the number of slowed/hasted turns a player gets
constant by doubling/halving the total amount of delay needed for the
effects to wear off.
Also adjust durations for berserk.
Diffstat (limited to 'crawl-ref/source/main.cc')
-rw-r--r-- | crawl-ref/source/main.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/crawl-ref/source/main.cc b/crawl-ref/source/main.cc index 9e9cc6fb82..40b5154ba6 100644 --- a/crawl-ref/source/main.cc +++ b/crawl-ref/source/main.cc @@ -2503,7 +2503,9 @@ static void _decrement_durations() you.berserk_penalty = 0; int dur = 12 + roll_dice(2, 12); - you.increase_duration(DUR_EXHAUSTED, dur); + // For consistency with slow give exhaustion 2 times the nominal + // duration. + you.increase_duration(DUR_EXHAUSTED, dur * 2); // Don't trigger too many tutorial messages. const bool tut_slow = Options.tutorial_events[TUT_YOU_ENCHANTED]; @@ -2519,9 +2521,9 @@ static void _decrement_durations() { if (wearing_amulet(AMU_RESIST_SLOW)) { - if (you.duration[DUR_HASTE] > 6 * BASELINE_DELAY) + if (you.duration[DUR_HASTE] > 3 * BASELINE_DELAY) { - you.set_duration(DUR_HASTE, 2 + coinflip()); + you.set_duration(DUR_HASTE, div_rand_round(2 + coinflip(), 2)); mpr("Your extra speed is starting to run out.", MSGCH_DURATION); } |