difficulty comparison and sorting functions. Make V work as a shortcut for xx, but keep the original monster listing (now repaired) for the dump.
Most of the monster_pane_function struct and functions are now also included in Tiles compiles, even though the monster list itself is still not available.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6800 c06c8d41-db1a-0410-9941-cceddc491573
WEFNLSQ7HRLNHIKFH46FIBBZNAORSXGOVIJWZGVVEHL36MICAUAAC 3ZEUBINC2EEJYVO5AYQZBCU3RKDGONBJYKYHTBTHICPOGPSRXI2QC VMDHEP2MGV6D5MTWNNTUYV4SY45JC3ITDEZLHT4HDJ4N2GXM755AC TE3QYFTQB2N6RHYG6VULGNUZ7EN6MZ5IDITC7KWD75UHPG7A2YAAC QSRRV725GCNDOMIDS36NYAA65MOLDMAZSENVSZ3PNOLBFSGHH7BQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC JR2RAQ523LOWNDYJNK6AZVKI6WVMI622PIV72XWOVZYPXPUKSQWAC SKWBAGSAB625IIN4UP3NCPRX2H3KCPC2LULHS2A7JVRLO3EUBJDAC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC TPO6FNMPNUSWH4NCKO3VLYNAADEPSAXLUITCCACLZZSY53PKA62QC JQK4F4RTKVQWIF5YKFPH7IHF7UREBOY2NOFQ7J3O44KYPCNHNL5AC NO2HRD7RZS42S55UG4FQ5EFQDY6WYWKGIXHUKYLWF36HHE3VZ7WAC GQF26J3LYUS35FFHOV4N26QHSJIA5GXMNBXVVKDGX7YMFBFJK4LQC C3C6VLGVL7RLM53TCSL7ZWUTVV45MMZXCDL75BEAI4RIO43W6J7AC AYYQVALBAAKFK5U52WGHWE2N7LCVZM3BGRADPVJQWOFLS2TXK6QAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC HKQTMQVLLOBG2VO47TUGSTQALA3D2YLMEVADXXYNR4RGGKD3F2ZAC XX62GOJVDP352L4BH7MELNYXHMZNA6VAGF7B6RWWOSULX7VJR5YAC if ( mgrd(*ri) != NON_MONSTER ){const monsters *mon = &menv[mgrd(*ri)];if (player_monster_visible(mon)&& !mons_is_submerged(mon)&& (!mons_is_mimic(mon->type)|| testbits(mon->flags, MF_KNOWN_MIMIC))){mons.push_back(mon);}}}
msg = "There ";msg += (past ? "were" : "are");msg += " no monsters in sight!";
if (count == 1)describe.push_back(_get_monster_name(mons[i-1], true).c_str());else{describe.push_back(number_in_words(count) + " "+ pluralise(_get_monster_name(mons[i-1]).c_str()));}
describe.push_back(_get_monster_name(mons[i-1], count).c_str());
}// handle last monsterif (mons.size() == 1|| _compare_monsters_attitude(mons[size-2], mons[size-1])){describe.push_back(_get_monster_name(mons[size-1], true).c_str());}else{describe.push_back(number_in_words(count) + " "+ pluralise(_get_monster_name(mons[size-1]).c_str()));
}// If past is true, the messages should be printed in the past tense// because they're needed for the morgue dump.std::string mpr_monster_list(bool past){std::vector<std::string> describe;_get_visible_monsters(describe);std::string msg = "";if (describe.empty()){msg = "There ";msg += (past ? "were" : "are");msg += " no monsters in sight!";
// Get monsters via the monster_pane_info, sorted by difficulty.std::vector<monster_pane_info> mons;get_monster_pane_info(mons);std::sort(mons.begin(), mons.end(), monster_pane_info::less_than_wrapper);for (unsigned int i = 0; i < mons.size(); i++)list_mons.push_back(mons[i].m_mon);