diff options
author | Steve Melenchuk <smelenchuk@gmail.com> | 2014-05-03 13:18:03 -0600 |
---|---|---|
committer | Steve Melenchuk <smelenchuk@gmail.com> | 2014-05-07 18:23:30 -0600 |
commit | e4cf6b8460b349504a6eefae741f52696ababeca (patch) | |
tree | 0bd88c4533b6ae789478b1239e79641e0f351c5e /crawl-ref/source/godpassive.cc | |
parent | c9cdf154e3776ca1ee45d7dc93632772c9cba26c (diff) | |
download | crawl-ref-e4cf6b8460b349504a6eefae741f52696ababeca.tar.gz crawl-ref-e4cf6b8460b349504a6eefae741f52696ababeca.zip |
More Q cloud generation tweaks.
Generate more clouds (because it's in a smaller area) and don't place
fire clouds next to water at all.
Diffstat (limited to 'crawl-ref/source/godpassive.cc')
-rw-r--r-- | crawl-ref/source/godpassive.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/crawl-ref/source/godpassive.cc b/crawl-ref/source/godpassive.cc index dc01ba6101..19e583a7af 100644 --- a/crawl-ref/source/godpassive.cc +++ b/crawl-ref/source/godpassive.cc @@ -722,14 +722,14 @@ void qazlal_storm_clouds() - piety_breakpoint(0)) * candidates.size() * you.time_taken / (piety_breakpoint(5) - piety_breakpoint(0)), - LOS_RADIUS * BASELINE_DELAY * 10); + LOS_RADIUS * BASELINE_DELAY); if (count < 0) return; shuffle_array(candidates); int placed = 0; for (unsigned int i = 0; placed < count && i < candidates.size(); i++) { - bool skip = false; + bool skip = false, water = false; for (adjacent_iterator ai(candidates[i]); ai; ++ai) { if (env.cgrid(*ai) != EMPTY_CLOUD) @@ -737,6 +737,8 @@ void qazlal_storm_clouds() skip = true; break; } + if (feat_is_watery(grd(*ai))) + water = true; } if (skip) continue; @@ -747,7 +749,7 @@ void qazlal_storm_clouds() { ctype = random_choose(CLOUD_FIRE, CLOUD_COLD, CLOUD_STORM, CLOUD_DUST_TRAIL, -1); - } while (feat_is_watery(grd(candidates[i])) && ctype == CLOUD_FIRE); + } while (water && ctype == CLOUD_FIRE); place_cloud(ctype, candidates[i], random_range(3, 5), &you); placed++; |