49 lines
1.7 KiB
C#
49 lines
1.7 KiB
C#
using System.Collections.Generic;
|
|
using SLSUtilities.FunctionalAnimation;
|
|
using SLSUtilities.General;
|
|
|
|
namespace Cielonos.MainGame
|
|
{
|
|
public static partial class Attack
|
|
{
|
|
public class Value : ICloneable<Value>
|
|
{
|
|
public bool isCritical;
|
|
public float damage;
|
|
public float stanceDepletion;
|
|
public Type type;
|
|
public Breakthrough.Type breakthroughType;
|
|
public DisruptionType disruptionType;
|
|
public List<string> 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<string> 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<string>(tags) : new List<string>();
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|
|
}
|
|
}
|