things.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10724 c06c8d41-db1a-0410-9941-cceddc491573
YGHUDZATZ5XHYWXPZ7ZMT6OLUDASG4MO2RAWPVJ67V6A3AJVSXUAC
ROODXPAWIP2V2SHJVO4CI567E3CYLBTL6MSYAG3IFEGHIDIKNAAQC
DVCPTGG5UWM4QMV3TJOLC4BDB77WUGQTJSU5NXQWOSIGSVL7E37AC
BUSA7O6EFBZVAG2RL5T7MD2WTWKOEKKIAAZ2VS4Y3L6ECT4HQR6QC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
JMBL7S3FVFBUQGRYXVHY4LCL3RTWMFFW42EG4FQPH45YTERD35RAC
}
return (false);
}
void ugly_thing_energy_mutate(monsters *ugly)
{
simple_monster_message(ugly,
" draws power from the mutagenic energy and changes!");
ugly->uglything_mutate();
}
bool ugly_thing_proximity_mutate(monsters *ugly)
{
if (one_chance_in(10))
{
int mutate_chance = 0;
for (radius_iterator ri(ugly->pos(), 1); ri; ++ri)
{
monsters *ugly_near = monster_at(*ri);
if (ugly_near == NULL || ugly_near == ugly)
continue;
if (ugly_near->type == MONS_UGLY_THING
|| ugly_near->type == MONS_VERY_UGLY_THING)
{
if (coinflip())
mutate_chance++;
if (ugly->type == MONS_UGLY_THING
&& ugly_near->type == MONS_VERY_UGLY_THING)
{
if (coinflip())
mutate_chance++;
}
}
}
if (!one_chance_in(mutate_chance + 1))
{
simple_monster_message(ugly,
" draws power from its mutagenic kin and changes!");
ugly->uglything_mutate();
return (true);
}