Enemy does not shoot the player

My script looks pretty good but it says that the destination variable does not have a value assigned.

GameObject Public AntagonisticElement;
public objective of GameObject;
public float bulletSpeed;
public float enemy speed
public float bulletDestroyTime;
public objects game explsn;
public GameObject bulletPrefab;
public transformation bulletSpawn;

Vector3 pos;

public float min = 20;
public float max = 10;

public int MaxCounter;
public int CounterStatus;
int numberofEnemy;
// Use this for initialization

void Home ()
{

}

// The update is called once per frame
Null update ()
{
yes (CounterStatus <= 0)
{
yes (number of Enemy < 3)
        {
            Vector3 creationPoint = transform.position;
            creationPoint.y = -0.5f;
            Instantiate(AntagonisticElement, creationPoint, transform.rotation);

            CounterStatus = MaxCounter;
            numberofEnemy++;
        }
    }


    else
    {
        CounterStatus--;
    }

    transform.LookAt(Target.transform.position);

    if (Vector3.Distance(transform.position, Target.transform.position) >= min)
{
transform.position + = transform.forward * 4 * Time.deltaTime;

}
if (Vector3.Distance (transform.position, Target.transform.position) <= max)
{
shoot at ();
}

}

shoot empty ()
{

Create an instance (explsn, bulletSpawn.position, bulletSpawn.transform.rotation);
var bullet = Instance (bulletPrefab, bulletSpawn.position, bulletSpawn.rotation);
bullet.GetComponent() .velocity = bullet.transform.forward * bulletSpeed;



}