diff options
Diffstat (limited to 'crawl-ref/source')
-rw-r--r-- | crawl-ref/source/item_use.cc | 13 | ||||
-rw-r--r-- | crawl-ref/source/spl-book.cc | 18 |
2 files changed, 14 insertions, 17 deletions
diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc index 691ffb0217..11c92d1fbe 100644 --- a/crawl-ref/source/item_use.cc +++ b/crawl-ref/source/item_use.cc @@ -517,6 +517,19 @@ void wield_effects(int item_wield_2, bool showMsgs) // Right now that's always "uncursed". -- bwr set_ident_flags(item, ISFLAG_KNOW_CURSE); } + // Automatically identify rods; you can do this by wielding and then + // evoking them, so do it automatically instead. We don't need to give + // a message either, as the game will do that automatically. {due} + if (item_is_rod(item)) + { + if (!item_type_known(item)) + { + set_ident_type( OBJ_STAVES, item.sub_type, ID_KNOWN_TYPE ); + set_ident_flags( item, ISFLAG_KNOW_TYPE ); + } + if (!item_ident( item, ISFLAG_KNOW_PLUSES)) + set_ident_flags( item, ISFLAG_KNOW_PLUSES ); + } break; } diff --git a/crawl-ref/source/spl-book.cc b/crawl-ref/source/spl-book.cc index af1a551caa..66d9c9d194 100644 --- a/crawl-ref/source/spl-book.cc +++ b/crawl-ref/source/spl-book.cc @@ -1924,23 +1924,7 @@ int staff_spell( int staff ) return (-1); } - bool need_id = false; - if (!item_type_known(istaff)) - { - set_ident_type( OBJ_STAVES, istaff.sub_type, ID_KNOWN_TYPE ); - set_ident_flags( istaff, ISFLAG_KNOW_TYPE ); - need_id = true; - } - if (!item_ident( istaff, ISFLAG_KNOW_PLUSES)) - { - set_ident_flags( istaff, ISFLAG_KNOW_PLUSES ); - need_id = true; - } - if (need_id) - { - mprf(MSGCH_EQUIPMENT, "%s", istaff.name(DESC_INVENTORY_EQUIP).c_str()); - you.wield_change = true; - } + // ID code got moved to item_use::wield_effects. {due} const int num_spells = count_staff_spells(istaff, false); |