… and Sif Muna finally gets those other titles.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2007 c06c8d41-db1a-0410-9941-cceddc491573
Q4YYTFXYZUDBYWT37U354CJOAQMAAIWM5W72TAEGMEUKZIUZBMGAC 2BTN774TDEFKS7L23YNEDQJSLSUWWKXPC5GA73ZGKLCKDHVEWSJAC Z6XF4AIERIW4U4AR3HU2ILYFZ54IK4K4ORQ6JKCEWRO5LZODWDDAC 7NDXS36TE7QVXTXJWMYSVG5UHCCLPIO4VL6NXFGTDK3ZNKE3A2IAC 77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC ESWIM76FGJL4QFLSHU6AC4D74PT7OPLQ7ZCJYWLZS5UCBAJDXYHAC U3KGUJJQWQORJIIFH3ADVNIEEX5HOX6KEOXO7DJSL7L3Z6GG3PAQC RCU52DRCPWJVQ6HME4QR6V6EVQWTBKZTPWDI47UGUDAUBPOO5YNAC 6HQB2N6N75R2RGKJFWRUN7WAC2PNGWQFXTII5DTRLTHZ2BOTMTVAC XRZPPYWPWUOM4SFNI6BHKH2UKJQNLKOV6Y7XIEPEZXE5QYRT26PAC TRNEOO3YKZSUGYTJZDDXZTJFQJXY6PWKBDJXAOLY3FZAD6WHTUTQC 5Z6ZTK37C3X2YBHO2HX3ULMCHKQXDUDMX4TUIRCBTTP2IQ57BVQAC IHIJSWVOONSTA2WCHKW3YKBLETUQECFVBVLMET5SGQZ4C6U3GCUQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC X6JIHUW4GZTWTNA7U6TTHRO4P2I7GNSS7TQDPQWVTIHBIG4NVWXQC LZBHBSCXDX2JKU2BSO5QP3WDHFIGHPXK4CKUZV6FWYDRFWLQK26QC CQ24AVAI6SW3AHTIDMLPSTRRBEU6FHRF5I5FD6G5QIYE6PO4BQMQC << "'<magenta>). You can read it by typing <w>r<magenta>, ""memorise spells via <w>M<magenta> and cast a memorised ""spell with <w>Z<magenta>.";
<< "'<magenta>) that you can read by typing <w>r<magenta>. ""If it's a spellbook you'll then be able to memorise ""spells via <w>M<magenta> and cast a memorised spell with ""<w>Z<magenta>.";
if (you.religion == GOD_TROG){more();text << "\n\nAs a worshipper of "<< god_name(GOD_TROG)<< ", though, you might instead wish to burn this tome of ""hated magic by using the corresponding ""<w>a<magenta>bility.";}text << "\nDuring the tutorial you can reread this information at ""any time by <w>v<magenta>iewing the item in question.";
"Use <w>w<magenta> to wield it, but be aware that this weapon ""might train a different skill from your current one. You can ""view the weapon's properties with <w>v<magenta>.";
"Use <w>w<magenta> to wield it, but be aware that this weapon ""might train a different skill from your current one. You can ""view the weapon's properties with <w>v<magenta>.";
case DNGN_CLOSED_DOOR:ostr << "You can open it by walking into it.";Options.tutorial_events[TUT_SEEN_DOOR];break;case DNGN_OPEN_DOOR:ostr << "You can close an open door if you stand next to it while ""the doorway's empty, and then press <w>c<magenta> followed ""by the direction of the door.";Options.tutorial_events[TUT_SEEN_DOOR];break;
if (you.level_type == LEVEL_DUNGEON && level_diff >= 0)
if (mons_is_unique(mons->type)){ostr << "Did you think you were the only adventurer in the dungeon? ""Well, you thought wrong! These unique adversaries often ""possess skills that normal monster wouldn't, so be careful.";}else if(mons->type == MONS_PLAYER_GHOST){ostr << "The ghost of a deceased adventurer, it would like nothing ""better than to send you the same way.";}else
ostr << "This kind of monster is usually only encountered "<< (level_diff > 5 ? "much " : "")<< "deeper in the dungeon, so it's probably "<< (level_diff > 5 ? "extremely" : "very")<< " dangerous!\n\n";
int level_diff= mons_level(mons->type) - (you.your_level + Options.ood_interesting);if (you.level_type == LEVEL_DUNGEON && level_diff >= 0){ostr << "This kind of monster is usually only encountered "<< (level_diff > 5 ? "much " : "")<< "deeper in the dungeon, so it's probably "<< (level_diff > 5 ? "extremely" : "very")<< " dangerous!\n\n";}
return false;}bool gives_resistance( const item_def &item ){if (!item_type_known(item))return false;switch (item.base_type){case OBJ_WEAPONS:{// unwielded weaponitem_def *weap = you.slot_item(EQ_WEAPON);if (!weap || (*weap).slot != item.slot)return false;break;}case OBJ_JEWELLERY:{if (item.sub_type < NUM_RINGS){// 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;}if (item.sub_type >= RING_PROTECTION_FROM_FIRE&& item.sub_type <= RING_PROTECTION_FROM_COLD|| item.sub_type == RING_SEE_INVISIBLE|| item.sub_type >= RING_LIFE_PROTECTION&& item.sub_type <= RING_TELEPORT_CONTROL|| item.sub_type == RING_TELEPORTATION|| item.sub_type == RING_SUSTAIN_ABILITIES){return true;}}else{// unworn amuletitem_def *amul = you.slot_item(EQ_AMULET);if (!amul || (*amul).slot != item.slot)return false;if (item.sub_type != AMU_RAGE && item.sub_type != AMU_INACCURACY)return true;}break;}case OBJ_ARMOUR:{const equipment_type eq = get_armour_slot(item);if (eq == EQ_NONE)return false;// unworn armouritem_def *arm = you.slot_item(eq);if (!arm || (*arm).slot != item.slot)return false;break;const int ego = get_armour_ego_type( item );if (ego >= SPARM_FIRE_RESISTANCE && ego <= SPARM_SEE_INVISIBLE|| ego == SPARM_RESISTANCE || ego == SPARM_POSITIVE_ENERGY){return true;}}case OBJ_STAVES:{// unwielded weaponitem_def *weap = you.slot_item(EQ_WEAPON);if (!weap || (*weap).slot != item.slot)return false;if (item.sub_type >= STAFF_FIRE && item.sub_type <= STAFF_POISON|| item.sub_type == STAFF_AIR){return true;}return false;}default:return false;}if (!is_random_artefact(item))return false;// check for randart resistancesfor (int rap = RAP_FIRE; rap <= RAP_CAN_TELEPORT; rap++){if (rap == RAP_MAGIC || rap >= RAP_INVISIBLE && rap != RAP_CAN_TELEPORT)continue;if (randart_wpn_property( item, rap ))return true;}
if ( isalpha(select) ){const int invidx = letter_to_index(select);if ( is_valid_item(you.inv[invidx]) )describe_item( you.inv[invidx], true );}
if ( isalpha(select) ){const int invidx = letter_to_index(select);if ( is_valid_item(you.inv[invidx]) )describe_item( you.inv[invidx], true );}else break;}