public Debuff(float duration, int procChance, Enemy target, GameManager.typeOfDamage debuffType) { this.duration = duration; this.procChance = procChance; this.target = target; type = debuffType; }
public void TakeDamage(float damage, GameManager.typeOfDamage projectileDamageType) { if (enemyStats.DamageResistance == projectileDamageType) { damage *= 0.8f; } CalculateDamage(damage); }
public BulletDebuff(float multiplier, float duration, int procChance, Enemy target, GameManager.typeOfDamage debuffType) : base(duration, procChance, target, debuffType) { multiplierShieldRecovery = multiplier; defaultRecoveryTime = target.GetTimeToShieldRecovery(); }
// stun for duration time public CanonDebuff(float duration, int procChance, Enemy target, GameManager.typeOfDamage debuffType) : base(duration, procChance, target, debuffType) { }
public RocketDebuff(float duration, int procChance, float damagePerSecond, Enemy target, GameManager.typeOfDamage debuffType) : base(duration, procChance, target, debuffType) { this.damagePerSecond = damagePerSecond; }