Exemplo n.º 1
0
 public void Attacked(UpgradeStats stats, BaseBullet.damageTypes damageType)
 {
     TakeDamage(stats.damage, damageType);
     EffectCheck(stats);
     Armor += stats.armorReduce;
     HPReg += stats.hpRegReduce;
 }
Exemplo n.º 2
0
    private void TakeDamage(float damage, BaseBullet.damageTypes damageType)
    {
        float calcDamage = 0;

        damage *= curseAmount;
        switch (damageType)
        {
        case BaseBullet.damageTypes.heavy:
            switch (myArmorType)
            {
            case ArmorTypes.light:
                calcDamage = damage * highDamage - Armor;
                break;

            case ArmorTypes.medium:
                calcDamage = damage * lowDamage - Armor;
                break;

            case ArmorTypes.heavy:
                calcDamage = damage * normalDamage - Armor;
                break;
            }
            break;

        case BaseBullet.damageTypes.light:
            switch (myArmorType)
            {
            case ArmorTypes.light:
                calcDamage = damage * normalDamage - Armor;
                break;

            case ArmorTypes.medium:
                calcDamage = damage * highDamage - Armor;
                break;

            case ArmorTypes.heavy:
                calcDamage = damage * lowDamage - Armor;
                break;
            }
            break;

        case BaseBullet.damageTypes.medium:
            switch (myArmorType)
            {
            case ArmorTypes.light:
                calcDamage = damage * lowDamage - Armor;
                break;

            case ArmorTypes.medium:
                calcDamage = damage * normalDamage - Armor;
                break;

            case ArmorTypes.heavy:
                calcDamage = damage * highDamage - Armor;
                break;
            }
            break;

        case BaseBullet.damageTypes.special1:
            switch (myArmorType)
            {
            case ArmorTypes.light:
            case ArmorTypes.medium:
            case ArmorTypes.heavy:
                break;
            }
            break;

        case BaseBullet.damageTypes.special2:
            switch (myArmorType)
            {
            case ArmorTypes.light:
            case ArmorTypes.medium:
            case ArmorTypes.heavy:
                break;
            }
            break;

        case BaseBullet.damageTypes.special3:
            switch (myArmorType)
            {
            case ArmorTypes.light:
            case ArmorTypes.medium:
            case ArmorTypes.heavy:
                break;
            }
            break;
        }
        calcDamage = Mathf.Max(calcDamage, 0);
        health    -= calcDamage;
    }