示例#1
0
    //Calculate damage when damage is already known
    public static int calculateDamage(Unit attacker, Unit defender, Attack attack, int dmg)
    {
        float attackFactor = 1f;
        float defenceFactor = 1f;

        foreach (DamageType x in attack.getTypes())
        {
            attackFactor *= attacker.typeAtk[(int)x];
            defenceFactor *= defender.typeDef[(int)x];
        }

        return (int)((float)dmg *(attackFactor / defenceFactor));
    }
示例#2
0
    //Calculate damage when damage is not known
    public static int calculateDamage(UnitBase attacker, UnitBase defender, Attack attack)
    {
        float attackFactor = 1f;
        float defenceFactor = 1f;

        float damage = rollDamage(attack.roll, attack.dmg, attack.nDice);

        foreach(DamageType x in attack.getTypes())
        {
            attackFactor *= attacker.typeAtk[(int)x];
            defenceFactor *= defender.typeDef[(int)x];
        }

        return (int)(damage *= (attackFactor/defenceFactor));
    }