git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9480 c06c8d41-db1a-0410-9941-cceddc491573
6EJRFPJJRSIISDNDZWODH5A7U4PVIWH4YUCHEPB4V2GLGFG4DLBAC
EPRT5LWIQULNZW5XP3ZMAGMEZ5KC4PQTW2BDTEXNH367LDL5NE5QC
NMRKYZUPI6EOC4KONJKB2RHSCC6ONYJUOXQJ7PYJ7V4OBWPRO7AQC
Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC
PHZTAI6CW7JHKFW77MKDK75UCNWBXFK7VDD3D5ORVXUFWV3C3EVQC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
RXZRRWQZH7H3E66ENDI6WTSDDTC5F7MDGIMZTEDYDE4YCUQN4CSAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
QKV56RZTWOX64VLWW52R2DEUM3HGGZNLRAJ2ZV2BHW5K422OPNJQC
VMDHEP2MGV6D5MTWNNTUYV4SY45JC3ITDEZLHT4HDJ4N2GXM755AC
tileset.push_back(tile_def(tileidx_monster_base(m), TEX_PLAYER));
if (m->type == MONS_DANCING_WEAPON)
{
item_def item = mitm[m->inv[MSLOT_WEAPON]];
tileset.push_back(tile_def(tileidx_item(item), TEX_DEFAULT));
tileset.push_back(tile_def(TILE_ANIMATED_WEAPON, TEX_DEFAULT));
}
if (!monster_descriptor(m->type, MDSC_NOMSG_WOUNDS))
{
std::string damage_desc;
mon_dam_level_type damage_level;
mons_get_damage_level(m, damage_desc, damage_level);
switch (damage_level)
{
case MDAM_DEAD:
case MDAM_ALMOST_DEAD:
tileset.push_back(tile_def(TILE_MDAM_ALMOST_DEAD, TEX_DEFAULT));
break;
case MDAM_SEVERELY_DAMAGED:
tileset.push_back(tile_def(TILE_MDAM_SEVERELY_DAMAGED, TEX_DEFAULT));
break;
case MDAM_HEAVILY_DAMAGED:
tileset.push_back(tile_def(TILE_MDAM_HEAVILY_DAMAGED, TEX_DEFAULT));
break;
case MDAM_MODERATELY_DAMAGED:
tileset.push_back(tile_def(TILE_MDAM_MODERATELY_DAMAGED, TEX_DEFAULT));
break;
case MDAM_LIGHTLY_DAMAGED:
tileset.push_back(tile_def(TILE_MDAM_LIGHTLY_DAMAGED, TEX_DEFAULT));
break;
case MDAM_OKAY:
default:
// no flag for okay.
break;
}
if (mons_friendly_real(m))
tileset.push_back(tile_def(TILE_HEART, TEX_DEFAULT));
else if (mons_neutral(m))
tileset.push_back(tile_def(TILE_NEUTRAL, TEX_DEFAULT));
else if (mons_looks_stabbable(m))
tileset.push_back(tile_def(TILE_STAB_BRAND, TEX_DEFAULT));
else if (mons_looks_distracted(m))
tileset.push_back(tile_def(TILE_MAY_STAB_BRAND, TEX_DEFAULT));
// Needs to be displayed so as to not give away mimics in shallow water.
if (ch == TILE_DNGN_SHALLOW_WATER)
tileset.push_back(tile_def(TILE_MASK_SHALLOW_WATER, TEX_DEFAULT));
else if (ch == TILE_DNGN_SHALLOW_WATER_MURKY)
tileset.push_back(tile_def(TILE_MASK_SHALLOW_WATER_MURKY, TEX_DEFAULT));
desc += " (neutral)";
str = "neutral";
if (mon->type == MONS_DANCING_WEAPON
|| mons_is_known_mimic(mon))
{
if (!str.empty())
str += " ";
if (mon->type == MONS_DANCING_WEAPON)
str += "dancing weapon";
else
str += "mimic";
}
if (!str.empty())
desc += " (" + str + ")";