using System.Collections.Generic; using SLSUtilities.FunctionalAnimation; using SLSUtilities.General; namespace Cielonos.MainGame { public static partial class Attack { public class Value : ICloneable { public bool isCritical; public float damage; public float stanceDepletion; public Type type; public Breakthrough.Type breakthroughType; public DisruptionType disruptionType; public List tags; public bool isDamageNegated = false; public float damageMultiplier = 1f; public float additionalFlatDamage = 0f; public Value(bool isCritical, float damage, float stanceDepletion, Type type, DisruptionType disruptionType = DisruptionType.None, Breakthrough.Type breakthroughType = Breakthrough.Type.None, List tags = null) { this.isCritical = isCritical; this.damage = damage; this.stanceDepletion = stanceDepletion; this.type = type; this.disruptionType = disruptionType; this.breakthroughType = breakthroughType; this.tags = tags != null ? new List(tags) : new List(); } public Value Clone() { Value cloned = new Value(isCritical, damage, stanceDepletion, type, disruptionType, breakthroughType, tags); cloned.damageMultiplier = this.damageMultiplier; cloned.additionalFlatDamage = this.additionalFlatDamage; cloned.isDamageNegated = this.isDamageNegated; return cloned; } } } }