public override float GetDamage(params Unit[] targets) { float rawDamage = this.RawDamage; Unit target = ((IEnumerable<Unit>)targets).First<Unit>(); float damageReduction = DamageHelpers.GetDamageReduction(this, target, DamageType.Physical); var finalDamage = DamageHelpers.GetSpellDamage(rawDamage, 0, damageReduction); return finalDamage; }