基础伤害公式
所有战斗伤害的基础计算遵循以下公式:
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% 减免