void main() { int nDone=0; float fDist; float fSearchDist=15.0; int nCount = 1; if (GetLocalInt(OBJECT_SELF,"active")==1) { object oidNearestCreature = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC); while ( ( nDone == 0 ) && ( oidNearestCreature != OBJECT_INVALID ) ) { fDist = GetDistanceBetween(OBJECT_SELF,oidNearestCreature); if ( fDist > fSearchDist ) { nDone = 1; } else { if (WillSave(oidNearestCreature,20,SAVING_THROW_TYPE_SONIC)==0) { ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectDeaf(),oidNearestCreature,90.0); ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_BLINDDEAF),oidNearestCreature); } } nCount = nCount +1; oidNearestCreature = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF ,nCount); } } }