Exemplo n.º 1
0
    public int DamageShield(int Attack)
    {
        int extraDamage = 0;

        if (_recharging)
        {
            _recharging = false;
            StopCoroutine("RechargeShield");
        }

        int damage = DamageCalc.CalcShield(Attack, _playerControl.playerStats.Armor + _playerControl.playerStats.Defense, DamageType.Kinetic);

        _playerControl.playerStats.Shield -= damage;
        if (_playerControl.playerStats.Shield < 0)
        {
            extraDamage = -_playerControl.playerStats.Shield;
            _playerControl.playerStats.Shield = 0;
        }

        // Update what the health bar looks like.
        UpdateShieldBar();

        // Play a random clip of the player getting hurt.
        //int i = Random.Range(0, shieldClips.Length);
        //AudioSource.PlayClipAtPoint(shieldClips[i], transform.position);

        return(extraDamage);
    }
Exemplo n.º 2
0
    public int DamageShield(int Attack)
    {
        int extraDamage = 0;
        int damage      = DamageCalc.CalcShield(Attack, _enemy.Defense, DamageType.Kinetic);

        _shield -= damage;
        if (_shield < 0)
        {
            extraDamage = -_shield;
            _shield     = 0;
        }

        UpdateShieldBar();

        return(extraDamage);
    }