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