summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/itemname.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/itemname.cc')
-rw-r--r--crawl-ref/source/itemname.cc17
1 files changed, 14 insertions, 3 deletions
diff --git a/crawl-ref/source/itemname.cc b/crawl-ref/source/itemname.cc
index 52391af499..1b6688c1cb 100644
--- a/crawl-ref/source/itemname.cc
+++ b/crawl-ref/source/itemname.cc
@@ -1785,12 +1785,23 @@ item_type_id_state_type get_ident_type(object_class_type basetype, int subtype)
return ID_UNKNOWN_TYPE;
}
+class DiscEntry : public InvEntry
+{
+public:
+ DiscEntry(InvEntry* inv) : InvEntry(*inv->item)
+ {
+ }
+
+ virtual std::string get_text() const
+ {
+ return std::string(" ") + item->name(DESC_PLAIN);
+ }
+};
+
static MenuEntry *discoveries_item_mangle(MenuEntry *me)
{
InvEntry *ie = dynamic_cast<InvEntry*>(me);
- MenuEntry *newme = new MenuEntry;
- newme->text = std::string(" ") + ie->item->name(DESC_PLAIN);
- newme->quantity = 0;
+ DiscEntry *newme = new DiscEntry(ie);
delete me;
return (newme);