effects caused by the base type item as if they were randart properties.
Related changes:
Equpping or unequipping a ring of magical power or staff of power will give a message about mana capacity increasing/decreasing.
The randart property RAP_MAGICAL_POWER has been added. randart_wpn_property() doesn't yet give this to any randarts, but the rest of the code for it is in place.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2419 c06c8d41-db1a-0410-9941-cceddc491573
F42F3QNVICCXWPMNYL2QQJZNOVBVF4MXZUXNUC7KKYIRZ7R5HGPAC
5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC
KXHG3CHEUCZX6UZXAQG6QXPS6IRTIJWGGZWYVAMHWYYTCM4KBUSQC
7AWYHENXBDI4OLKU7JD56YAKT5RO6UZ67HEBNPOILXCIFW6BONRAC
SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
WCJ3KKMEOPOZWA5WQJAWRWFKKYUNY7IKS5ULUIBZ7DXT7F6MVAEQC
SN3VSV7G6NF6NLX5E47QJQQFDIPC2LQUUYGZMH6AWBF3FOUHXCBQC
2KTJHQUX2LTU2BCLS5YXVRRKMOYKKIZAPF2LBKORFGSHEN5IO3IAC
HFCPPPYI366EDKNBDGVNSAW76OGQA2NYTKLSP4LC3VYKHPLWFJ6QC
Z6XF4AIERIW4U4AR3HU2ILYFZ54IK4K4ORQ6JKCEWRO5LZODWDDAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
}
void randart_desc_properties( const item_def &item,
randart_properties_t &proprt,
randart_known_props_t &known )
{
randart_wpn_properties( item, proprt, known);
if ( item_ident( item, ISFLAG_KNOW_PROPERTIES ) )
return;
if (item.base_type != OBJ_JEWELLERY)
return;
randart_prop_type fake_rap = RAP_NUM_PROPERTIES;
int fake_plus = 1;
switch (item.sub_type)
{
case RING_INVISIBILITY:
fake_rap = RAP_INVISIBLE;
break;
case RING_TELEPORTATION:
fake_rap = RAP_CAUSE_TELEPORTATION;
break;
case RING_MAGICAL_POWER:
fake_rap = RAP_MAGICAL_POWER;
fake_plus = 9;
break;
case RING_LEVITATION:
fake_rap = RAP_LEVITATE;
break;
case AMU_RAGE:
fake_rap = RAP_BERSERK;
break;
}
if (fake_rap != RAP_NUM_PROPERTIES)
proprt[fake_rap] += fake_plus;
case RING_REGENERATION:
case RING_PROTECTION:
case RING_PROTECTION_FROM_FIRE:
case RING_POISON_RESISTANCE:
case RING_PROTECTION_FROM_COLD:
case RING_STRENGTH:
case RING_SLAYING:
case RING_SEE_INVISIBLE:
case RING_INVISIBILITY:
case RING_HUNGER:
case RING_EVASION:
case RING_SUSTAIN_ABILITIES:
case RING_DEXTERITY:
case RING_INTELLIGENCE:
case RING_LEVITATION:
case RING_LIFE_PROTECTION:
case RING_PROTECTION_FROM_MAGIC:
break;
ret += 13 * player_equip( EQ_STAFF, STAFF_POWER );
ret += 9 * player_equip( EQ_RINGS, RING_MAGICAL_POWER );
ret += 13 * player_equip( EQ_STAFF, STAFF_POWER );
ret += 9 * player_equip( EQ_RINGS, RING_MAGICAL_POWER );
ret += scan_randarts( RAP_MAGICAL_POWER );