It says Cannot implicitly convert type 'int' to 'gameobject' when there is no int

private GameObject HealthGet;

	private bool CanAttack;

	private enum FollowOrGiveUp {Follow, GiveUp};
	private FollowOrGiveUp AttackState;

	void Start () {
		HealthGet = GameObject.FindGameObjectWithTag ("Player");
		HealthGet = Target.GetComponent <Player> ().Health;
		CanAttack = true;
	}

This line:

HealthGet = Target.GetComponent <Player> ().Health;

HealthGet is a GameObject and Health is an int…

You might want to take a step back and rethink what you want to do and start over :wink:

Try something like this.

Player player;

void Start (){
    player = Target.GetComponent <Player> ();
}

void Attack () {
    player.Health -= Damage;
}

Explanation: You can only store a reference to data that is passed by reference. Primitives and structs are passed by value. Google it.