Inflicts faster play animation

Hello And straight to the point. I have a little script zamudrenny attack, well I slightly altered with your lessons. If there is an easier way, then that’s cool, but just painted for myself so it was understandable. But the problem is that no matter how I tried to make a timeout on damage vseravno happens that I hit a character say with tag Enemy, animation plays damage, but at the same time not being prejudicial to one (as it should be), and once a few more times. Prompt what’s the reason, where it is necessary to correct.

 var Montirovka : Transform;
 var damage1 : AnimationClip;
 var damage2 : AnimationClip;
 var damage : float = 12.5f;
private  var rndAnim : int;
  var Timeout : float;
// Update is called once per frame
private var target : Transform;
var attackDistance : float = 4.0f;

function Start () {
target = GameObject.FindWithTag("Enemy").transform;;
}

function Update () : void {
    if(Timeout>0)
    {
        Timeout -= Time.deltaTime;
    }
    if(Input.GetMouseButton(0)&Timeout<0.4f)
    {  

        Timeout = 0.37f;
         var DirectionRay : Vector3= transform.TransformDirection(Vector3.forward);
         var hit : RaycastHit;
        rndAnim = Random.Range(0,1);
        if(Vector3.Distance(transform.position, target.transform.position) < attackDistance) {
       
        if(rndAnim==0)
        {
        	damage = 12.5f;
            Montirovka.animation.Play(damage1.name);
            target.SendMessage("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver);
        	Timeout = 0.37f;
        }
        if(rndAnim==1)
        {
        	damage = 12.5f;
            Montirovka.animation.Play(damage2.name);
            target.SendMessage("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver);
        	
        	Timeout = 0.37f;
        }
      	
      	}else{
      	
        rndAnim = Random.Range(0,1);
      
        if(rndAnim==0)
        {
        	damage = 0.0f;
            Montirovka.animation.Play(damage1.name);
            target.SendMessage("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver);
        	Timeout = 0.37f;
        }
        if(rndAnim==1)
        {
        	damage = 0.0f;
            Montirovka.animation.Play(damage2.name);
            target.SendMessage("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver);
        	Timeout = 0.37f;
        }
        }
      
      	
      	
        if(Physics.Raycast(transform.position, DirectionRay, hit , 2.2f))
        {
            if(hit.rigidbody)
            {
                hit.rigidbody.AddForceAtPosition(DirectionRay*4000f,hit.point);
            }
           
        }
    }
}

I can’t really understand what is the problem but if you want to change animation speed, do something like this:

C#:

public float animationSpeed = 1; //One is normal speed...
public GameObject animatedObject;

void Start()
{
     animatedObject.animation["AnimationName"].speed = animationSpeed;
}

Java Script:

public var animaitonSpeed : float = 1; //One is normal speed...
public var animatedObject : GameObject;

function Update()
{
     animatedObject.animation["AniamtionName"].speed = animationSpeed;
}

Good luck,
Ivan.