二、百分比减伤公式(Percentage / Multiplicative DR)
公式
Damage = ATK × (1 - DEF%)
或更通用的参数化形式:
DR = k × DEF / (DEF + C)
Damage = ATK × (1 - DR)
其中 k 为减伤上限(通常 < 1),C 为常数。
数学特性
| 特性 | 表现 |
|---|---|
| 上限 | ATK(DEF=0 时) |
| 下限 | 0(DR=100% 时完全免疫) |
| DEF 收益 | 递减:每点 DEF 增加的”生存时间百分比”递增 |
| ATK 收益 | 递减:ATK 越高,每点 ATK 的伤害增长越小 |
EHP 推导
EHP = HP / (1 - DR)
当 DR = DEF/(DEF+C) 时:
EHP = HP × (1 + DEF/C)
每点 DEF 增加 HP/C 的有效生命。每点 DEF 的绝对收益恒定,但相对收益递减。^[腾讯游戏学堂 - 经典战斗公式详解]
核心问题
1. 无敌风险
DEF% 接近 100% 时,EHP 趋向无穷。97%→99% 减伤 = 生存能力 ×3。
解决方案:
- 硬编码上限(如 Warframe 的 90% DR cap)
- 引入递减缩放:
有效DR = 1 - 1/(1 + DR)(Terraria Calamity Mod 采用) - 使用 k < 1 的参数化公式(如 War3 的 k=0.06)
2. DEF 在低端无效、高端恐怖
0%→10% 减伤:生存时间 +11%(影响微弱) 80%→90% 减伤:生存时间 +100%(影响巨大)
这导致低等级时 DEF 无感,高等级时 DEF 过强。
3. 多段攻击天然公平
百分比减伤对每段攻击施加相同比例,所以 10 段 × 20% = 1 段 × 200%,总伤害完全相同。
真实游戏实现
Warcraft 3 — 0.06 护甲系数
减伤% = 0.06 × Armor / (1 + 0.06 × Armor)
负护甲:
增伤% = 2 - 0.94^(-Armor)
| 护甲 | 减伤% | 有效生命 |
|---|---|---|
| 1 | 5.7% | 106% |
| 5 | 23.1% | 130% |
| 10 | 37.5% | 160% |
| 20 | 54.5% | 220% |
| 25 | 60.0% | 250% |
每点护甲增加 6% 基础生命的有效生命。负护甲用不同公式(指数),使得减甲效果在负值区间更激进。^[War3 Battle.net - Armor and Weapon Types]
War3 同时有攻击类型/护甲类型克制表(Normal/Pierce/Siege/Magic/Chaos vs Light/Medium/Heavy/Fortified/Hero/Unarmored),形成 7×6 的伤害倍率矩阵。^[War3 Battle.net]
League of Legends — 每点护甲 = 1% 有效生命
实际伤害 = 原始伤害 × 100 / (100 + Armor)
有效生命 = HP × (1 + Armor/100)
关键设计洞察:
- 每点 Armor 增加 1% EHP,无递减
- 但 Armor 与 HP 之间存在互补关系:已有高 Armor 时堆 HP 更有价值,反之亦然
- 这解释了为什么”均衡出装”(Armor + HP 混合)通常最优
- 穿甲系统:百分比穿甲 → 固定穿甲 → 致命一击(Lethality),逐层削减 Armor
- 致命一击换算:
实际穿甲 = Lethality × (0.6 + 0.4 × 目标等级/18)^[LoL Wiki - Armor]
- 致命一击换算:
Warframe — 乘法叠加多层 DR
实际伤害 = 基础伤害 × (1-DR1) × (1-DR2) × ...
护甲减伤 = 净护甲 / (净护甲 + 300)
- 护甲减伤仅作用于生命值(不作用于护盾)
- 各层 DR 乘法叠加:60% 护甲 + 35% 技能 DR = 74% 总 DR
- 硬上限 90% DR(技能层数封顶)
- 关键:每层 DR 保持恒定比例缩减,不存在”递减”——看起来的递减是感知误差。^[Warframe Wiki - Damage Reduction]
明日方舟法术伤害
法术伤害 = ATK × (1 - RES/100)
与物理伤害的减法公式形成对比:
- 物理:ATK - DEF(减法,有保底 5%)
- 法术:ATK × (1 - RES/100)(百分比,无保底但 RES 可降至 0)
- 这种混合设计创造了物/法双输出体系的策略深度。^[GamePress - Arknights Damage Formula]
适用场景
- ✅ MMO/ARPG(魔兽世界、Warframe)— 长期数值成长
- ✅ 需要多段攻击公平性的游戏
- ✅ 需要明确”每点 DEF 价值”的游戏
- ❌ 需要精确战术计算的战棋
- ❌ 低数值系统(百分比在小数时不直观)
相关概念
- damage-formulas — 伤害公式体系总览
- damage-subtractive — 减法公式
- damage-division — 除法公式
- damage-exponential — 指数公式
- damage-hybrid-formulas — 混合公式
- arpg-damage-formulas — ARPG 伤害公式对比