diff options
Diffstat (limited to 'crawl-ref/source/mapdef.cc')
-rw-r--r-- | crawl-ref/source/mapdef.cc | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/crawl-ref/source/mapdef.cc b/crawl-ref/source/mapdef.cc index effde648fa..5eda9e7792 100644 --- a/crawl-ref/source/mapdef.cc +++ b/crawl-ref/source/mapdef.cc @@ -501,21 +501,27 @@ void map_lines::apply_grid_overlay(const coord_def &c) // Over-ride whatever property is already there. env.pgrid(gc) |= property; #ifdef USE_TILE - const int floor = (*overlay)(x, y).floortile; + int floor = (*overlay)(x, y).floortile; if (floor) { + if (colour) + floor = tile_dngn_coloured(floor, colour); int offset = random2(tile_dngn_count(floor)); env.tile_flv(gc).floor = floor + offset; } - const int rock = (*overlay)(x, y).rocktile; + int rock = (*overlay)(x, y).rocktile; if (rock) { + if (colour) + rock = tile_dngn_coloured(rock, colour); int offset = random2(tile_dngn_count(rock)); env.tile_flv(gc).wall = rock + offset; } - const int tile = (*overlay)(x, y).tile; + int tile = (*overlay)(x, y).tile; if (tile) { + if (colour) + tile = tile_dngn_coloured(tile, colour); int offset = random2(tile_dngn_count(tile)); if (grd(gc) == DNGN_FLOOR && !floor) env.tile_flv(gc).floor = tile + offset; @@ -3892,20 +3898,17 @@ item_spec item_list::parse_single_spec(std::string s) } } - if (s.find("damaged ") == 0) + if (strip_tag(s, "damaged")) { result.level = ISPEC_DAMAGED; - s = s.substr(8); } - if (s.find("cursed ") == 0) + if (strip_tag(s, "cursed")) { result.level = ISPEC_BAD; // damaged + cursed, actually - s = s.substr(7); } - if (s.find("randart ") == 0) + if (strip_tag(s, "randart")) { result.level = ISPEC_RANDART; - s = s.substr(8); } if (strip_tag(s, "no_uniq")) |