public IEnumerator AttackPlayer() { if (BS.isAttack1 && (cur_cooldown >= max_cooldown)) { int p2Health = BS.activeTroop2.GetComponent <PlayerTwoStates> ().troop.health; if (troop.name == "Air" || troop.name == "Balloon") { p2Health -= (Random.Range(1, troop.diceFaces) + troop.speed); } else if (myAttack.targetObject.GetComponent <PlayerTwoStates> ().troop.TroopType != troop.TargetType) { //reduce the damage by 2 p2Health -= (Random.Range(1, troop.diceFaces) + troop.speed) / 2; } else { p2Health -= (Random.Range(1, troop.diceFaces) + troop.speed); } BS.activeTroop2.GetComponent <PlayerTwoStates> ().troop.health = p2Health; if (p2Health <= 0) { isDead = true; } BS.GetPlayerOneResults(p2Health.ToString(), troop.name.ToString(), isDead); curState = actionStates.Waiting; } yield return(null); }
void OnEnable() { cur_cooldown = 0; curState = actionStates.Processing; }