More consistency in type-ID vs. artefacts: knowing the type-ID of a specific ring won't property-ID or type-ID an artefact ring of the same type, and vice versa.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1781 c06c8d41-db1a-0410-9941-cceddc491573
OQ4KB7QCJSK7GSW3DYBARH4DCB75HFKLUSOSOZZZ4IUFKNGFRUDQC CFMZHVC5HEHL2GCHYFUMAEZUUQBM5UB4VOZOTDGUOWFV3NWAU3HAC U4TYV7RSO64WBA2J5AEMJRHJBIPMVFTWRCVJMP5XVSII3V465P4AC LBIXGRQC64MEHG7L74PCGU3EXD3WVUCDR7DHEHCI5OCOJAXSA7PQC KTXVWUS3MNY7WCPUYZDDU3RVLFKKFLSWRCWKSDNYNMPYZQCVJ24AC V32K3LIICYQ2JEQ7BW62IEPVG2NSUAURMKTAVNSXLYCZ66CLDUUQC 4RFKVDJKTCRBZU6WPJ2E5OVI5IRPY3UTRPOBLC5QHY4CQJJTLZKQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC M7UBBA4B6VWC4UDEJWOYB3VW7QCLRKJHOKVRJE6JFZW3JSMQCYTAC CIPVRZGLOZHCERK6YPOBV3P2E4IAB4H6D5EHLRQE2O5E4P4VCBUAC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC HDLNRHAMFVDM4QCZMY6COBYZ35ODPR5PONT4UE77UAZ7GEE2FLHQC 2KTJHQUX2LTU2BCLS5YXVRRKMOYKKIZAPF2LBKORFGSHEN5IO3IAC 4GGNXCX2CLKWQZIZT543LXFFKFRD4PY5XPJFLGWKW4ACKYZNLVPQC VNHFP63ZLLZU3A3PLXP4BITX57DUIYDHFOHQYK3BOBHV3S64G26QC 77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC YCL3W2PFE6ILTGBFODCSXNPDIA46KVSZP2TI7HDMYAOEJT65RIEAC IHIJSWVOONSTA2WCHKW3YKBLETUQECFVBVLMET5SGQZ4C6U3GCUQC QVVC7AYGVA6U64PTNA7L27422NLMO327P22BQKXEVIMPZHIHO7MQC H3552BCIAVBLKAYKE4DHFLBLFW5RGRMYBMRRYHYEB5IPIJRUVU5QC describe_item( mitm[shop_items[ft]] );
// A hack to make the description more useful.// In theory, the user could kill the process at this// point and end up with valid ID for the item.// That's not very useful, though, because it doesn't set// type-ID and once you can access the item (by buying it)// you have its full ID anyway. Worst case, it won't get// noted when you buy it.item_def& item = mitm[shop_items[ft]];const unsigned long old_flags = item.flags;if ( id_stock )item.flags |= ISFLAG_IDENT_MASK;describe_item(item);if ( id_stock )item.flags = old_flags;
switch ( basetype ){case OBJ_SCROLLS:return type_ids[IDTYPE_SCROLLS][subtype] == ID_TRIED_TYPE;case OBJ_POTIONS:return type_ids[IDTYPE_POTIONS][subtype] == ID_TRIED_TYPE;case OBJ_WANDS:return type_ids[IDTYPE_WANDS][subtype] == ID_TRIED_TYPE;default:return false;}}
// Well, if we ever put in scroll or potion artefacts, this// might be necessary...if ( is_artefact(item) )return false;const item_type_id_type idt = objtype_to_idtype(item.base_type);if (idt != NUM_IDTYPE && item.sub_type < 50)return ( type_ids[idt][item.sub_type] == ID_TRIED_TYPE );elsereturn false;}
if (you.inv[item_slot].sub_type == WAND_HASTING|| you.inv[item_slot].sub_type == WAND_HEALING|| you.inv[item_slot].sub_type == WAND_INVISIBILITY)
if (wand.sub_type == WAND_HASTING|| wand.sub_type == WAND_HEALING|| wand.sub_type == WAND_INVISIBILITY)
if (get_ident_type( you.inv[item_slot].base_type,you.inv[item_slot].sub_type ) != ID_KNOWN_TYPE){set_ident_type( you.inv[item_slot].base_type,you.inv[item_slot].sub_type, ID_KNOWN_TYPE );mpr(you.inv[item_slot].name(DESC_INVENTORY_EQUIP).c_str());// update if wieldingif (you.equip[EQ_WEAPON] == item_slot)you.wield_change = true;}
set_ident_type( wand.base_type, wand.sub_type, ID_KNOWN_TYPE );mpr(wand.name(DESC_INVENTORY_EQUIP).c_str());
you.inv[item_slot].plus,(you.inv[item_slot].plus == 1) ? "" : "s" );set_ident_flags( you.inv[item_slot], ISFLAG_KNOW_PLUSES );
wand.plus, (wand.plus == 1) ? "" : "s" );set_ident_flags( wand, ISFLAG_KNOW_PLUSES );