コード例 #1
0
 public override void OnCombatStart(UnitCard player1Unit, UnitCard player2Unit)
 {
     if (string.Equals(player1Unit.name, "Princess Izumi", System.StringComparison.OrdinalIgnoreCase))
     {
         player1Unit.ModifyHealth(-10, true);
     }
     if (string.Equals(player2Unit.name, "Princess Izumi", System.StringComparison.OrdinalIgnoreCase))
     {
         player2Unit.ModifyHealth(-10, true);
     }
 }
コード例 #2
0
 public override void OnCombatStart(UnitCard player1Unit, UnitCard player2Unit)
 {
     if (player1Unit.currentWisdom >= 5)
     {
         player1Unit.ModifyHealth(-5, true);
     }
     if (player2Unit.currentWisdom >= 5)
     {
         player2Unit.ModifyHealth(-5, true);
     }
 }
コード例 #3
0
 public override void OnCombatStart(UnitCard player1, UnitCard player2)
 {
     if (player1.nation == Nation.WATER)
     {
         player1.ModifyHealth(-10, true);
     }
     if (player2.nation == Nation.WATER)
     {
         player2.ModifyHealth(-10, true);
     }
 }
コード例 #4
0
    public override void OnCombatStart(UnitCard player1Unit, UnitCard player2Unit)
    {
        if (player1Unit.currentStrength == player2Unit.currentStrength)
        {
            return;
        }

        if (player1Unit.currentStrength > player2Unit.currentStrength)
        {
            player1Unit.ModifyHealth(-10, true);
        }
        else if (player1Unit.currentStrength < player2Unit.currentStrength)
        {
            player2Unit.ModifyHealth(-10, true);
        }
    }
コード例 #5
0
    public virtual void Activate()
    {
        SetUserEnemy();

        if (type == AttackType.PHYSICAL)
        {
            player.Stamina -= currentCost;
        }
        else
        {
            player.Mana -= currentCost;
        }


        //deal damage
        int damage = CalculateDamage();

        if (damage > 0)
        {
            LogWindow.Log(user.name + " used " + name + " on " + enemy.name + " and dealt " + damage + " damage!");
            enemy.ModifyHealth(damage);
        }
        else
        {
            LogWindow.Log(user.name + " used " + name + " on " + enemy.name + " and dealt no damage!");
        }

        //modifying status come after damage
        ModifyUserStats();
        ModifyEnemyStats();

        //callbacks
        user.OnAttackCardPlayed(this, enemy);                                     //first resolve resolve user
        enemy.OnAttackCardTarget(this, user);                                     //then resolve enemy
        CombatController.instance.location.OnAttackCardPlayed(this, user, enemy); //then location effects
        player.OnAttackCardPlayed(this);                                          //then discard card and draw a new one
        CombatController.OnAttackCardPlayed();                                    //and finally, switch turns
    }