((link)) - Agentes Shield

IEnumerator CooldownRoutine()

void Start() playerHealth = GetComponent<HealthComponent>(); agentes shield

[Header("Stats")] public float damageReduction = 0.7f; public float absorptionRatio = 0.5f; public float maxShieldCharge = 200f; public float cooldownDuration = 25f; private float currentShieldCharge = 0f; private bool isActive = false; private bool onCooldown = false; private HealthComponent playerHealth; [Header("Stats")] public float damageReduction = 0.7f

onCooldown = true; yield return new WaitForSeconds(cooldownDuration); onCooldown = false; public float absorptionRatio = 0.5f

if (!isActive) return; isActive = false; switch(mode) case ReleaseMode.Retribution: AoEDamage(currentShieldCharge); break; case ReleaseMode.Recharge: playerHealth.Heal(currentShieldCharge * 0.5f); ReduceAbilityCooldowns(currentShieldCharge); break; case ReleaseMode.Overclock: ApplyBuff(moveSpeedBonus, critBonus, duration: 8f); break; currentShieldCharge = 0f; StartCoroutine(CooldownRoutine());