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; } }