using Milimoe.FunGame.Core.Entity; namespace Milimoe.FunGame.Core.Model { /// /// 精准的分步控制伤害计算 /// public class DamageCalculationOptions { /// /// 完整计算伤害 /// public bool NeedCalculate { get; set; } = true; /// /// 计算减伤 /// public bool CalculateReduction { get; set; } = true; /// /// 计算暴击 /// public bool CalculateCritical { get; set; } = true; /// /// 计算闪避 /// public bool CalculateEvade { get; set; } = true; /// /// 计算护盾 /// public bool CalculateShield { get; set; } = true; /// /// 触发特效 /// public bool TriggerEffects { get; set; } = true; /// /// 无视免疫 /// public bool IgnoreImmune { get; set; } = false; /// /// 伤害基底(期望) /// internal double ExpectedDamage { get; set; } = 0; /// /// 特效伤害加成记录(乘区1:暴击和减伤计算前) /// internal Dictionary BeforeDamageBonus { get; set; } = []; /// /// 暴击伤害 /// internal double CriticalDamage { get; set; } = 0; /// /// 伤害减免 /// internal double DefenseReduction { get; set; } = 0; /// /// 特效伤害加成记录(乘区2:暴击和减伤计算后) /// internal Dictionary AfterDamageBonus { get; set; } = []; /// /// 最终伤害 /// internal double FinalDamage { get; set; } = 0; /// /// 护盾减免 /// internal double ShieldReduction { get; set; } = 0; /// /// 实际造成伤害 /// internal double ActualDamage { get; set; } = 0; } }