summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/main.cc
diff options
context:
space:
mode:
authorCharles Otto <ottochar@gmail.com>2009-11-15 18:13:28 -0500
committerCharles Otto <ottochar@gmail.com>2009-11-15 23:46:53 -0500
commitec62dd87b6bbe338aa50dc503db2f999c2d352c3 (patch)
treee1e94611c9a702fbadd97e31fc06ffbe628ff82e /crawl-ref/source/main.cc
parentf77c84bb4c94205933c5a0dc7a7eda82f5460103 (diff)
downloadcrawl-ref-ec62dd87b6bbe338aa50dc503db2f999c2d352c3.tar.gz
crawl-ref-ec62dd87b6bbe338aa50dc503db2f999c2d352c3.zip
Delay changes for corona, berserk, lev, and cfly
Diffstat (limited to 'crawl-ref/source/main.cc')
-rw-r--r--crawl-ref/source/main.cc19
1 files changed, 12 insertions, 7 deletions
diff --git a/crawl-ref/source/main.cc b/crawl-ref/source/main.cc
index 40b5154ba6..d19c6967eb 100644
--- a/crawl-ref/source/main.cc
+++ b/crawl-ref/source/main.cc
@@ -2147,7 +2147,7 @@ static bool _decrement_a_duration(duration_type dur, int delay,
{
if (midmsg)
mpr(midmsg, chan);
- you.duration[dur] -= midloss;
+ you.duration[dur] -= midloss * BASELINE_DELAY;
}
// allow fall-through in case midloss ended the duration (it shouldn't)
@@ -2554,10 +2554,14 @@ static void _decrement_durations()
Options.tutorial_events[TUT_YOU_ENCHANTED] = tut_slow;
}
- if (you.duration[DUR_CORONA] && !--you.duration[DUR_CORONA]
- && !you.backlit())
+ if (you.duration[DUR_CORONA])
{
- mpr("You are no longer glowing.", MSGCH_DURATION);
+ you.duration[DUR_CORONA] -= delay;
+ if (you.duration[DUR_CORONA] < 1)
+ you.duration[DUR_CORONA] = 0;
+
+ if (!you.duration[DUR_CORONA] && !you.backlit())
+ mpr("You are no longer glowing.", MSGCH_DURATION);
}
// Leak piety from the piety pool into actual piety.
@@ -3882,15 +3886,16 @@ static void _do_berserk_no_combat_penalty(void)
// I do these three separately, because the might and
// haste counters can be different.
- you.duration[DUR_BERSERKER] -= you.berserk_penalty;
+ int berserk_delay_penalty = you.berserk_penalty * BASELINE_DELAY;
+ you.duration[DUR_BERSERKER] -= berserk_delay_penalty;
if (you.duration[DUR_BERSERKER] < 1)
you.duration[DUR_BERSERKER] = 1;
- you.duration[DUR_MIGHT] -= you.berserk_penalty;
+ you.duration[DUR_MIGHT] -= berserk_delay_penalty;
if (you.duration[DUR_MIGHT] < 1)
you.duration[DUR_MIGHT] = 1;
- you.duration[DUR_HASTE] -= you.berserk_penalty;
+ you.duration[DUR_HASTE] -= berserk_delay_penalty;
if (you.duration[DUR_HASTE] < 1)
you.duration[DUR_HASTE] = 1;
}