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.cc39
1 files changed, 24 insertions, 15 deletions
diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc
index 3f3be7e6c6..a2ba75be49 100644
--- a/crawl-ref/source/describe.cc
+++ b/crawl-ref/source/describe.cc
@@ -1116,7 +1116,7 @@ static std::string _describe_weapon(const item_def &item, bool verbose)
}
}
- if (!is_artefact(item))
+ if (!is_known_artefact(item))
{
if (item_ident( item, ISFLAG_KNOW_PLUSES )
&& item.plus >= MAX_WPN_ENCHANT && item.plus2 >= MAX_WPN_ENCHANT)
@@ -1440,7 +1440,7 @@ static std::string _describe_armour( const item_def &item, bool verbose )
}
}
- if (!is_artefact(item))
+ if (!is_known_artefact(item))
{
const int max_ench = armour_max_enchant(item);
if (item.plus < max_ench || !item_ident( item, ISFLAG_KNOW_PLUSES ))
@@ -1724,7 +1724,7 @@ bool is_dumpable_artefact( const item_def &item, bool verbose)
{
bool ret = false;
- if (is_artefact( item ) )
+ if (is_known_artefact( item ))
{
ret = item_ident( item, ISFLAG_KNOW_PROPERTIES );
}
@@ -1820,7 +1820,7 @@ std::string get_item_description( const item_def &item, bool verbose,
{
std::string db_name = item.name(DESC_DBNAME, true, false, false);
std::string db_desc = getLongDescription(db_name);
- if (!noquote && !is_artefact(item))
+ if (!noquote && !is_known_artefact(item))
{
const unsigned int lineWidth = get_number_of_cols();
const int height = get_number_of_lines();
@@ -2004,24 +2004,33 @@ std::string get_item_description( const item_def &item, bool verbose,
break;
case OBJ_STAVES:
- if (item_type_known(item))
+ if (item_is_rod( item ))
{
- if (item_is_rod( item ))
+ description <<
+ "$It uses its own mana reservoir for casting spells, and "
+ "recharges automatically by channeling mana from its "
+ "wielder.";
+
+ const int max_charges = MAX_ROD_CHARGE * ROD_CHARGE_MULT;
+ if (item_ident(item, ISFLAG_KNOW_PLUSES)
+ && item.plus2 >= max_charges && item.plus >= item.plus2)
{
- description <<
- "$It uses its own mana reservoir for casting spells, and "
- "recharges automatically by channeling mana from its "
- "wielder.";
+ description << "$It is fully charged.";
}
else
{
- description <<
- "$Damage rating: 7 Accuracy rating: +6 "
- "Attack delay: 120%";
-
- description << "$$It falls into the 'staves' category.";
+ description << "$It can have at most " << max_charges
+ << " charges.";
}
}
+ else
+ {
+ description <<
+ "$Damage rating: 7 Accuracy rating: +6 "
+ "Attack delay: 120%";
+
+ description << "$$It falls into the 'staves' category.";
+ }
break;
case OBJ_MISCELLANY: