summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/directn.cc14
-rw-r--r--crawl-ref/source/monstuff.cc2
2 files changed, 14 insertions, 2 deletions
diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc
index 80077397b1..d09e40c902 100644
--- a/crawl-ref/source/directn.cc
+++ b/crawl-ref/source/directn.cc
@@ -454,6 +454,17 @@ void full_describe_view()
// Grab all items known (or thought) to be in the stashes in view.
for (radius_iterator ri(you.pos(), LOS_RADIUS); ri; ++ri)
{
+ const monsters *mon = monster_at(*ri);
+ const bool unknown_mimic =
+ (mon && mons_is_mimic(mon->type) && !mons_is_known_mimic(mon));
+
+ if (unknown_mimic) // It'll be on top.
+ {
+ item_def item;
+ get_mimic_item(mon, item);
+ list_items.push_back(item);
+ }
+
const int oid = igrd(*ri);
if (oid == NON_ITEM)
continue;
@@ -462,7 +473,8 @@ void full_describe_view()
{
// On levels with no stashtracker, you can still see the top
// item.
- list_items.push_back(mitm[oid]);
+ if (!unknown_mimic)
+ list_items.push_back(mitm[oid]);
}
else
{
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index fb1be02ae6..207d028900 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -114,7 +114,7 @@ void get_mimic_item( const monsters *mimic, item_def &item )
item.quantity = 1;
item.plus = 0;
item.plus2 = 0;
- item.pos = mimic->pos();
+ item.pos = mimic->pos();
item.link = NON_ITEM;
int prop = 127 * mimic->pos().x + 269 * mimic->pos().y;