summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/it_use2.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2007-09-10 15:05:31 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2007-09-10 15:05:31 +0000
commit6e2e9d806ac731c0e421e7bfb4ab5497ea73730b (patch)
tree995001419eef650a033bdf544d61735a2cc10992 /crawl-ref/source/it_use2.cc
parent9dc1f94fe89c3f426921ac5e32eb4cd79f8b73e2 (diff)
downloadcrawl-ref-6e2e9d806ac731c0e421e7bfb4ab5497ea73730b.tar.gz
crawl-ref-6e2e9d806ac731c0e421e7bfb4ab5497ea73730b.zip
Changed requirements for auto-identification of equipped
items, specifically jewellery and randarts. The goal of this change was to clear up the identification rules and apply them consistently. It was inspired by FR 1788698. * Like the ring of teleportation, =lev and "rage now only autoID if you do not wear/wield a randart with the same property. * Stat changes caused by randarts always give a message. * Other "obvious" changes give a message only if the randart has not been identified, to avoid message spam. (Obvious refers to attributes that would cause the item to be autoID'd if it were the appropriate sub type.) * Randarts do NOT autoID anymore just because you recognize the base type. On the whole, autoidentification becomes much rarer (thus both the scroll and the spell become more valuable). Yes, this might be too harsh. On the upside, the player is told about properties such as stat changes (including AC and EV) and all evokable abilities. We might even include information about items hindering or preventing spellcasting and teleportation, respectively, under the assumption that skilled spellcasters and chars with teleportitis or teleport control would notice. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2067 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/it_use2.cc')
-rw-r--r--crawl-ref/source/it_use2.cc24
1 files changed, 20 insertions, 4 deletions
diff --git a/crawl-ref/source/it_use2.cc b/crawl-ref/source/it_use2.cc
index c6cac55f36..955bd69e98 100644
--- a/crawl-ref/source/it_use2.cc
+++ b/crawl-ref/source/it_use2.cc
@@ -593,19 +593,35 @@ void unuse_randart(const item_def &item)
{
ASSERT( is_random_artefact( item ) );
+ const bool ident = fully_identified(item);
+
randart_properties_t proprt;
randart_wpn_properties( item, proprt );
if (proprt[RAP_AC])
+ {
you.redraw_armour_class = 1;
+ if (!ident)
+ {
+ mprf("You feel less %s.",
+ proprt[RAP_AC] > 0? "well-protected" : "vulnerable");
+ }
+ }
if (proprt[RAP_EVASION])
+ {
you.redraw_evasion = 1;
+ if (!ident)
+ {
+ mprf("You feel less %s.",
+ proprt[RAP_EVASION] > 0? "nimble" : "awkward");
+ }
+ }
- // modify ability scores
- modify_stat( STAT_STRENGTH, -proprt[RAP_STRENGTH], true );
- modify_stat( STAT_INTELLIGENCE, -proprt[RAP_INTELLIGENCE], true );
- modify_stat( STAT_DEXTERITY, -proprt[RAP_DEXTERITY], true );
+ // modify ability scores, always output messages
+ modify_stat( STAT_STRENGTH, -proprt[RAP_STRENGTH], false );
+ modify_stat( STAT_INTELLIGENCE, -proprt[RAP_INTELLIGENCE], false );
+ modify_stat( STAT_DEXTERITY, -proprt[RAP_DEXTERITY], false );
if (proprt[RAP_NOISES] != 0)
you.special_wield = SPWLD_NONE;