summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/tilecell.cc
diff options
context:
space:
mode:
authorontoclasm <yokomeshi@gmail.com>2012-11-13 22:11:18 -0600
committerontoclasm <yokomeshi@gmail.com>2012-11-13 22:11:18 -0600
commit246f75f44f615cd8ee5edc1cd1bd000f0ecf0e68 (patch)
tree84d0436ddccce0dcb1990b80879bdc27048a610e /crawl-ref/source/tilecell.cc
parentda99b32b9c7a83b2810d56e89fa69870ce903ebf (diff)
downloadcrawl-ref-246f75f44f615cd8ee5edc1cd1bd000f0ecf0e68.tar.gz
crawl-ref-246f75f44f615cd8ee5edc1cd1bd000f0ecf0e68.zip
Sewer water (white_noise, 6074)
Diffstat (limited to 'crawl-ref/source/tilecell.cc')
-rw-r--r--crawl-ref/source/tilecell.cc26
1 files changed, 23 insertions, 3 deletions
diff --git a/crawl-ref/source/tilecell.cc b/crawl-ref/source/tilecell.cc
index 0434d78754..2de9402b7f 100644
--- a/crawl-ref/source/tilecell.cc
+++ b/crawl-ref/source/tilecell.cc
@@ -352,10 +352,10 @@ static void _pack_default_waves(const coord_def &gc, packed_cell *cell)
if (cell->mangrove_water && feat == DNGN_TREE)
feat = DNGN_SHALLOW_WATER;
- if (!feat_is_water(feat) && !feat_is_lava(feat) || env.grid_colours(gc))
+ if (!feat_is_water(feat) && !feat_is_lava(feat))
return;
- if (feat == DNGN_DEEP_WATER)
+ if (feat == DNGN_DEEP_WATER && !env.grid_colours(gc))
{
if (_is_seen_shallow(coord_def(gc.x, gc.y - 1)))
_add_overlay(TILE_DNGN_WAVE_N, cell);
@@ -375,12 +375,32 @@ static void _pack_default_waves(const coord_def &gc, packed_cell *cell)
_add_overlay(TILE_DNGN_WAVE_NW, cell);
}
+ // Sewer water
+ if (feat == DNGN_DEEP_WATER && env.grid_colours(gc) == GREEN)
+ {
+ if (_is_seen_shallow(coord_def(gc.x, gc.y - 1)))
+ _add_overlay(TILE_MURKY_WAVE_N, cell);
+ if (_is_seen_shallow(coord_def(gc.x + 1, gc.y - 1)))
+ _add_overlay(TILE_MURKY_WAVE_NE, cell);
+ if (_is_seen_shallow(coord_def(gc.x + 1, gc.y)))
+ _add_overlay(TILE_MURKY_WAVE_E, cell);
+ if (_is_seen_shallow(coord_def(gc.x + 1, gc.y + 1)))
+ _add_overlay(TILE_MURKY_WAVE_SE, cell);
+ if (_is_seen_shallow(coord_def(gc.x, gc.y + 1)))
+ _add_overlay(TILE_MURKY_WAVE_S, cell);
+ if (_is_seen_shallow(coord_def(gc.x - 1, gc.y + 1)))
+ _add_overlay(TILE_MURKY_WAVE_SW, cell);
+ if (_is_seen_shallow(coord_def(gc.x - 1, gc.y)))
+ _add_overlay(TILE_MURKY_WAVE_W, cell);
+ if (_is_seen_shallow(coord_def(gc.x - 1, gc.y - 1)))
+ _add_overlay(TILE_MURKY_WAVE_NW, cell);
+ }
bool north = _is_seen_land(coord_def(gc.x, gc.y - 1));
bool west = _is_seen_land(coord_def(gc.x - 1, gc.y));
bool east = _is_seen_land(coord_def(gc.x + 1, gc.y));
- if (north || west || east)
+ if (north || west || east && (!env.grid_colours(gc) || env.grid_colours(gc) == LIGHTGREEN))
{
if (north)
_add_overlay(TILE_SHORE_N, cell);