non-unique monsters (including polymorphed uniques, so you can get things like "A rat shaped Royal Jelly zombie").
Include the name of unique and named monsters in their corpse names, for things like "The corpse of the Lernaean hydra" or "The human corpse of Sigmund".
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8407 c06c8d41-db1a-0410-9941-cceddc491573
MG2J6HQGH4DWFH3PC2SZB45NGKK5ISPBADQD24GWAZCZTDLOA33AC WMFU65IAJ3LX2YSFXXRS7ZFNDCZYQC3ZQ3QDHHK3DU3UMLJMAP4QC 2RJUPYKEDZZCW4GDG6WLEDVYF32ADC4W5I42KSKHN3MWEBCWSAHQC VMMUZXOQDXW5ZHA7623F744LS7U4BVLBKW5TNZMG5L2Z44UZGZRAC SCXTTP2FDNB2A7F4XXGXSSOEKZQ7ODDGN5YBCTZXGZ22CLCEH3WQC 3PPH2RAOMAQGDPQKUKMMA3RC5M3VUSEJ7WKGZNVJ7UBFE75K574QC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC Q3VQGRSYOUYIOAWR2GMQI2XJAQDXDPJDE5B5YAZHT35AGECVWRVQC BNRY5YIXLFE2TDNU2JQHWWXJQVWNSEWQ52DU7XUWIT5DZWKGBDDAC UPA65AL4JXYLIHH4D42IWJHRTOAF2BPOVZOAKOXBLZBYIMDZDFFQC EC76VUBNPZVDOVDX3KPSDF3KCNMOOGXZEALYVDATPE42BCA4GUVQC CVYIOTB4RBPTGV3IMPNGDUYMMUEGT4DWZUGRB3AIOM35XTBWUPKAC QDTVLBRGHDTRUVT7I3O72K6TMOYAUSAJBZUHGOEFU2RKJNUPWZSQC VCG3BRIYRTNNWYC3LOXD6KFGXOX37HAFW2HNV7WXVG2V7EUHLDZQC 5TG5LXU4DX65KMWCZ7YJHOB3VAETQAVBUHEUSQTPMA327XV2HQWAC bool name_zombified_unique(monsters *mon, int mc, const std::string mon_name)
// Special case for Blork the orc: shorten his name to "Blork"// to avoid mentions of e.g "Blork the orc the orc zombie".if (mc == MONS_BLORK_THE_ORC)mon->mname = "Blork";// Also for the Lernaean hydra.else if (mc == MONS_LERNAEAN_HYDRA)mon->mname = "Lernaean hydra";if (starts_with(mon->mname, "shaped "))mon->flags |= MF_NAME_SUFFIX;return (true);}bool name_zombie(monsters *mon, const monsters* orig)
// Special case for Blork the orc: shorten his name to "Blork"// to avoid mentions of e.g "Blork the orc the orc zombie".if (mc == MONS_BLORK_THE_ORC)mon->mname = "Blork";// Also for the Lernaean hydra.else if (mc == MONS_LERNAEAN_HYDRA)mon->mname = "Lernaean hydra";
std::string name;
if (base_type == OBJ_CORPSES && is_named_corpse(*this)&& !starts_with(get_corpse_name(*this), "shaped ")){switch (descrip){case DESC_CAP_A:case DESC_CAP_YOUR:descrip = DESC_CAP_THE;break;case DESC_NOCAP_A:case DESC_NOCAP_YOUR:case DESC_NOCAP_ITS:case DESC_INVENTORY_EQUIP:case DESC_INVENTORY:descrip = DESC_NOCAP_THE;break;default:break;}}
bool is_named_corpse(const item_def &corpse){ASSERT(corpse.base_type == OBJ_CORPSES);return (corpse.props.exists(CORPSE_NAME_KEY));}std::string get_corpse_name(const item_def &corpse){ASSERT(corpse.base_type == OBJ_CORPSES);if (!corpse.props.exists(CORPSE_NAME_KEY))return ("");return (corpse.props[CORPSE_NAME_KEY].get_string());}