summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dgn-proclayouts.cc
diff options
context:
space:
mode:
authorBrendan Hickey <brendan@bhickey.net>2012-10-16 21:27:28 -0700
committerBrendan Hickey <brendan@bhickey.net>2012-12-30 19:06:17 -0800
commitceaeeda02beb6381f8b589d13eff93e875139026 (patch)
tree21a3a945aab4942968a41f007347b87a62e973ec /crawl-ref/source/dgn-proclayouts.cc
parent269f91c6f83d72640cd192f0ba5d78404dabfa50 (diff)
downloadcrawl-ref-ceaeeda02beb6381f8b589d13eff93e875139026.tar.gz
crawl-ref-ceaeeda02beb6381f8b589d13eff93e875139026.zip
Abyss Changes
* Fix abyss level teleports. * Remove lava (smoke is annoying) * Add giants * Change layout switching scale
Diffstat (limited to 'crawl-ref/source/dgn-proclayouts.cc')
-rw-r--r--crawl-ref/source/dgn-proclayouts.cc13
1 files changed, 6 insertions, 7 deletions
diff --git a/crawl-ref/source/dgn-proclayouts.cc b/crawl-ref/source/dgn-proclayouts.cc
index 600a23d228..23c8d2a1fb 100644
--- a/crawl-ref/source/dgn-proclayouts.cc
+++ b/crawl-ref/source/dgn-proclayouts.cc
@@ -42,8 +42,8 @@ dungeon_feature_type _pick_pseudorandom_wall(uint64_t val)
dungeon_feature_type _pick_pseudorandom_feature(uint64_t val)
{
- if (val%2)
- return _pick_pseudorandom_wall(val/2);
+ if (!(val%5))
+ return _pick_pseudorandom_wall(val/5);
dungeon_feature_type features[] = {
DNGN_STONE_WALL,
DNGN_STONE_WALL,
@@ -53,9 +53,8 @@ dungeon_feature_type _pick_pseudorandom_feature(uint64_t val)
DNGN_SHALLOW_WATER,
DNGN_SHALLOW_WATER,
DNGN_DEEP_WATER,
- DNGN_LAVA
};
- return features[(val/2)%9];
+ return features[(val/5)%9];
}
ProceduralSample
@@ -111,8 +110,8 @@ WorleyLayout::operator()(const coord_def &p, const uint32_t offset) const
const uint32_t changepoint = offset + _get_changepoint(n, offset_scale);
const uint8_t size = layouts.size();
- bool parity = n.id[0] % 3;
- uint32_t id = n.id[0] / 3;
+ bool parity = n.id[0] % 4;
+ uint32_t id = n.id[0] / 4;
const uint8_t choice = parity
? id % size
: min(id % size, (id / size) % size);
@@ -195,7 +194,7 @@ NewAbyssLayout::operator()(const coord_def &p, const uint32_t offset) const
if (isWall)
{
int fuzz = (base / 3) % 3 ? 0 : (base / 9) % 3 - 1;
- feat = _pick_pseudorandom_feature(noise.id[0] + fuzz);
+ feat = _pick_pseudorandom_wall(noise.id[0] + fuzz);
}
return ProceduralSample(p, feat, offset + delta);