summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/direct.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2007-09-05 00:05:57 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2007-09-05 00:05:57 +0000
commit8f913bcaf69f680eabc6bbdd2dff2afb311b4ffb (patch)
tree24917af02d19406c1c40203b26133a88e6804a8c /crawl-ref/source/direct.cc
parent288e44e2590d8791f0841a70ef50108582990278 (diff)
downloadcrawl-ref-8f913bcaf69f680eabc6bbdd2dff2afb311b4ffb.tar.gz
crawl-ref-8f913bcaf69f680eabc6bbdd2dff2afb311b4ffb.zip
Added two command hints: 'v'iewing for certain features,
and how to turn autopickup/autoprayer on again after an encounter with an invisible creature. I also modified selection of book shops, so the offered books are more likely to be different. This changes balance in that on the whole more books are present, so maybe we should simply throw duplicates out rather than reroll. Oh, and manuals are now even rarer than before. Maybe they should be excepted from this new rule. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2056 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/direct.cc')
-rw-r--r--crawl-ref/source/direct.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/crawl-ref/source/direct.cc b/crawl-ref/source/direct.cc
index 4d6515b94a..d4a35a4b97 100644
--- a/crawl-ref/source/direct.cc
+++ b/crawl-ref/source/direct.cc
@@ -1521,6 +1521,23 @@ static std::string marker_feature_description(const coord_def &p)
return ("");
}
+// Is a feature interesting enough to 'v'iew it, even if a player normally
+// doesn't care about descriptions, i.e. does the description hold important
+// information? (Yes, this is entirely subjective. JPEG)
+static bool interesting_feature(dungeon_feature_type feat)
+{
+ switch (feat)
+ {
+ case DNGN_ENTER_ORCISH_MINES:
+ case DNGN_ENTER_SLIME_PITS:
+ case DNGN_ENTER_LABYRINTH:
+// case DNGN_SPARKLING_FOUNTAIN:
+ return true;
+ default:
+ return false;
+ }
+}
+
std::string feature_description(int mx, int my, description_level_type dtype,
bool add_stop)
{
@@ -1862,6 +1879,9 @@ static void describe_cell(int mx, int my)
}
else
{
+ if (interesting_feature(grd[mx][my]))
+ feature_desc += " (Press 'v' for more information.)";
+
msg_channel_type channel = MSGCH_EXAMINE;
if (grd[mx][my] == DNGN_FLOOR
|| grd[mx][my] == DNGN_SHALLOW_WATER