火焰纹章英雄数据 关于伤害计算精确值的研究 作为一个带有个体具体数据的战旗游戏,有时玩家们的排兵布阵和攻防选择必须充分考虑具体伤害的计算,怎样能秒杀对手?怎么样能成功防御?下面一起来看看伤害计算研究!
众所周知,火纹的伤害计算简单粗暴,攻击减防御嘛,通常都是用下面不带奥义的公式
伤害 = (攻击*(1+相性修正)*特效修正-守备/魔防)*治疗惩罚
而使用时,由于伤害是没有小数的,计算过程或结果中必然会有取整的过程,而这过程中产生的误差有时会让我们困惑。
比如:
19攻红剑对绿斧的攻击力为22。公式计算 19*1.2 = 22.8好像没问题。
19攻红剑对蓝枪的攻击力为16。公式计算 19*0.8 = 15.2,唔向上取整好像也没问题;欸不对,怎么一个向上取整一个向下取整,规律不一样啊?
25攻破甲剑对绿重甲攻击力为44。公式计算 25*1.2*1.5 = 45。欸卧槽这游戏是不是出BUG了,怎么我的伤害被吃掉了1点?
(额外一组数据:38攻破甲枪对绿重甲攻击力为46。
以上四组数据是笔者构建模型的核心数据来源,尤其是后面两组。如有同样符合上面数据的模型,欢迎探讨)
PS:本文是对精确数值的探讨,许多人可能对1-2点的误差不以为意,也有人认为1-2点的误差可能决定了生死。
正文
伤害 = 攻击 - 守备/魔防
攻击修正:先计算特效,再计算相性,最后加上奥义。
终值 = [攻击 * 特效] + [[攻击 * 特效] * 相性] + 奥义
注:
相性指-40%~+40%的三属克制
[]指计算机去小数部分取整,而非高斯取整(如:11.6≈11, -11.6≈-11)
预修正:强化/弱化
基值修正:oriAtk = 面板攻击力+修正值
如:狮子奋迅,攻击的纹章等
特效修正:atk1 = [oriAtk * 1.5]
如:重甲特效等
相性修正:atk2 = atk1 + [atk1 * 相性]
如:相性激化,旭日之剑
注:相性修正效果不可叠加,多个相性激化/相性武器取较大值(目前相性修正最低-40%,最高+40%)
奥义修正:atk3 = atk2 + 攻击/守备/魔防 * 奥义系数
如:龙穿,冰华,华炎,复仇等。
注:龙穿,伏龙疑似描述错误,实际效果为在特效相性修正后加上原始攻击*奥义的数值,即与冰华,华炎等原理完全相同(理应描述一致),而非对基值的修正。
注:这里的 攻击/守备/魔防 是指经过纹章等效果修正后的基值,其中攻击是指在特效和相性修正前的数值。
守备/魔防修正:目前只有攻方奥义可以修正(以守备为例,魔防同理)
终值 = 基值 + [基值 * 奥义]
预修正:强化/弱化
基值修正:oriDef = 面板攻击力+修正值
如:狮子奋迅,守备的纹章等
奥义修正:def1 = oriDef + 守备 * 奥义系数
如:月光,月虹。
注:攻方奥义系数通常为负。
伤害修正:先计算治疗惩罚,再计算攻方奥义,最后计算守方奥义。
终值 = [(最终攻击-守备/魔防)*治疗惩罚系数] * 攻方奥义 +[[(最终攻击-守备/魔防)*治疗惩罚系数] * 攻方奥义 * 守方奥义]
基值 = 最终攻击-守备/魔防
治疗惩罚
如果攻方属性为杖
伤害 = [伤害*0.5]
攻方奥义修正
伤害 = [伤害*攻方奥义系数]
如:流星,天空
守方奥义修正
伤害 = 伤害 + [伤害 * 守方奥义系数]
如:大盾,圣盾
注:守方奥义系数通常为负数。
PS: 由于数值计算的流程是分步计算,故而写在同一个式子通常很难看(而且还不能合并同类项,因为要取整),分步流程比起式子应当更为实用。
官方版火焰纹章英雄