summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mutation.cc
diff options
context:
space:
mode:
authorNicholas Feinberg <pleasingfung@gmail.com>2014-06-08 21:51:58 -0700
committerNicholas Feinberg <pleasingfung@gmail.com>2014-06-08 21:51:58 -0700
commitca99efe20abc6533b4294e9609c1fb7edf055739 (patch)
treec043c96d1fed1824f3160cbe21da85e1070f0969 /crawl-ref/source/mutation.cc
parent1c207a585da3887fc3c0e005d752f8069775b038 (diff)
downloadcrawl-ref-ca99efe20abc6533b4294e9609c1fb7edf055739.tar.gz
crawl-ref-ca99efe20abc6533b4294e9609c1fb7edf055739.zip
Marginally improve some truly MT_BAD code
Diffstat (limited to 'crawl-ref/source/mutation.cc')
-rw-r--r--crawl-ref/source/mutation.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/crawl-ref/source/mutation.cc b/crawl-ref/source/mutation.cc
index 398127f767..a0cb198185 100644
--- a/crawl-ref/source/mutation.cc
+++ b/crawl-ref/source/mutation.cc
@@ -1083,8 +1083,10 @@ retry:
int cweight = random2(total_rarity[mt]);
for (unsigned i = 0; i < ARRAYSZ(mut_data); ++i)
{
- if (!mut_data[i].bad == mt)
+ // if the mut's badness isn't the kind we're looking for, skip it.
+ if (mut_data[i].bad != (mt == MT_BAD)) // sorry :(
continue;
+
if ((cweight -= mut_data[i].rarity) >= 0)
continue;