summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/direct.cc
diff options
context:
space:
mode:
authorharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-11-08 16:55:18 +0000
committerharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-11-08 16:55:18 +0000
commit3bf9b714ff65b5ddfb27a318dae2d23baf34317a (patch)
treef94630a5f1fd03009f9193a846260ef25128c73e /crawl-ref/source/direct.cc
parenteaf7223fd1f012bbded158188eb5019d5fbf77b6 (diff)
downloadcrawl-ref-3bf9b714ff65b5ddfb27a318dae2d23baf34317a.tar.gz
crawl-ref-3bf9b714ff65b5ddfb27a318dae2d23baf34317a.zip
Fix for 1826891: x-examination reveals secret doors masquerading as
non-rock walls. They will now masquerade (to 'x') as walls of whatever type is nearby. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2815 c06c8d41-db1a-0410-9941-cceddc491573
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 ba35a626ce..994e5b463d 100644
--- a/crawl-ref/source/direct.cc
+++ b/crawl-ref/source/direct.cc
@@ -1748,7 +1748,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));
}