Firing System with two Shoot Points

I’m making a space sim, and want a script where I could determine the shoot points in the inspector. It ALMOST works. Here’s the firing script:

var canShoot : boolean = true;
var projectile : GameObject;
var secondary : GameObject;
var fireRate : float = 0.1;
var secondaryFireRate : float = 3.0;
private var nextFire : float = 0.0;
private var nextSecondaryFire : float = 0.0;
var hasMuzzleFlash : boolean = true;
var muzzleFlash : GameObject;
var secondaryMuzzleFlash : GameObject;
static var bulletsLeft : int = 100000000; ///Infinte = 100000000
static var missilesLeft : int = 30;
private var hasFired : boolean = false;
private var hasFiredSecondary : boolean = false;
private var bulletsPerShot : float = 1;
private var missilesPerShot : float = 1;
private var boosting : boolean = false;
var shootPointOne : Transform;
var shootPointTwo : Transform;

function Update() 
{

 hasFired = false;
	hasFiredSecondary = false;
	
	if(bulletsLeft == 0)
	bulletsPerShot = 0;
	
	if(missilesLeft == 0)
	missilesPerShot = 0;
	
	if(Input.GetKey("space")){
	
	boosting = true;
	}
	else if(fighter){
	
	boosting = false;
	}
	
    
    if(Input.GetButton("Fire1") && Time.time > nextFire && bulletsLeft > 0 && !boosting && canShoot) {
        nextFire = Time.time + fireRate;
        Instantiate (projectile, shootPointOne.position, transform.rotation);
        hasFired = true;
    }
  
    
    if(Input.GetButton("Fire1") && Time.time > nextFire && bulletsLeft > 0 && !boosting && canShoot) {

        nextFire = Time.time + fireRate;
        Instantiate (muzzleFlash, shootPointOne.position, transform.rotation); 
}

    if(Input.GetButton("Fire1") && Time.time > nextFire && bulletsLeft > 0 && !boosting && canShoot) {
        nextFire = Time.time + fireRate;
        Instantiate (projectile, shootPointTwo.position, transform.rotation);
        hasFired = true;
    }
  
    
    if(Input.GetButton("Fire1") && Time.time > nextFire && bulletsLeft > 0 && !boosting && canShoot) {

        nextFire = Time.time + fireRate;
        Instantiate (muzzleFlash, shootPointTwo.position, transform.rotation); 
}

It pretty much works, and it shoots in the shoot point. But the second shoot point doesn’t work. It shoots at shootPointOne, but it doesn’t shoot at shootPointTwo. I don’t know why it’s not working.

See all those if statements? Put all of that in one if statement. Then, it won’t block the ones at the end!