health bar and spawner issue

The squid health bar works like it is suppose to, I have it to where when the light from the light house hits the squid It lowers the health bar and when you pull the light away it remains with whatever health it has left. I have the same thing for my light house but for some reason even after the enemy is destroyed the light house health bar keeps decreasing. But when I pause the game and move the monsters back away from the house, the health bar stops. I checked all my triggers and rigid bodies and everything is right along with the tags I set. Im thinking it has something to do with the spawner and it emitting prefabs. Any help is needed. here are the scripts. Light house health.

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class PlayerHealth : MonoBehaviour {
		
		public float max_Health = 100f;
		public float cur_Health = 0f;
		public GameObject healthBar;

		void Start (){
			cur_Health = max_Health;
		}

	void OnTriggerEnter(Collider Monster){
		if (Monster.tag == "monster") {
			InvokeRepeating ("decreasehealth", 1f, 1f);
		}
	}

	void OnTriggerExit (Collider Monster){
		if (Monster.tag == "monster") {
			CancelInvoke ("decreasehealth");
		}
	}

		void Update(){
		if (cur_Health <= 0) {
			Debug.Log ("dead");
		}
	}
		
		void decreasehealth(){
		cur_Health -= 2f;
		float calc_Health = cur_Health / max_Health;
		SetHealthBar (calc_Health);
		}
		
		public void SetHealthBar (float myHealth){
			healthBar.transform.localScale = new Vector3(Mathf.Clamp(myHealth,0f ,1f), healthBar.transform.localScale.y, healthBar.transform.localScale.z);
		}
	}

here is the squid health

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class squidhealth : MonoBehaviour {
	
	public float max_Health = 100f;
	public float cur_Health = 0f;
	public GameObject healthBar;
	public GameObject squid;

	void Start (){
		cur_Health = max_Health;
	}
	void OnTriggerEnter (Collider collider){
		if (collider.tag == "light") {
			InvokeRepeating ("decreasehealth", 1f, 1f);
		}
	}
	void OnTriggerExit (Collider collider){
		if (collider.tag == "light") {
			CancelInvoke("decreasehealth");
		}
	}

	void Update()
	{
		if(cur_Health <= 0)
		{
			Destroy(squid);
		}
	}
	
	void decreasehealth(){
		cur_Health -= 10f;
		float calc_Health = cur_Health / max_Health;
		SetHealthBar (calc_Health);
	}
	
	public void SetHealthBar (float myHealth){
		healthBar.transform.localScale = new Vector3(Mathf.Clamp(myHealth,0f ,1f), healthBar.transform.localScale.y, healthBar.transform.localScale.z);
	}
}

and here is the spawner

var Enemy : Transform;
private var Timer : float;

function Awake ()
{
Timer = Time.time + 60;
}

function Update()
{
if (Timer < Time.time)
{
Instantiate(Enemy, transform.position, transform.rotation);
Timer = Time.time + 60;
}
}

You can make void on trigger stay and don’t do the invoke repiting :smiley: