45 lines
1.2 KiB
C#
45 lines
1.2 KiB
C#
using System.Runtime.InteropServices;
|
|
|
|
namespace SepCore.Definition
|
|
{
|
|
[StructLayout(LayoutKind.Auto)]
|
|
public struct ImpactData
|
|
{
|
|
public CampType Camp { get; }
|
|
|
|
public int AttackBase { get; }
|
|
|
|
public DamageType DamageType { get; }
|
|
|
|
public float ScalingRatio { get; }
|
|
|
|
public float BaseCritChance { get; }
|
|
|
|
public float CritMultiplier { get; }
|
|
|
|
public IAttributeProvider AttributeProvider { get; }
|
|
|
|
public ImpactData(
|
|
CampType camp,
|
|
int attackBase,
|
|
IAttributeProvider attributeProvider = null,
|
|
DamageType damageType = DamageType.None,
|
|
float scalingRatio = 1.0f,
|
|
float baseCritChance = 0f,
|
|
float critMultiplier = 0f)
|
|
{
|
|
Camp = camp;
|
|
AttackBase = attackBase;
|
|
AttributeProvider = attributeProvider;
|
|
DamageType = damageType;
|
|
ScalingRatio = scalingRatio;
|
|
BaseCritChance = baseCritChance;
|
|
CritMultiplier = critMultiplier;
|
|
}
|
|
|
|
public ImpactData(CampType camp, int attackBase)
|
|
: this(camp, attackBase, null, DamageType.None, 1.0f, 0f, 0f)
|
|
{
|
|
}
|
|
}
|
|
} |