public override CombatResults CalculateResults(StatsPackage caster, StatsPackage target) { int amount = (int)(target.Health * 0.2); if (DoesAttackCrit(caster)) { amount = ApplyCriticalDamage(amount, caster); } target.AddHealth(amount); return(new CombatResults() { Caster = caster, Target = target, UsedAbility = this }); }
public override CombatResults CalculateResults(StatsPackage caster, StatsPackage target) { for (int i = 0; i < target.AppliedEffects.Count; i++) { if (target.AppliedEffects[i].IsHarmful) { target.PurgeEffect(target.AppliedEffects[i]); } } target.AddHealth((int)(target.MaxHealth * 0.25)); target.ApplyEffect(new Effect_IceBlock(target)); return(new CombatResults() { Caster = caster, Target = target, UsedAbility = this }); }