From b2e9640e0788a9d0ef6b6a9488b0eb39d8bae475 Mon Sep 17 00:00:00 2001 From: Charles Otto Date: Sun, 15 Nov 2009 01:27:39 -0500 Subject: Update phaee shift, condensation shield, stoneskin and see invis Make their durations count total delay not turns. --- crawl-ref/source/spells4.cc | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) (limited to 'crawl-ref/source/spells4.cc') diff --git a/crawl-ref/source/spells4.cc b/crawl-ref/source/spells4.cc index 3c934eb81e..6ca84a2a82 100644 --- a/crawl-ref/source/spells4.cc +++ b/crawl-ref/source/spells4.cc @@ -340,10 +340,10 @@ void cast_phase_shift(int pow) else mpr("Your feel the material plane grow further away."); - you.duration[DUR_PHASE_SHIFT] += 5 + random2(pow); + you.duration[DUR_PHASE_SHIFT] += (5 + random2(pow)) * BASELINE_DELAY; - if (you.duration[DUR_PHASE_SHIFT] > 30) - you.duration[DUR_PHASE_SHIFT] = 30; + if (you.duration[DUR_PHASE_SHIFT] > 30 * BASELINE_DELAY) + you.duration[DUR_PHASE_SHIFT] = 30 * BASELINE_DELAY; you.redraw_evasion = true; } @@ -363,11 +363,13 @@ void cast_see_invisible(int pow) autotoggle_autopickup(false); } + int duration = 10 + random2(2 + (pow / 2)); + // No message if you already are under the spell. - you.duration[DUR_SEE_INVISIBLE] += 10 + random2(2 + (pow / 2)); + you.duration[DUR_SEE_INVISIBLE] += duration * BASELINE_DELAY; - if (you.duration[DUR_SEE_INVISIBLE] > 100) - you.duration[DUR_SEE_INVISIBLE] = 100; + if (you.duration[DUR_SEE_INVISIBLE] > 100 * BASELINE_DELAY) + you.duration[DUR_SEE_INVISIBLE] = 100 * BASELINE_DELAY; } // The description idea was okay, but this spell just isn't that exciting. @@ -1912,17 +1914,19 @@ void cast_condensation_shield(int pow) if (you.duration[DUR_CONDENSATION_SHIELD] > 0) { mpr("The disc of vapour around you crackles some more."); - you.duration[DUR_CONDENSATION_SHIELD] += 5 + roll_dice(2, 3); + int addition = (5 + roll_dice(2, 3)) * BASELINE_DELAY; + you.duration[DUR_CONDENSATION_SHIELD] += addition; } else { mpr("A crackling disc of dense vapour forms in the air!"); + int delay = (10 + roll_dice(2, pow / 5)) * BASELINE_DELAY; you.duration[DUR_CONDENSATION_SHIELD] = 10 + roll_dice(2, pow / 5); you.redraw_armour_class = true; } - if (you.duration[DUR_CONDENSATION_SHIELD] > 30) - you.duration[DUR_CONDENSATION_SHIELD] = 30; + if (you.duration[DUR_CONDENSATION_SHIELD] > 30 * BASELINE_DELAY) + you.duration[DUR_CONDENSATION_SHIELD] = 30 * BASELINE_DELAY; } } @@ -2075,10 +2079,11 @@ void cast_stoneskin(int pow) you.redraw_armour_class = true; } - you.duration[DUR_STONESKIN] += 10 + random2(pow) + random2(pow); + int addition = (10 + random2(pow) + random2(pow)) * BASELINE_DELAY; + you.duration[DUR_STONESKIN] += addition; - if (you.duration[DUR_STONESKIN] > 50) - you.duration[DUR_STONESKIN] = 50; + if (you.duration[DUR_STONESKIN] > 50 * BASELINE_DELAY) + you.duration[DUR_STONESKIN] = 50 * BASELINE_DELAY; } bool do_slow_monster(monsters* mon, kill_category whose_kill) -- cgit v1.2.3-54-g00ecf