引入属性、伤害管线
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user