summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/item_use.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-08 21:53:05 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-08 21:53:05 +0000
commit7cc66e61e50963ba90a5db8db19cf75890d3c733 (patch)
treefa2ee702c472095c0c3c2326fd7920d02875e29a /crawl-ref/source/item_use.cc
parent8cbb227becdc172839b901aedf972022dc73118d (diff)
downloadcrawl-ref-7cc66e61e50963ba90a5db8db19cf75890d3c733.tar.gz
crawl-ref-7cc66e61e50963ba90a5db8db19cf75890d3c733.zip
Apply more commits into 0.4 branch, again mostly by Haran:
6950, 6954, 6959, 6962, 6963, 6965, 6968, 6970 (partly), 6997, 6998, 7001, 7061, 7065, 7071, 7132 (partly), 7174, 7186, 7213, 7233, 7268, 7268, 7293, 7319, 7339, 7358, 7393 (partly) * Tweak a few monster flags. * Fix autoswapping jewellery taking longer than manual swapping. * Fix crash when attempting to create nonexisting monster in wizmode. * Make ego armour descriptions follow abbreviation guidelines. * Fixed buggy monster movement away from the player. * Disabled traps in the Abyss. * Fixed a few other minor bugs, and improves messaging. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup-0.4@7788 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/item_use.cc')
-rw-r--r--crawl-ref/source/item_use.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc
index 32be70e0d3..eb429cd7b1 100644
--- a/crawl-ref/source/item_use.cc
+++ b/crawl-ref/source/item_use.cc
@@ -91,7 +91,7 @@ static bool _fire_validate_item(int selected, std::string& err);
// Rather messy - we've gathered all the can't-wield logic from wield_weapon()
// here.
-bool can_wield(const item_def *weapon, bool say_reason,
+bool can_wield(item_def *weapon, bool say_reason,
bool ignore_temporary_disability)
{
#define SAY(x) if (say_reason) { x; } else
@@ -172,7 +172,18 @@ bool can_wield(const item_def *weapon, bool say_reason,
if ((you.is_undead || you.species == SP_DEMONSPAWN)
&& (weap_brand == SPWPN_HOLY_WRATH || is_blessed_blade(*weapon)))
{
- SAY(mpr("This weapon will not allow you to wield it."));
+ if (say_reason)
+ {
+ mpr("This weapon is holy and will not allow you to wield it.");
+ // If it's a standard weapon, you know its ego now.
+ if (!is_artefact(*weapon) && !is_blessed_blade(*weapon)
+ && !item_type_known(*weapon))
+ {
+ set_ident_flags(*weapon, ISFLAG_KNOW_TYPE);
+ if (in_inventory(*weapon))
+ mpr(weapon->name(DESC_INVENTORY_EQUIP).c_str());
+ }
+ }
return (false);
}