Laravel.io
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Bullet : MonoBehaviour {

    public float speed = 15f;
    public Transform target;
    public float damage = 1f;

    // Use this for initialization
    void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {

        if(target == null)
        {
            Destroy(gameObject);

            GameObject.Find("Tow_Gauss3").GetComponent<Tower>().ammo = 1;

            return;
        }

        Vector3 dir = target.position - this.transform.localPosition;

        float distThisFrame = speed * Time.deltaTime;

        if(dir.magnitude <= distThisFrame)
        {
            DoBulletHit();
        }
        else
        {
            transform.Translate(dir.normalized * distThisFrame, Space.World);
            Quaternion targetRotation = Quaternion.LookRotation(dir);
            this.transform.rotation = Quaternion.Lerp(this.transform.rotation, targetRotation, Time.deltaTime * 5);
        }
	}

    void DoBulletHit()
    {
        target.GetComponent<SolMinion>().TakeDamage(damage);

        Destroy(gameObject);

        GameObject.Find("Tow_Gauss3").GetComponent<Tower>().ammo = 1;
    }
}

Please note that all pasted data is publicly available.