Files
vampire-like/Assets/GameMain/Scripts/Runtime/Battle/DamageContext.cs
T
2026-09-18 21:43:22 +08:00

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