Math Doesnt Make Sense

The enemy spawns in with 100hp, the gun does 5hp of damage per shot. But whenever I shoot the enemy, it’s health goes to a ridiculous number eg. -5568, and back to 100 instantly.

private float health = 1000;
private float weaponDamage = 5;

	public void EnemyDamage() {
		health -= weaponDamage;
		print (health);
		if (health <= 0) {
			Die();
		}
	}

	void Die() {
		Destroy (gameObject);
	}

57470-screenshot-4.png

I’ve worked out what’s happening, every time I spawn the prefab, the health doesn’t reset back to 100, which is why, after a couple hours of work, I was getting ridiculous numbers.