appropriate, and so it unsubmerges monsters if they can't stay submerged in the new terrain.
Also, changed the Water card to use dungeon_terrain_changed() in order to simplify the code a bit, to clean up bloodstains, and to fire off DET_FEAT_CHANGE dungeon events.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5479 c06c8d41-db1a-0410-9941-cceddc491573
WDQ3ST3BQ7BMW2IXQMSJVRG7GK2EG444JLKII24FB7IJ5YF5KT5QC
WMSGO6GYABSDAVS2WINIPADOCOU22KLN72HCYJDEFGOSYKQ5WPNAC
HIPFIMUOA7DFOFV3DQ55YZJVGNU2GNDYFUCB4MRPUR5DTYDO5YMAC
SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC
ED62QWGKBPORWVKDFOQRKJXEIWZVNGR3O4KWQBDSRNPT36AYOQYAC
VJDLV4PF2ZJ46NERO4LZUX5JE2CD5XBOBQCYYPTFWTHLUEYDUOYAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
set_terrain_changed(pos.x, pos.y);
if (new_feat == DNGN_UNSEEN)
{
// Caller has already changed the grid, and old_feat is actually
// the new feat.
if (old_feat != DNGN_FLOOR && !grid_is_solid(old_feat))
env.map(pos).property = FPROP_NONE;
}
else
{
if (grid_is_solid(old_feat) != grid_is_solid(new_feat)
|| grid_is_water(new_feat) || grid_destroys_items(new_feat)
|| is_critical_feature(new_feat))
{
env.map(pos).property = FPROP_NONE;
}
}
}
}
static void _pond_creature_effect( const coord_def& center, int radius )
{
radius_iterator ri(center, radius, false);
bool you_affected = false;
for ( ; ri; ++ri )
{
const coord_def p = *ri;
if ( p == you.pos() )
you_affected = true;
else if ( mgrd(p) != NON_MONSTER )
mons_check_pool( &menv[mgrd(p)], KILL_YOU );