Enemy Health With Raycast Not Working

I have a gun script and an enemy health, but the enemy isnt taking damage when it should be. can anyone tell me whats wrong?

ENEMY

var Health : float = 10;

function Start()
{

}

function ApplyDammage (Damage : int)
{
	Health -= Damage;
	
	print("1");
	
	if(Health <= 0)
	{
		Dead();
		print("2");
	}
}

function Dead()
{
	Destroy (gameObject);
}

GUN

var Effect : Transform;
var Damage = 1;

var Cam : Camera;

function Start()
{
    stopSpread = spread;
}

function Update () 
{
	/*Shooting*/
	
	var hit : RaycastHit;
	var ray : Ray = Cam.ScreenPointToRay(Vector3(Screen.width*0.5 + (Random.Range(-spread, spread)), Screen.height*0.5 + (Random.Range(-spread, spread)), 0));
	
	if (Input.GetMouseButtonDown(0))
	{	
		if (Physics.Raycast (ray, hit, 500))
		{
			var particleClone = Instantiate(Effect, hit.point, Quaternion.LookRotation(hit.normal));
			Destroy(particleClone.gameObject, 2);
			hit.transform.SendMessage("ApplyDamage", Damage, SendMessageOptions.DontRequireReceiver);
		}
	}
}

Thanks in advance!

omg, i just realized it says function ApplyDa[mm]age(), not function ApplyDa[m]age(), i put an extra m