git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9853 c06c8d41-db1a-0410-9941-cceddc491573
5DVEY4UIOVCMGNKSSNGZBPGPJAVHDLDEVAPZ3EAM6OXPWTMGASGQC
TPJYUAKSEZMCCCJANJ5EQ7F67QVTPFEOWBD7WYK33NLRN657Y5VQC
Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC
F2X5SIIXWXXEL2FVMYDC4GL2ODZ4O7RA46U66VGJ5K2EZHHAQGUAC
7ZD4HJIUBFHJQDSBUMO7BKMORV4A7T5HU5X2ATM75SVSN7RIOWTQC
RXZRRWQZH7H3E66ENDI6WTSDDTC5F7MDGIMZTEDYDE4YCUQN4CSAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
SWE3F3BLKHYMJEJLXNFH3MR2E6VDEYXJ6DL7QLPP47BJEKEUCAMAC
3PBG6FJ6WGSR4UM3I7UQUYYCSYU3UBCKCIKYKUEEANIK72TUL4XAC
7X5YDPAU34LOFKEGJYE6GC7EOEDKGT3O6CUGZBYJI45L3FQOAKHQC
4M56FGNV3IDCB7I4H7TMK3EWSQKWEJ5Z2AKIMHED272TOB34DO4QC
// AutoID an equipped ring of teleport.
// Code copied from fire/ice in spl-cast.cc
void maybe_id_ring_TC()
{
if (player_mutation_level(MUT_TELEPORT_CONTROL))
return;
int num_unknown = 0;
for (int i = EQ_LEFT_RING; i <= EQ_RIGHT_RING; ++i)
{
if (player_wearing_slot(i)
&& !item_ident(you.inv[you.equip[i]], ISFLAG_KNOW_PROPERTIES))
{
++num_unknown;
}
}
if (num_unknown != 1)
return;
for (int i = EQ_LEFT_RING; i <= EQ_RIGHT_RING; ++i)
if (player_wearing_slot(i))
{
item_def& ring = you.inv[you.equip[i]];
if (!item_ident(ring, ISFLAG_KNOW_PROPERTIES)
&& ring.sub_type == RING_TELEPORT_CONTROL)
{
set_ident_type( ring.base_type, ring.sub_type, ID_KNOWN_TYPE );
set_ident_flags(ring, ISFLAG_KNOW_PROPERTIES);
mprf("You are wearing: %s",
ring.name(DESC_INVENTORY_EQUIP).c_str());
}
}
}