伤害公式

基础伤害公式

所有战斗伤害的基础计算遵循以下公式:

BaseDamage = ATK × SkillMultiplier × (1 + DamageBonus)

EffectiveDamage = BaseDamage × (1 - TargetDEF / (TargetDEF + 100))
  • ATK — 攻击者的总攻击力(基础 + 装备 + Buff)
  • SkillMultiplier — 技能的伤害倍率,默认普攻为 1.0
  • DamageBonus — 各类伤害加成的总和(百分比)
  • TargetDEF — 目标的防御力(含护甲穿透后的有效值)

暴击计算

if (random() < CritRate) {
    FinalDamage = EffectiveDamage × (CritDamage / 100)
} else {
    FinalDamage = EffectiveDamage
}
  • CritRate — 暴击率,默认 5%(0.05)
  • CritDamage — 暴击伤害倍率,默认 150%
  • 暴击伤害在防御减免之后计算,是乘法关系

元素伤害加成

ElementDamage = BaseDamage × ElementBonus × (1 - TargetElementResist / 100)

TotalDamage = PhysicalDamage + ElementDamage
  • ElementBonus — 攻击者对应元素的加成百分比
  • TargetElementResist — 目标对应元素的抗性(上限 75%)
  • 元素伤害独立计算,最终与物理伤害相加
  • 多种元素伤害可同时生效

防御减免

防御力采用递减收益公式,确保堆防御不会完全免疫伤害:

DR% = DEF / (DEF + 100)

// 例:
// DEF = 50  → DR = 33.3%
// DEF = 100 → DR = 50.0%
// DEF = 200 → DR = 66.7%
// DEF = 300 → DR = 75.0%
  • 防御减免对物理伤害生效
  • 护甲穿透直接减少目标的有效 DEF,计算在减免之前
  • 公式保证防御永远不会达到 100% 减免