summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/describe.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/describe.cc')
-rw-r--r--crawl-ref/source/describe.cc19
1 files changed, 17 insertions, 2 deletions
diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc
index 25a95d3f45..11892384bf 100644
--- a/crawl-ref/source/describe.cc
+++ b/crawl-ref/source/describe.cc
@@ -1878,8 +1878,23 @@ std::string get_item_description( const item_def &item, bool verbose,
break;
case OBJ_WANDS:
- if (item_ident( item, ISFLAG_KNOW_PLUSES ) && item.plus == 0)
- description << "Unfortunately, it has no charges left.";
+ if (item_type_known(item))
+ {
+ const int max_charges = 3 * wand_charge_value(item.sub_type);
+ if (item.plus < max_charges)
+ {
+ description << "$It can have at most " << max_charges
+ << " charges.";
+ }
+ else
+ description << "$It is fully charged.";
+ }
+
+ if (item_ident( item, ISFLAG_KNOW_PLUSES ) && item.plus == 0
+ || item.plus2 == ZAPCOUNT_EMPTY)
+ {
+ description << "$Unfortunately, it has no charges left.";
+ }
description << "$";
break;