summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spl-transloc.cc
diff options
context:
space:
mode:
authorRaphael Langella <raphael.langella@gmail.com>2013-08-16 23:12:28 +0200
committerRaphael Langella <raphael.langella@gmail.com>2013-08-16 23:19:42 +0200
commitc56f7848c24e60f938bec429afc467bfb06599a6 (patch)
treebb5ac33403f5c584554b7f0dcf61d792e3970fc1 /crawl-ref/source/spl-transloc.cc
parentbdd80194b71b95e59c46d35c8bc371a5d616d8c0 (diff)
downloadcrawl-ref-c56f7848c24e60f938bec429afc467bfb06599a6.tar.gz
crawl-ref-c56f7848c24e60f938bec429afc467bfb06599a6.zip
Use a finer scale for magic contamination.
It's now updated every turn instead of every 20 turns and it's almost deterministic (only the time scaling use randomized rounding). The bad effects still happen every 20 turns though (just like hell effects and other stuff). It has been scaled by 1000. I tried with 100, but I still had some significant rounding issues, especially with scaling to time_taken. It shouldn't be possible anymore to gain yellow glow from a single cast of invisibility even at max power. Although, in theory, it has a slight chance of putting you just 1 point short of yellow (4999).
Diffstat (limited to 'crawl-ref/source/spl-transloc.cc')
-rw-r--r--crawl-ref/source/spl-transloc.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/crawl-ref/source/spl-transloc.cc b/crawl-ref/source/spl-transloc.cc
index e8829a94ba..d2ae509ef5 100644
--- a/crawl-ref/source/spl-transloc.cc
+++ b/crawl-ref/source/spl-transloc.cc
@@ -72,7 +72,7 @@ spret_type cast_disjunction(int pow, bool fail)
you.duration[DUR_DISJUNCTION] = min(90 + pow / 12,
max(you.duration[DUR_DISJUNCTION] + rand,
30 + rand));
- contaminate_player(1, true);
+ contaminate_player(1000, true);
disjunction();
return SPRET_SUCCESS;
}
@@ -288,7 +288,7 @@ int blink(int pow, bool high_level_controlled_blink, bool wizard_blink,
// Controlling teleport contaminates the player. -- bwr
if (!wizard_blink)
- contaminate_player(1, true);
+ contaminate_player(1000, true);
}
}
@@ -533,7 +533,7 @@ static bool _teleport_player(bool allow_control, bool new_abyss_area,
mpr("Controlled teleport interrupted by HUP signal, "
"cancelling teleport.", MSGCH_ERROR);
if (!wizard_tele)
- contaminate_player(1, true);
+ contaminate_player(1000, true);
return false;
}
@@ -550,7 +550,7 @@ static bool _teleport_player(bool allow_control, bool new_abyss_area,
}
}
if (!wizard_tele)
- contaminate_player(1, true);
+ contaminate_player(1000, true);
return false;
}
@@ -630,7 +630,7 @@ static bool _teleport_player(bool allow_control, bool new_abyss_area,
// Controlling teleport contaminates the player. - bwr
if (!wizard_tele)
- contaminate_player(1, true);
+ contaminate_player(1000, true);
}
// End teleport control.
if (you.duration[DUR_CONTROL_TELEPORT])
@@ -1076,7 +1076,7 @@ spret_type cast_semi_controlled_blink(int pow, bool cheap_cancel, bool end_ctele
if (you.attempt_escape(2) && _quadrant_blink(bmove.delta, pow))
{
// Controlled blink causes glowing.
- contaminate_player(1, true);
+ contaminate_player(1000, true);
// End teleport control if this was a random blink upgraded by cTele.
if (end_ctele && you.duration[DUR_CONTROL_TELEPORT])
{