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); }
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); }