summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/main.cc
diff options
context:
space:
mode:
authorCharles Otto <ottochar@gmail.com>2009-11-15 17:19:26 -0500
committerCharles Otto <ottochar@gmail.com>2009-11-15 23:46:50 -0500
commit13d70d82c4c9875a414c4c29f709c12f2c5d2c9d (patch)
treee6305d0ede77c47b222b1ed458b26daa5c3b3899 /crawl-ref/source/main.cc
parentb0b6e9bc525e05d682f33311086d506b941a0b3f (diff)
downloadcrawl-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.cc8
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);
}