using SepCore.Definition;
namespace SepCore.Battle
{
///
/// 伤害结算输入上下文。
/// 封装攻击方与受击方的属性管线、武器基础伤害、加成属性、暴击等参数。
///
public struct DamageContext
{
///
/// 基础伤害(武器攻击力或敌人基础伤害)。
///
public int BaseDamage;
///
/// 伤害加成属性(近战伤害/远程伤害/元素伤害/None)。
///
public StatType DamageScalingStat;
///
/// 伤害加成系数,默认 1.0f。
///
public float ScalingRatio;
///
/// 基础暴击率(例如来自武器或全局配置)。
///
public float BaseCritChance;
///
/// 暴击伤害倍率(例如 1.5f 或 2.0f)。
///
public float CritMultiplier;
///
/// 攻击方属性修饰管线(可为 null,如普通怪物未挂载管线)。
///
public IAttributeProvider AttackerPipeline;
///
/// 防御方属性修饰管线(可为 null,如普通怪物未挂载管线)。
///
public IAttributeProvider DefenderPipeline;
///
/// 防御方备用护甲(当 DefenderPipeline 为 null 时生效)。
///
public float FallbackDefenderArmor;
///
/// 防御方备用闪避率(当 DefenderPipeline 为 null 时生效)。
///
public float FallbackDefenderDodge;
}
}