Note items which give abilities or resistances even if they're not equipped.
Don't give conjurers the item note about heavy armour for non-body armour, but do give a note about shields making casting harder.
Miscellaneous other improvements.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9812 c06c8d41-db1a-0410-9941-cceddc491573
2D6QENGAEM7WKV3OWDBOWIEBKPHWO7MCV6VOM52GR3FNNWBZ57JAC E4TSDW2JQI5ZHGUKO5TJG2FBICUL47HF5INLCV7UAXTUPSVGXVBAC WXWLZ6GPVBE7EMFUDIEFBLXRB7D7TNQMCZDAB6FGACH5D7FJ2LZQC QXD3HX6QQ37PW6HVKIIKGFLO2ACROLUGKK66KFX7ED6SO4FDXB2AC 77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC LS5XCCGKQHSJQGWLWLGTP2F5OYWK4ND5AQQAGRN6H2HVBSXNCCZAC JBZ7NU4BB5PGQWCOSZHD5OQUHQIVOD4XGJLSJQ7BUGQEGPRTVGZQC Z6XF4AIERIW4U4AR3HU2ILYFZ54IK4K4ORQ6JKCEWRO5LZODWDDAC ESWIM76FGJL4QFLSHU6AC4D74PT7OPLQ7ZCJYWLZS5UCBAJDXYHAC 467AWA4ZIVLXCJAAYRP5EZUF2YEM6QPRSLYIUBQ65GQ4DXQYX3UAC ACDPN464TK2LKLHSDN3YVRHAPF7WLSLLU3UHIYEXKFDEZPEU3XSQC Q4YYTFXYZUDBYWT37U354CJOAQMAAIWM5W72TAEGMEUKZIUZBMGAC NK2TBKWOQBD2ZRGAO4Z3HMZPIN7UX3HNUS2YHEIJUUINUTRMPODQC S34LKQDIQJLIWVIPASOJBBZ6ZCXDHP5KPS7TRBZJSCDRVNCLK6UAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC 3ZWALZFSTSIVYXY4BAY6ANGINTDACZC6RSSJTEMQSTSUIE66YOBQC "you've picked up. Darts can be thrown by hand, but other ""missile types like arrows and needles require a launcher ""and training in using it to be really effective. "
"you've picked up. Darts and throwing nets can be thrown by ""by hand, but other missile types like arrows and needles ""require a launcher and training in using it to be really ""effective. "
text << " Note that casting spells is still very much possible.";
text << " Note that casting spells is still very much possible, ""as is using wands, scrolls and potions.";elsetext << " Note that using wands, scrolls and potions is still ""very much possible.";
return ("To do this, enter the ability menu with <w>a</w>, and then "
std::string str = "To do this, ";if (!item_is_equipped(item)){switch(item.base_type){case OBJ_WEAPONS: str += "first <w>w</w>ield it"; break;case OBJ_ARMOUR: str += "first <w>W</w>ear it"; break;case OBJ_JEWELLERY: str += "first <w>P</w>ut it on"; break;default:str += "<r>(BUG! this item shouldn't give an ability)</r>";break;}str += ", then ";}str += "enter the ability menu with <w>a</w>, and then "
ostr << "\nWhen worn, some types of armour (such as this ""one) offer certain abilities you can activate. ";ostr << _tut_abilities();
ostr << "\n\nWhen worn, some types of armour (such as ""this one) offer certain abilities you can ""activate. ";ostr << _tut_abilities(item);
// unworn ringitem_def *lring = you.slot_item(EQ_LEFT_RING);item_def *rring = you.slot_item(EQ_RIGHT_RING);if ((!lring || lring->slot != item.slot)&& (!rring || rring->slot != item.slot)){return (false);}
// unworn amuletitem_def *amul = you.slot_item(EQ_AMULET);if (!amul || amul->slot != item.slot)return (false);
// unworn armouritem_def *arm = you.slot_item(eq);if (!arm || arm->slot != item.slot)return (false);
if (ego == SPARM_DARKNESS || ego == SPARM_LEVITATION)return (true);
// unworn ringconst item_def *lring = you.slot_item(EQ_LEFT_RING);const item_def *rring = you.slot_item(EQ_RIGHT_RING);if ((!lring || lring->slot != item.slot)&& (!rring || rring->slot != item.slot)){return (false);}
// unworn amuletconst item_def *amul = you.slot_item(EQ_AMULET);if (!amul || amul->slot != item.slot)return (false);
{// unwielded staffitem_def *weap = you.slot_item(EQ_WEAPON);if (!weap || weap->slot != item.slot)return (false);