From b4d50875d584b6b65964e57a45f3a9e0a59a465c Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Wed, 6 Aug 2008 21:37:37 +0000 Subject: Automatically inscribe randart weapons/armour with their properties when wielding/wearing it for the first time. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6786 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/delay.cc | 11 +++++++++-- crawl-ref/source/item_use.cc | 2 ++ crawl-ref/source/shopping.cc | 11 ++++++++--- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/crawl-ref/source/delay.cc b/crawl-ref/source/delay.cc index d5e2809544..fd1f3eac7b 100644 --- a/crawl-ref/source/delay.cc +++ b/crawl-ref/source/delay.cc @@ -19,6 +19,7 @@ #include "command.h" #include "database.h" #include "delay.h" +#include "describe.h" #include "enum.h" #include "food.h" #include "invent.h" @@ -1244,11 +1245,17 @@ static void _armour_wear_effects(const int item_slot) { item_def &arm = you.inv[item_slot]; + const bool was_known = item_type_known(arm); set_ident_flags(arm, ISFLAG_EQ_ARMOUR_MASK ); + if (Options.autoinscribe_randarts && is_random_artefact( arm ) + && !was_known) + { + add_autoinscription( arm, randart_auto_inscription(arm)); + } mprf("You finish putting on %s.", arm.name(DESC_NOCAP_YOUR).c_str()); - const equipment_type eq_slot = get_armour_slot(arm); - const bool known_cursed = item_known_cursed(arm); + const equipment_type eq_slot = get_armour_slot(arm); + const bool known_cursed = item_known_cursed(arm); if (eq_slot == EQ_BODY_ARMOUR) { diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc index 7b6c27254b..d19029aea2 100644 --- a/crawl-ref/source/item_use.cc +++ b/crawl-ref/source/item_use.cc @@ -552,6 +552,8 @@ void wield_effects(int item_wield_2, bool showMsgs) { i_dam = randart_wpn_property(item, RAP_BRAND); use_randart(item_wield_2); + if (Options.autoinscribe_randarts && !was_known) + add_autoinscription( item, randart_auto_inscription(item)); } else { diff --git a/crawl-ref/source/shopping.cc b/crawl-ref/source/shopping.cc index 2a49378611..e66c31f602 100644 --- a/crawl-ref/source/shopping.cc +++ b/crawl-ref/source/shopping.cc @@ -58,7 +58,6 @@ static void _shop_more() cgotoxy(65, 20, GOTO_CRT); cprintf("-more-"); get_ch(); - return; } static std::string _hyphenated_suffix(char prev, char last) @@ -177,7 +176,7 @@ static std::string _shop_print_stock( const std::vector& stock, // * yellow, if this item would be purchasable if you deselected // something else. - // Is this too complicated? + // Is this too complicated? (jpeg) if (total_cost > you.gold && selected[i]) textcolor(LIGHTRED); @@ -377,6 +376,12 @@ static void _in_a_shop( int shopidx ) take_note(Note(NOTE_BUY_ITEM, gp_value, 0, item.name(DESC_NOCAP_A).c_str())); + // But take no further similar notes. + item.flags |= ISFLAG_NOTED_GET; + + if (fully_identified(item)) + item.flags |= ISFLAG_NOTED_ID; + quant = item.quantity; num_items += quant; @@ -881,7 +886,7 @@ unsigned int item_value( item_def item, bool ident ) // elf/dwarf if (get_equip_race(item) == ISFLAG_ELVEN - || get_equip_race(item) == ISFLAG_DWARVEN) + || get_equip_race(item) == ISFLAG_DWARVEN) { valued *= 12; valued /= 10; -- cgit v1.2.3-54-g00ecf