Loy Showdown
本文来自 文章专区 · 点赞 / 评论请进入互动版进入互动版

洛克王国世界伤害计算公式详解(公式 v3)

作者:tangxuhe · 机制百科 · 发布于 2026-10-25T17:55:12.812582977+00:00 · 更新于 2026-11-02T11:31:52.038958750+00:00 · 阅读 50

一句话答案

伤害并不是「威力减防御」的近似式,而是「攻击 ÷ 防御」的比值结构:同等级下,攻击值翻倍、伤害就翻倍;防御值翻倍、伤害就减半。所有倍率(本系、克制、攻防等级)都乘在「显示威力」上,整条链路只在最后做一次向下取整——中间任何一步取整都会让结果差 1 点。

一、总公式

伤害       = 攻击值 × 显示威力 × 等级系数 ÷ 防御值 × 最终倍率   (仅此处向下取整)
显示威力   = 有效威力 × 本系修正 × 克制倍率 × 攻防等级系数        (不取整,保留小数)
有效威力   = (基础威力 + 固定威力增量) × (1 + 威力增幅%) × (1 + 特性威力增幅%)   (不取整)
等级系数   = (等级 × 45 / 100 + 10) / 41
符号含义取值要点
攻击值物理技取「攻击」,魔法技取「魔攻」由属性面板与战斗内等级变化决定
防御值物理技取「防御」,魔法技取「魔防」同上,与攻击侧一一对应
基础威力技能自身的威力数值部分技能每次使用会永久成长,见第七节
固定威力增量技能或效果带来的固定加值与基础威力同区相加
威力增幅%效果类威力提升与特性增幅分属两个独立乘区
特性威力增幅%特性提供的威力提升单独一档,不与效果增幅合并
本系修正技能属性与使用者的属性一致时的加成固定为 1.25
克制倍率按防守方属性查表合成见第四节
攻防等级系数双方攻防能力等级变化的比值见第五节
最终倍率上述之外的最后一道乘区由实际效果与结算上下文决定

计算顺序:先算有效威力(不取整)→ 再乘本系 / 克制 / 攻防等级得到显示威力(不取整)→ 最后代入总公式,只向下取整一次。

二、三个乘区的分工

  1. 有效威力区:处理「这个技能本身有多强」——基础威力、固定增量、效果增伤、特性增伤。
  2. 显示威力区:处理「这一击打得准不准」——本系、属性克制、攻防等级。
  3. 伤害区:用攻击 ÷ 防御的比值结构把威力换算成实际扣血,最后向下取整。

关键在于:前两区都不取整。因为本系 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 落到半点哪一侧:

coref32(core/200)× 110 后结果
2101.0499999523(偏小)115.4999924向下 → 125
2301.1499999762126.4999974 → 舍入回 126.5向上 → 127

所以「同样恰为 .5,有时向上有时向下」不是规则不一致,而是 float32 漂移。这一条用 21 只精灵 / 126 个资质页点值验证,命中 124 个。

3.2 伤害链:中间不取整,最后向下取整

伤害 = floor(攻击 × 显示威力 × 等级系数 ÷ 防御 × 最终倍率)
数学值伤害链结果
181.003181
233.990233
215.977215

注意 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。
说明:本文所有游戏内机制公式部分参考网络与实机观测推导,欢迎勘误。