コード例 #1
0
    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);
    }
コード例 #2
0
 void OnEnable()
 {
     cur_cooldown = 0;
     curState     = actionStates.Processing;
 }