diff options
author | ennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-07-26 15:59:20 +0000 |
---|---|---|
committer | ennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-07-26 15:59:20 +0000 |
commit | 547124b71f53d6b64f31b029a19254c81e1cf7ac (patch) | |
tree | 60fa4f0acee116c65e5fafc4ddf40daf23b4fb70 /crawl-ref/source/directn.cc | |
parent | 64b430b8e7e9f913af35f3749514968665e15eef (diff) | |
download | crawl-ref-547124b71f53d6b64f31b029a19254c81e1cf7ac.tar.gz crawl-ref-547124b71f53d6b64f31b029a19254c81e1cf7ac.zip |
[2021074] Tiles cursor improvements.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6691 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/directn.cc')
-rw-r--r-- | crawl-ref/source/directn.cc | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc index 4e9ce1daf3..22e77a4540 100644 --- a/crawl-ref/source/directn.cc +++ b/crawl-ref/source/directn.cc @@ -1221,6 +1221,68 @@ void direction(dist& moves, targeting_type restricts, _extend_move_to_edge(moves); } +std::string get_terse_square_desc(const coord_def &gc) +{ + std::string desc; + const char *unseen_desc = "[unseen terrain]"; + bool is_feature = false; + if (gc == you.pos()) + { + desc = you.your_name; + } + else if (!map_bounds(gc)) + { + desc = unseen_desc; + } + else if (!see_grid(gc)) + { + if (is_terrain_seen(gc)) + { + desc = feature_description(gc, false, DESC_PLAIN, false); + if (!see_grid(gc)) + { + desc = "[" + desc + "]"; + } + is_feature = true; + } + else + { + desc = unseen_desc; + } + } + else if (mgrd(gc) != NON_MONSTER) + { + const monsters &mons = menv[mgrd(gc)]; + + if (mons_is_mimic(mons.type) && !(mons.flags & MF_KNOWN_MIMIC)) + { + item_def item; + get_mimic_item(&mons, item); + desc = item.name(DESC_PLAIN); + } + else + { + desc = mons.name(DESC_PLAIN); + if (mons.has_base_name()) + { + desc += ", "; + desc += mons.base_name(DESC_NOCAP_THE, false); + } + } + } + else if (igrd(gc) != NON_ITEM) + { + desc = mitm[igrd(gc)].name(DESC_PLAIN); + } + else + { + desc = feature_description(gc, false, DESC_PLAIN, false); + is_feature = true; + } + + return desc; +} + void terse_describe_square(const coord_def &c) { if (!see_grid(c)) |