diff options
-rw-r--r-- | crawl-ref/source/directn.cc | 14 | ||||
-rw-r--r-- | crawl-ref/source/monstuff.cc | 2 |
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; |