git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3343 c06c8d41-db1a-0410-9941-cceddc491573
ZJSJGWYEOMUS4VK7VWFVLKW2E42X7KPFLK6HAA5LN3URQWISQULQC
YX2LDGNQNB6AQRKAVXNYQ473X6EVPQEBT5AJKBIIWFIMS3U2BNQQC
RBAGQ2PB7V5YAM5KSHSZR2E3MLKDSRVM5XYGI2TIXP5QMVBOQHDQC
7G3PQFF6KRL7XLFTHVDNPFNFHNJRACG2SQK32WXK2D22AMUPFP3QC
QDTVLBRGHDTRUVT7I3O72K6TMOYAUSAJBZUHGOEFU2RKJNUPWZSQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
CG4TL4AKSN4J7CMATZFJ5N7PSDCQXLS3QYX7PZ3K67KMMBT675OQC
&& ( !player_beheld_by(monster) // no submerging if player entranced
&& (one_chance_in(5)
|| ((grid_distance( monster->x, monster->y,
you.x_pos, you.y_pos ) > 1
// FIXME This is better expressed as a
// function such as
// monster_has_ranged_attack:
&& monster->type != MONS_ELECTRICAL_EEL
&& monster->type != MONS_LAVA_SNAKE
&& (monster->type != MONS_MERMAID
|| you.species == SP_MERFOLK)
// Don't submerge if we just unsubmerged for
// the sake of shouting.
&& monster->seen_context != "bursts forth shouting"
&& !one_chance_in(20)) ))
|| monster->hit_points <= monster->max_hit_points / 2)
|| env.cgrid[monster->x][monster->y] != EMPTY_CLOUD)
&& !player_beheld_by(monster) // no submerging if player entranced
&& (one_chance_in(5)
|| ((grid_distance( monster->x, monster->y,
you.x_pos, you.y_pos ) > 1
// FIXME This is better expressed as a
// function such as
// monster_has_ranged_attack:
&& monster->type != MONS_ELECTRICAL_EEL
&& monster->type != MONS_LAVA_SNAKE
&& (monster->type != MONS_MERMAID
|| you.species == SP_MERFOLK)
// Don't submerge if we just unsubmerged for
// the sake of shouting.
&& monster->seen_context != "bursts forth shouting"
&& !one_chance_in(20)) )
|| monster->hit_points <= monster->max_hit_points / 2
|| env.cgrid[monster->x][monster->y] != EMPTY_CLOUD))