前置概念
伤害类型
封印者有物理、魔法两种伤害类型和物理,魔法,双修三种职业。 一个角色属于什么职业可以在创建角色时观察,也可以看其技能有没有物理倍率,有没有魔法倍率。
以下是几点必备基础知识,在下文伤害组成部分会详细展开:
- 伤害计算的基本单元是hit。
- 物理和魔法虽然计算伤害时引用的数据不一样,但伤害计算逻辑是一样的。
- 双修职业只是同时拥有两种伤害类型。
- 即便一个技能同时有物理和魔法倍率,其每一hit也要么是纯物理伤害,要么是纯魔法伤害。
因此,本模块会以物理伤害为例,用一套伤害计算系统涵盖封印者的所有伤害计算。
当然,每一处会同时指出如果是魔法伤害,计算有何异同。
衰减公式
对部分不应过分叠加的能力,如攻击速度,有一种特殊的叠加方式(下文称衰减公式)。
假设面板上有能力提升,现在额外得到了一个能力提升的词条,那么面板上的能力提升数值将变成:
可以验证,小于100%(可以趋向负无穷)的能力“提升”词条作为算子关于衰减运算构成一个以0%为单位元的交换群(封闭,可结合,可交换,可逆)。
通俗的说,对两个提升分别为a%和b%的词条,加在一起时在任何情况下都等于一个的词条,哪怕a和b不是正的。
上文对封圈公理给出了明确的定义和定义域,使得我们可以清晰的解释若干个词条合并后的等效词条(可结合),也可以明确说明能力减少词条(火焰武)和基础攻速不为1(野兽武)等情况
蓝值,白值,装备品质与白板值
白值和蓝值就是习惯命名法,可以通过装备属性界面不同数字的颜色判别出来。
白值为获得装备时装备本身的攻击力,蓝值为通过装备强化获得的属性。
同一种装备的白值也可能不一样,因为白值还会受到装备品质(0%~100%)的加成。
即使装备品质是0%,它对装备白值的贡献也不是0。
装备品质与白值
表格数据来自无限火焰锤
白值关于装备品质的关系接近一次函数
| 品质 | 35 | 46 | 50 | 72 | 91 |
|---|---|---|---|---|---|
| 白值 | 5890 | 5962 | 5988 | 6131 | 6255 |
6255-(6255-5988)/(91-50)*91=5662.4
6131-(6131-5962)/(72-46)*72=5663
5988-(5988-5890)/(50-35)*50=5661.3
按照线性关系任取两点估算的0%品质白值都在误差容许范围内
拟合一下?
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>>
>>> x = np.array([35,46,50,72,91])
>>> y = np.array([5890,5962,5988,6131,6255])
>>>
>>> z = np.polyfit(x, y, 4)
>>> p = np.poly1d(z)
>>> print(p)
4 3 2
-1.208e-06 x + 0.0003271 x - 0.03199 x + 7.844 x + 5642
x小于100时二次以上的项和一次项存在接近数量级的差距
白板值是作者自己定义的名词,它是抛离了装备品质数据的,由装备唯一确定的理论值。
但装备品质是武器的固有属性无法被剥离,因此白板值仅能从强化机中的升级预览页面或韩服官网更新公告中获得。
对任意级别的武器和模块,100%品质下的白值约等于1.45倍的白板值。
白板值应用场景不多,仅有武器的追加攻击力%词条数值计算(见下文基础数值攻击力部分)和预估超越收益。
work in progress
下表展示49%品质和100%品质的武器白值与该武器白板值的比值。
比值与装备分级无关(变量控制:暴食模胚(史诗)和波动模胚(传说))。
矛盾点:野兽红49%白值6600,100%白值6967,不符合倍率关系
制作机中的展示的49%品质和玩家手中的49%品质是否一致?
| 装备品种 | 49% | 100% |
|---|---|---|
| 武器 | 1.25 | ~1.45 |
| 模块/护盾 | 1.375 | ~1.45 |
| 接收器 | ~1.48 | ~1.86 |