summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/direct.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/direct.cc')
-rw-r--r--crawl-ref/source/direct.cc15
1 files changed, 14 insertions, 1 deletions
diff --git a/crawl-ref/source/direct.cc b/crawl-ref/source/direct.cc
index 9e42a92e8d..96f8fc2d6b 100644
--- a/crawl-ref/source/direct.cc
+++ b/crawl-ref/source/direct.cc
@@ -1578,7 +1578,20 @@ std::string feature_description(int mx, int my, description_level_type dtype,
return (feature_do_grammar(
dtype, add_stop, false,
marker_feature_description(coord_def(mx, my))));
-
+ case DNGN_SECRET_DOOR:
+ {
+ // If we have neighbouring walls, try to look like them.
+ // Arguably we should go by our own colour, but well...
+ for ( int dx = -1; dx <= 1; ++dx )
+ for ( int dy = -1; dy <= 1; ++dy )
+ {
+ const dungeon_feature_type neighbour = grd[mx+dx][my+dy];
+ if ( grid_is_wall(neighbour) )
+ return feature_description(neighbour, NUM_TRAPS,
+ dtype, add_stop);
+ }
+ return (feature_description(grid, NUM_TRAPS, dtype, add_stop));
+ }
default:
return (feature_description(grid, NUM_TRAPS, dtype, add_stop));
}