Ejemplo n.º 1
0
    /// <summary>
    /// Pick and use an attack
    /// </summary>
    void UseAttack()
    {
        //TODO: Need simple AI to pick attacks.
        //Skill ability = abilties[2];
        Skill ability = abilties [rnd.Next(0, 3)];

        while (ability.IsOnCD())
        {
            ability = abilties [rnd.Next(0, 3)];
        }
        Debug.Log("Enemy used " + ability.name + "!");

        ability.ActivateCD();
        foreach (Effect eff in ability.effects)
        {
            eff.ActivateEffect(Player._instance, this, PCNPC.NPC);
        }
        if (ability.selfTar)           // Healing
        {
            if (ability.selfDam)       //Damage
            {
                CombatController._instance.EnemySelfDamage(ability.CalDmg(AP, critChance));
            }
            else
            {
                CombatController._instance.HealEnemy(ability.CalDmg(AP, critChance));
            }
        }
        else             // Damage
        {
            CombatController._instance.AttackPlayer(ability.CalDmg(AP, critChance));
        }
    }
Ejemplo n.º 2
0
 /// <summary>
 /// Uses ability.
 /// </summary>
 /// <param name="ability">Ability.</param>
 public void UseAbility(Skill ability)
 {
     if (myTurn)
     {
         if (ability.IsOnCD())
         {
             Debug.Log(ability.name + " is on Cooldown");
         }
         else
         {
             myTurn = false;
             Debug.Log("Player used " + ability.name + "!");
             ability.ActivateCD();
             foreach (Effect eff in ability.effects)
             {
                 eff.ActivateEffect(this, CC.currentEnemy, PCNPC.PC);
             }
             if (ability.selfTar)                   // Healing
             {
                 if (ability.selfDam)               //Damage
                 {
                     CombatController._instance.PlayerSelfDamage(ability.CalDmg(AP, critChance));
                 }
                 else
                 {
                     CombatController._instance.HealPlayer(ability.CalDmg(AP, critChance));
                 }
             }
             else                   // Damage
             {
                 CombatController._instance.AttackEnemy(ability.CalDmg(AP, critChance));
             }
         }
         //Updates the visual CD effect.
         ABU.UpdateButtons();
     }
 }