to monster_change_type indicating that special handling may be needed if the types are different enough.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3782 c06c8d41-db1a-0410-9941-cceddc491573
Z75MWMOPGK3RC3ERIV5AW52CRJDTYWLXYGE6CHRF4MCB5EJ7WH6QC
HOPP345EQLSF24XJYE3625VKU23PBKM5ZZKNCXBXUWYYORYPMDAAC
USSKCWQTF6BTE3SFLQVCT6RZHU2R7URWFC7EPO2EN3Z6U4IEQ7GQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC
LJ7HIRLTL5KHP3DJP57KRDH3PHZIS37HNC4SLZGK2ZQI2WTQBOPAC
5ZYOO2RVGH53ONV4U5NO6MTINQXET6GV6TETPVCFAVOX44LDNR4QC
{
if (monster->body_size(PSIZE_BODY) >= SIZE_GIANT)
{
int net = get_trapping_net(monster->x, monster->y);
if (net != NON_ITEM)
destroy_item(net);
if (see_grid(monster->x, monster->y))
{
if (player_monster_visible(monster))
{
mprf("The net rips apart, and %s comes free!",
monster->name(DESC_NOCAP_THE).c_str());
}
else
{
mpr("All of a sudden the net rips apart!");
}
}
}
else if (mons_is_insubstantial(monster->type)
|| monster->type == MONS_OOZE
|| monster->type == MONS_PULSATING_LUMP)
{
const int net = get_trapping_net(monster->x, monster->y);
if (net != NON_ITEM)
remove_item_stationary(mitm[net]);
if (mons_is_insubstantial(monster->type))
{
simple_monster_message(monster,
" drifts right through the net!");
}
else
{
simple_monster_message(monster,
" oozes right through the net!");
}
}
else
monster->add_ench(ENCH_HELD);
}
monster->add_ench(ENCH_HELD);
if (old_mon_caught)
{
if (monster->body_size(PSIZE_BODY) >= SIZE_GIANT)
{
int net = get_trapping_net(monster->x, monster->y);
if (net != NON_ITEM)
{
destroy_item(net);
monster->del_ench(ENCH_HELD, true);
}
if (see_grid(monster->x, monster->y))
{
if (player_monster_visible(monster))
{
mprf("The net rips apart, and %s comes free!",
monster->name(DESC_NOCAP_THE).c_str());
}
else
{
mpr("All of a sudden the net rips apart!");
}
}
}
else if (mons_is_insubstantial(monster->type)
|| monster->type == MONS_OOZE
|| monster->type == MONS_PULSATING_LUMP)
{
mons_clear_trapping_net(monster);