spells behind glass.
Fixed 2174517: V giving information about unknown items in stashes.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8128 c06c8d41-db1a-0410-9941-cceddc491573
UQ4P6W76CTKR2MQNH3EWPS4QPDXE3YRLJRR6744ZJJ32XKYPXQQQC F3STYUG6GEHXQX54YE6ZXXDJE3HWJ77SKHPL3F4GNKOQ43MEIRJQC 6ZBNP5FQRPWMZYXUO6N7RW5ZN7TJCYYLBNMHYYVSPXCYRQFCQ6YAC SQEDRNEA7TOPFLWDDPQ65BJDOZAARVFHNMCWQG2SWDXP4W5Z3CLAC XJZL4V5XSLQHMETU66KRZNZNVWORAYXTQZ6O72ZGY2ZRX4WOQWCQC SN6VBL74VP6PW6H43QYGEDJWO5BHWOXHI6THVMCE75QJ37EM5BPAC ILOED4VB4I6VPAUTR75ZWX6MXDYXB5DO2EDK2UH67O3HNKWV23RQC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC MV5USMLTBKVRWBAD67UFJ2BS4Y5HEOMYASRSB44DS24BBMRP75RQC 547JREUJXTZNYVGHNNAET5F5O5JYYGNTDQB6ABZNT7YX5EY64OHAC SIDH2P7NBIG5KEOE27XHD3ZT2NQ2OJZFN6VZXWNWYFFY5YVXSSVQC 3TNMXC6XG723NP5RJDQS3ONETVCXPTZXOG3YTDFT2JKKGLCYL7WAC S34LKQDIQJLIWVIPASOJBBZ6ZCXDHP5KPS7TRBZJSCDRVNCLK6UAC CHO4U5JC3RNTLXVIDXXJYZMOBZJ4VXW2GVJWDOTBRKK3AJ36LDLQC W424WG7JEQN344GQAXTTPLLNYVQJZQJ5X4MLA4ACEVJYV6ECR45AC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC NVSFIV2ZKP44XHCSCXG6OZVGL67OIFINC34J2EMKTA4KULCERUEAC ARP25R4B66WPY56X77RRYLHDTIVGZCG2GQGV5WX2UX3DUAS2SAAQC UWMN4HLG6YA2YFQEVIVMDISD6APKEPIZXMMPMNUYCBQDSAUYSXPQC 47WMN3S37XT6E2JM5S77CNZ37SD5IZKMSHINGY3CDY4QOOS7CLXQC WEFNLSQ7HRLNHIKFH46FIBBZNAORSXGOVIJWZGVVEHL36MICAUAAC HKQTMQVLLOBG2VO47TUGSTQALA3D2YLMEVADXXYNR4RGGKD3F2ZAC Y7OLUKMA5BUL2F7TAJXFX7MK75OSISVABIWHB5PGU6F22D32VQRAC HTR7KACUG3OB7ANWNQDJ2DDSAR2FQY6VLNLRAJ7OWW4P2AX5LOGAC QKGDOYIYKE6B36ION5O2DRW65DWWPZMYNWJVH7LJJ7FPGGM2MYAQC RW3H34H6MQOI3CW4ILNH3VXRKQY73KIUGZKGDQDXPGGB5D6N4RFAC }static bool _ms_los_spell( spell_type monspell ){switch (monspell){case SPELL_SUMMON_DEMON:case SPELL_SUMMON_GREATER_DEMON:case SPELL_SUMMON_UNDEAD:case SPELL_SUMMON_UFETUBUS:case SPELL_SUMMON_HORRIBLE_THINGS:case SPELL_SUMMON_DRAKES:case SPELL_SUMMON_MUSHROOMS:case SPELL_SUMMON_ICE_BEAST:return (true);default:return (false);}
bool mons_has_los_attack(const monsters *mon){const int mclass = mon->type;// Monsters may have spell like abilities.if (mons_has_los_ability(mclass))return (true);if (mons_class_flag( mclass, M_SPELLCASTER )){for (int i = 0; i < NUM_MONSTER_SPELL_SLOTS; i++)if (_ms_los_spell( mon->spells[i] ))return (true);}return (false);}
// Iterate over viewport and get all the items in view.// FIXME: This includes unknown stashes. I guess for stashes never// seen before I could simply only add the top item (though I don't// know how to do that) but what about stashes that changed since// you last saw them? Just list the old content?
// Iterate over viewport and grab all items known (or thought)// to be in the stashes in view.
if (oid != NON_ITEM){std::vector<const item_def*> items;item_list_on_square( items, oid, true );list_items.insert(list_items.end(), items.begin(), items.end());}
if (oid == NON_ITEM)continue;std::vector<item_def> items = item_list_in_stash(*ri);if (items.empty())continue;list_items.insert(list_items.end(), items.begin(), items.end());