diff options
author | Brendan Hickey <brendan@bhickey.net> | 2012-10-16 21:27:28 -0700 |
---|---|---|
committer | Brendan Hickey <brendan@bhickey.net> | 2012-12-30 19:06:17 -0800 |
commit | ceaeeda02beb6381f8b589d13eff93e875139026 (patch) | |
tree | 21a3a945aab4942968a41f007347b87a62e973ec /crawl-ref/source/dgn-proclayouts.cc | |
parent | 269f91c6f83d72640cd192f0ba5d78404dabfa50 (diff) | |
download | crawl-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.cc | 13 |
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); |