summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/random-var.cc
diff options
context:
space:
mode:
authorRaphael Langella <raphael.langella@gmail.com>2013-02-04 00:35:59 +0100
committerRaphael Langella <raphael.langella@gmail.com>2013-02-04 00:35:59 +0100
commite7b8e4d77caa2b4cba42ba8a9d2d6cd32822eac9 (patch)
treee9f47d5de895b9179aed3c6de2d7f0eab2f75adf /crawl-ref/source/random-var.cc
parent9811db10b4ccd85d4a5d15f200bc245e89c8421c (diff)
downloadcrawl-ref-e7b8e4d77caa2b4cba42ba8a9d2d6cd32822eac9.tar.gz
crawl-ref-e7b8e4d77caa2b4cba42ba8a9d2d6cd32822eac9.zip
Fix bat form unarmed delay display being randomised.
Diffstat (limited to 'crawl-ref/source/random-var.cc')
-rw-r--r--crawl-ref/source/random-var.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/crawl-ref/source/random-var.cc b/crawl-ref/source/random-var.cc
index 82d3b87d9a..04b19db0a1 100644
--- a/crawl-ref/source/random-var.cc
+++ b/crawl-ref/source/random-var.cc
@@ -155,6 +155,18 @@ random_var operator/(const random_var& x, int d)
return random_var(start, end, weights);
}
+random_var operator*(const random_var& x, int d)
+{
+ const int start = x.min() * d;
+ const int end = x.max() * d + 1;
+ vector<int> weights(end - start, 0);
+
+ for (int v = x.min(); v <= x.max(); ++v)
+ weights[v * d - start] = x.weight(v);
+
+ return random_var(start, end, weights);
+}
+
random_var div_rand_round(const random_var& x, int d)
{
const int start = x.min() / d;