diff options
author | Raphael Langella <raphael.langella@gmail.com> | 2013-02-04 00:35:59 +0100 |
---|---|---|
committer | Raphael Langella <raphael.langella@gmail.com> | 2013-02-04 00:35:59 +0100 |
commit | e7b8e4d77caa2b4cba42ba8a9d2d6cd32822eac9 (patch) | |
tree | e9f47d5de895b9179aed3c6de2d7f0eab2f75adf /crawl-ref/source/random-var.cc | |
parent | 9811db10b4ccd85d4a5d15f200bc245e89c8421c (diff) | |
download | crawl-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.cc | 12 |
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; |