2 OnTriggerStay only one works

So I was working the AI for my towers, to hit every player transform within range, which is an invisible collider and IsTrigger is marked (I hope I explained this right, I’m still new)

So when it was just 1 tower, everything was working fine, when I added another tower, (basically a clone of the first one, same prefab) whenever the player entered the collisider area of whichever towers, only one of them fired, and it was always the same one untill I restarted (whichever range I enter first, is the one that fires for the rest of the game session).

Here’s my code, I’ve read it over and over again and I know there’s just something wrong with it and I’ve searched aroudn but I can’t figure it out…

using UnityEngine;
using System.Collections;

public class TurretMoveFire : MonoBehaviour {

	Transform turret;
	Transform target;
	float damp = 50.0f;
	float time = 0.0f;
	public Object bullet;

	// Use this for initialization
	void Start () {
		GameObject[] players = GameObject.FindGameObjectsWithTag ("Player");
		GameObject tower = GameObject.FindWithTag ("Tower");
		target = players[0].transform;
		turret = tower.transform;
		//bullet = Resources.Load ("Prefabs/TowerBullet.prefab");
	}
	
	// Update is called once per frame
	void Update () {
		time += Time.deltaTime;

	}

	void OnTriggerStay(Collider objectTriggered){
		if(objectTriggered.transform == target){
			Quaternion rotate = Quaternion.LookRotation(target.position - turret.position);
			turret.rotation = Quaternion.Slerp(turret.rotation, rotate, Time.deltaTime * damp);
		}
		if(time >= 0.5 && objectTriggered.transform == target){
			GameObject EProjShooter = GameObject.Find ("EProjectileShooter");
			Transform EprojTransform = EProjShooter.transform;
			Vector3 vec3 = EprojTransform.position;
			Quaternion quat = EprojTransform.rotation;
			Instantiate(bullet, vec3, quat);
			time = 0.0f;
		}
	}	

}

Thanks in advance

I fixed it thanks to ziv03 and Sundar pointing out my mistakes, I had to get the object’s parent by doing

turret = transform.parent;

instead of

turret = tower.transform;  < //Gets the parent of the object the script is attached to, which in this case is the proper tower.

I also had to edit the rest of the script to make it get the children/parents that I needed instead of using the .FindWithTag .

Thanks again =)(I hope I made sense)