strange disturbance here"), assuming them to be enemy monsters.
Fix Daevas being so incredibly chatty. Friendly holy beings will now give the holy_being speech with a chance of 1/20, and else stay silent. This is rare! Neutrals have the same behaviour but speak with a chance of 1/11 since you won't be around them as often as around friendlies.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4005 c06c8d41-db1a-0410-9941-cceddc491573
ECUYJLVGW6ADRLLF2WOMRG464VHOVDPP5OK5SAX2PHBUUC5FD4TQC
LM764EO6YIFOKMRXWZ5S4GYZB4BHZQDTEFP7MEVYO4NN4EDOFGNQC
TPPJRQ2NTCV3GI2VRHEXQJREDERPJODCJWUG5WCOQGN4REPPPAMAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
CE6FLTWU5PYFBSGVTIJXQXRMHOIHQ3VJCKHQVIMUUAIFHQ73X7NAC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
64RZSOR4B4T5QO3FAERBTH2QJIQFSCIFHI4WYK3MDAEAZVAHRLVQC
BMHUBADDGIOZRVN4P3O5QKIDUYD4RFWBS7MP5X6LZWAYHUBRVD2QC
// Is target a (known) monster?
if (targ_mon == NON_MONSTER || !in_los(x,y)
|| !player_monster_visible( &(menv[targ_mon]) )
|| mons_is_mimic(menv[targ_mon].type)
&& !(menv[targ_mon].flags & MF_KNOWN_MIMIC))
// No monster or outside LOS.
if (targ_mon == NON_MONSTER || !in_los(x,y))
return (false);
// Unseen monsters in shallow water show a "strange disturbance"
// (unless flying!)
if (!player_monster_visible(&menv[targ_mon]))
{
// since you can't see the monster, assume it's not a friend
return (mode != TARG_FRIEND && grd[x][y] == DNGN_SHALLOW_WATER
&& !mons_flies(&menv[targ_mon]));
}
// Unknown mimics don't count as monsters, either.
if (mons_is_mimic(menv[targ_mon].type)
&& !(menv[targ_mon].flags & MF_KNOWN_MIMIC))
return ( !mons_friendly( &menv[targ_mon] )
&& (Options.target_zero_exp
|| !mons_class_flag( menv[targ_mon].type, M_NO_EXP_GAIN )) );
// Don't target zero xp monsters, unless target_zero_exp is set.
return (Options.target_zero_exp
|| !mons_class_flag( menv[targ_mon].type, M_NO_EXP_GAIN ));