洛克王国世界伤害计算公式详解(公式 v3)
一句话答案
伤害并不是「威力减防御」的近似式,而是「攻击 ÷ 防御」的比值结构:同等级下,攻击值翻倍、伤害就翻倍;防御值翻倍、伤害就减半。所有倍率(本系、克制、攻防等级)都乘在「显示威力」上,整条链路只在最后做一次向下取整——中间任何一步取整都会让结果差 1 点。
一、总公式
伤害 = 攻击值 × 显示威力 × 等级系数 ÷ 防御值 × 最终倍率 (仅此处向下取整)
显示威力 = 有效威力 × 本系修正 × 克制倍率 × 攻防等级系数 (不取整,保留小数)
有效威力 = (基础威力 + 固定威力增量) × (1 + 威力增幅%) × (1 + 特性威力增幅%) (不取整)
等级系数 = (等级 × 45 / 100 + 10) / 41| 符号 | 含义 | 取值要点 |
|---|---|---|
| 攻击值 | 物理技取「攻击」,魔法技取「魔攻」 | 由属性面板与战斗内等级变化决定 |
| 防御值 | 物理技取「防御」,魔法技取「魔防」 | 同上,与攻击侧一一对应 |
| 基础威力 | 技能自身的威力数值 | 部分技能每次使用会永久成长,见第七节 |
| 固定威力增量 | 技能或效果带来的固定加值 | 与基础威力同区相加 |
| 威力增幅% | 效果类威力提升 | 与特性增幅分属两个独立乘区 |
| 特性威力增幅% | 特性提供的威力提升 | 单独一档,不与效果增幅合并 |
| 本系修正 | 技能属性与使用者的属性一致时的加成 | 固定为 1.25 |
| 克制倍率 | 按防守方属性查表合成 | 见第四节 |
| 攻防等级系数 | 双方攻防能力等级变化的比值 | 见第五节 |
| 最终倍率 | 上述之外的最后一道乘区 | 由实际效果与结算上下文决定 |
计算顺序:先算有效威力(不取整)→ 再乘本系 / 克制 / 攻防等级得到显示威力(不取整)→ 最后代入总公式,只向下取整一次。
二、三个乘区的分工
- 有效威力区:处理「这个技能本身有多强」——基础威力、固定增量、效果增伤、特性增伤。
- 显示威力区:处理「这一击打得准不准」——本系、属性克制、攻防等级。
- 伤害区:用攻击 ÷ 防御的比值结构把威力换算成实际扣血,最后向下取整。
关键在于:前两区都不取整。因为本系 1.25 与克制 0.5 会造出 112.5、187.5、62.5 这种带小数的一半值,一旦提前取整,结果就会系统性偏 1 点——这正是过去「明明算对了却总是差 1」的根因。
三、取整规则(v3)
本作有两条完全不同的取整链,不要混用:
3.1 属性面板链:float32 + 先除后乘 + 四舍五入
面板计算全程使用 float32,而且先做除法再乘:
HP = (core / 100f) × (等级 + 25) + 等级 + 10
非 HP = (core / 200f) × (等级 + 50) + 10
core = 2 × 种族值 + 公式个体每一步都落成 float32,再 floor(x + 0.5)(UE4 的 RoundToInt)。先除后乘是硬要求——core / 200 的 float32 表示误差会被后面的乘法放大,决定数学上的 .5 落到半点哪一侧:
| core | f32(core/200) | × 110 后 | 结果 |
|---|---|---|---|
| 210 | 1.0499999523(偏小) | 115.4999924 | 向下 → 125 |
| 230 | 1.1499999762 | 126.4999974 → 舍入回 126.5 | 向上 → 127 |
所以「同样恰为 .5,有时向上有时向下」不是规则不一致,而是 float32 漂移。这一条用 21 只精灵 / 126 个资质页点值验证,命中 124 个。
3.2 伤害链:中间不取整,最后向下取整
伤害 = floor(攻击 × 显示威力 × 等级系数 ÷ 防御 × 最终倍率)| 数学值 | 伤害链结果 |
|---|---|
| 181.003 | 181 |
| 233.990 | 233 |
| 215.977 | 215 |
注意 181.003 这种「刚好压线」的值:它离 181 只差 0.003,说明中间量确实一路带着小数走到最后,没有任何一步被提前取整。
四、属性克制倍率怎么合成
克制在防守方侧按双属性逐条查表后合成,规则是「克制相加、抵抗相乘」:
- 被克一次 → ×2;
- 被克两次 → ×3(加法:1 + 被克次数,不是 ×4);
- 被抵抗一次 → ×0.5(多次抵抗按乘法叠加,两次即 ×0.25);
- 一克一抗 → ×1;
- 表外组合 → ×1。
「被克两次 = ×3」在本版已有实机硬证据:草系 80 威力打「光 + 地面」双克制目标,实机 215;按加算 3.0 精确得 215.98 → 215,按乘算 4.0 会得 287。
五、攻防等级系数
攻防等级系数 = (1 + 我方攻击提升率 + 敌方防御降低率) ÷ (1 + 我方攻击降低率 + 敌方防御提升率)- 提升类与降低类的效果分别累加到分子与分母,不互相抵消后再算;
- 因此「我方攻击 +50%」与「敌方防御 −50%」叠在一起,会得到比单看任一项更高的系数;
- 减益的方向由层数的符号决定:敌方减益(负层数)对我方收益为正。
六、等级系数
等级系数 = (等级 × 45 / 100 + 10) / 41- 60 级:
(27 + 10) / 41 = 37 / 41 ≈ 0.9024,这是目前实证最充分的一档(PVP 平衡 60 级); - 系数形态与常数(45 / 10 / 41)来自游戏内全局配置表,对所有等级同式成立;非 60 级按同式推算,但逐级尚未逐点实测。
七、技能威力会自己长大
有相当一批技能的威力是可成长的,计算时要用「当前威力」而不是「初始威力」:
| 技能 | 成长规则 | 例 |
|---|---|---|
| 齿轮扭矩 | 每回合位置发生变化时,本技能威力永久 +15 | 第 1 击 85、第 2 击 100 |
| 吹火 | 每次使用后,本技能威力永久 +20 | 第 1 击 50、第 2 击 70 |
同理,特性提供的威力增幅是独立乘区(例如火神特性的火系伤害 +20%),乘在有效威力上而不是加到最终伤害上。
实机对照:火神用吹火(威力 70)打光系目标,70 × 1.25 × 1.2 = 105 显示威力 → 285 × 105 × 0.9024 ÷ 175 = 154.32 → 154,与实机一致。
八、18 属性克制表(攻击视角)
「克」= 攻击方打该属性 ×2;「减半」= 该属性抵抗此攻击 ×0.5;两段都未列出的组合为 ×1。
| 攻击属性 | 克制(×2) | 被抵抗(×0.5) |
|---|---|---|
| 普通 | 无 | 地 / 幽 / 机械 |
| 草 | 水 / 光 / 地 | 火 / 龙 / 毒 / 虫 / 翼 / 机械 |
| 火 | 草 / 冰 / 虫 / 机械 | 水 / 地 / 龙 |
| 水 | 火 / 地 / 机械 | 草 / 冰 / 龙 |
| 光 | 幽 / 恶 | 草 / 冰 |
| 地 | 火 / 冰 / 电 / 毒 | 草 / 武 |
| 冰 | 草 / 地 / 龙 / 翼 | 火 / 冰 / 机械 |
| 龙 | 龙 | 机械 |
| 电 | 水 / 翼 | 草 / 地 / 龙 / 电 |
| 毒 | 草 / 萌 | 地 / 毒 / 幽 / 机械 |
| 虫 | 草 / 恶 / 幻 | 火 / 毒 / 武 / 翼 / 萌 / 幽 / 机械 |
| 武 | 普通 / 地 / 冰 / 恶 / 机械 | 毒 / 虫 / 翼 / 萌 / 幽 / 幻 |
| 翼 | 草 / 虫 / 武 | 地 / 龙 / 电 / 机械 |
| 萌 | 龙 / 武 / 恶 | 火 / 毒 / 机械 |
| 幽 | 光 / 幽 / 幻 | 普通 / 恶 |
| 恶 | 毒 / 萌 / 幽 | 光 / 武 / 恶 |
| 机械 | 地 / 冰 / 萌 | 火 / 水 / 电 |
| 幻 | 光 / 毒 / 武 | 机械 / 幻 |
使用方式:先看防守方有哪几个属性,逐个查「被克 / 被抵抗」,再按第四节合成一个倍率。
九、属性面板怎么算出来
伤害公式的输入是战斗内的攻防数值,因此需要先算面板。面板由三个互相独立的培养项决定:
| 培养项 | 取值范围 | 对面板的作用 |
|---|---|---|
| 等级 | 1–60(现版本上限 60,后续版本可能提高) | 直接进入面板公式,并决定等级系数 |
| 星级(星级突破) | 0–10 星 | 每 1 星把「公式个体」放大一档 |
| 成长等级 | 从 0 开始,每星 10 级,最高 100 | 单独提供星级成长值:HP 每级 +2,其他属性每级 +1 |
- 等级是精灵本身练到多少级,独立培养,星级完全不影响等级——0 星精灵同样可以一路练到 60 级;反过来,60 级精灵停在 0 星也是合法状态。
- 星级与等级之间不存在任何门槛:1 级精灵只要成长等级和材料到位,一样可以直接升到 10 星。
- 成长等级每满 10 级可以突破 1 次星级;升星的唯一门槛方向是「成长等级 + 材料 → 星级」。
- 同一星级下成长等级可以不同,因此两只同为 3 星的精灵,面板也可能有差距。
面板公式按「取整 → 乘性格 → 取整 → 加成长值」的顺序执行(取整按第 3.1 节的 float32 口径):
公式个体 = 原始个体(0~10) × (星级 + 1)
HP = (core / 100f) × (等级 + 25) + 等级 + 10
→ RoundToInt → × (1 + 性格修正) → RoundToInt → + 2 × 成长等级
非 HP = (core / 200f) × (等级 + 50) + 10
→ RoundToInt → × (1 + 性格修正) → RoundToInt → + 1 × 成长等级性格修正:提升项 = 10% + 2% × 星级(0 星 10% → 5 星 20%),降低项恒 −10%。
升到各星级所需的成长等级:
| 目标星级 | 成长等级门槛 |
|---|---|
| 1 星 | 10 |
| 2 星 | 20 |
| 3 星 | 30 |
| 4 星 | 40 |
| 5 星 | 50 |
| 6 星 | 60 |
| 7 星 | 70 |
| 8 星 | 80 |
| 9 星 | 90 |
| 10 星 | 100 |
成长等级最高 100 级(10 星满配),此时成长值加成为 HP +200、其他属性 +100。
站内伤害计算器默认展示「60 级 / 5 星 / 成长 50」的标准配置。
小提示:游戏内资质页显示的「个体」是取整后的展示值,个别精灵会出现比真实值差 1 的情况(已确认存在),所以对拍时优先用「种族值 + 已知个体」重算,不要直接抄面板。
十、0 伤害与边界
- 基础威力区 ≤ 0,或有效威力 ≤ 0 → 伤害直接为 0,不再进入后续乘区;
- 伤害本体向下取整,因此很小的非零结果会变成 0;
- 攻击值与防御值都取自同一侧(物理对物理、魔法对魔法),不跨侧混用。
十一、FAQ(直答)
Q:一次攻击的手算步骤是什么?
A:①算有效威力(基础 + 固定增量,乘两档增幅),不取整;②乘本系 1.25、克制倍率、攻防等级系数得显示威力,不取整;③代入「攻击 × 显示威力 × 等级系数 ÷ 防御 × 最终倍率」;④只在这里向下取整。
Q:为什么我算出来和游戏差 1 点?
A:绝大多数是「中间取整」造成的。本公式的伤害链只允许最后一次向下取整;只要在有效威力或显示威力上提前取整(哪怕只是四舍五入),遇到 112.5 / 187.5 / 62.5 这类一半值就会系统性偏 1。
Q:面板为什么也会差 1 点?
A:面板链是 float32 + 先除后乘 + RoundToInt,数学上的 .5 会因为 float32 表示误差落到半点两侧。本文第 3.1 节给了两个典型对照(core=210 向下、core=230 向上)。
Q:双属性被同一技能克制两次,是 ×4 吗?
A:不是,是 ×3。克制按加法合成(1 + 被克次数),抵抗才按乘法叠乘。实机已用草打「光 + 地面」验证(215,而非乘算的 287)。
Q:一克一抗怎么算?
A:×1。克制与抵抗同时命中时互相抵消。
Q:本系加成是多少?
A:1.25。只有当技能属性与使用者属性一致时生效。
Q:物理和魔法有什么区别?
A:只在于取哪一对数值——物理技取攻击 / 防御,魔法技取魔攻 / 魔防。公式结构完全相同。
Q:技能用第二次为什么伤害变高了?
A:部分技能的威力会成长(齿轮扭矩 +15/次、吹火 +20/次),另外特性可能提供独立的威力增幅乘区(如火神的火系 +20%)。这类技能要把「当前威力」代入公式。
Q:60 级以外的数值能直接套吗?
A:结构同式成立(系数由等级线性给出),但逐级尚未逐点实测;站内计算器对非 60 级给的是结构推算值。
数据与口径说明
- 公式来源:总公式结构、取整口径、面板属性公式、克制合成与攻防等级系数,均来自游戏内配置表(属性系数表、性格表、克制表)与实机对拍。
- 实证规模:属性链 21 只精灵 / 126 个资质页点值(124 命中,2 处已登记为个体显示偏差);伤害链 9 个命中点(大小号 7 场对打,全部命中)。
- 仍在观察:①连击技是「总伤害 floor」还是「单段 floor × 段数」尚缺一个确定的多段样本;②个别精灵的资质页个体显示与公式口径差 1。
- 本文最后核验:2026-10-29。
说明:本文所有游戏内机制公式部分参考网络与实机观测推导,欢迎勘误。