【本文目标】探究天龙八部伤害计算的内在逻辑,验证属性伤害公式、内外功伤害公式的正确性。
〇、基础知识
在阅读本文之前,需要先了解如下内容:
【专业数据分析与实测】再谈天龙八部内外功伤害
https://tieba.baidu.com/p/6340702848
【实测】如何准确计算自己的平推打怪伤害?
https://tieba.baidu.com/p/6298491373
【寒玉谷实测】武当冰火玄毒四属性系数
https://tieba.baidu.com/p/6306233590
有了上面的基础,我们就可以通过面板来计算【预期伤害】,然后与测试得到的【实际伤害】进行比较。
两者相差越小,则越接近真实情况。
众所周知,伤害由三个部分组成,分别是属性伤害、内外功伤害、穿刺伤害。
下面我们根据面板,只通过公式计算得出这三种伤害,最后相加得到【预期伤害】。
一、计算属性伤害
该测试帐号为武当(其他门派与此类似),四种属性分别为:
冰:1535、火:1225、玄:14538、毒:775
通过客户端文件MonsterAttrExTable.txt查询寒玉谷BOSS的四抗为90。
该帐号的四属性减抗均过100,因此四种属性均可以完全发挥。
该帐号玄属性下限48,其他三种属性无下限。
通过客户端文件AttackTraits.txt查询武当的属性系数分别为:
冰:1.25、火:1.2、玄:1.1、毒:1.0
根据公式:
属性伤害=属性*属性系数*减抗下限
代入上面的公式分别求出四种属性伤害:
冰伤害=1535*1.25=1918
火伤害=1225*1.2=1470
玄伤害=14538*1.1*1.48=23667
毒伤害=775*1=775
(以上计算忽略了小数部分,即向下取整)
四种属性总伤害=1918+1470+23667+775=27830。
该伤害是对其他玩家的伤害值,对怪物的伤害值要乘以5,若暴击则再乘以2。
二、计算内外功伤害
内外功伤害公式:
内功攻击伤害=门派内攻系数*内攻^2/(内攻+内防)
外功攻击伤害=门派外攻系数*外攻^2/(外攻+外防)
通过客户端文件AttackTraits.txt查询武当的内功系数为0.07125,外功系数为0.003875。
通过客户端文件MonsterAttrExTable.txt查询寒玉谷BOSS内防、外防均为8184。
该帐号的内功为68493,修炼增加的内功为8929,总内功为68493+8929=77422。
该帐号的外功为26516,修炼增加的外功为1142,总外功为26516+1142=27658。
代入上面的公式:
内功伤害:0.07125*77422*77422/(77422+8184)=4988
外功伤害:0.003875*27658*27658/(27658+8184)=82
(以上计算忽略了小数部分,即向下取整)
内外功伤害=4988+82=5070。
该伤害是对其他玩家的伤害值,对怪物的伤害值要乘以5,若暴击则再乘以2。
三、计算穿刺伤害
穿刺伤害比较简单,穿刺伤害=穿刺攻击-穿刺防御。
怪物的穿刺防御均为0,因此穿刺伤害可以完全发挥。
该帐号的穿刺攻击为7585,则怪物的穿刺伤害(暴击)为7585*5*2=75850。
四、实测
将上面的属性伤害、内外功伤害、穿刺伤害相加:
27830+5070+7585=40485
即根据理论,计算出本帐号对寒玉谷BOSS的【预期伤害】为:
40485*5*2=404850
下面我们开始进行实际测试。
进寒玉谷,使用【新手攻击】技能不停攻击BOSS。
(注意:使用新手攻击是为了避免手少阳对门派平推伤害造成的影响,同时也避免项链忘无雕纹对伤害的影响。但新手攻击仍然会触发神器吸血和令牌四象归一效果,测试时需要注意)
本帐号的穿刺为7585,当穿刺伤害为75850时,即为【排除浮动】后的【实际伤害】:

329040+75850=404890
根据公式计算的理论伤害为404850,实际伤害为404890,相差40点,误差为0.01%。
【误差解释】该误差应该是小数点的取整方式造成的。我的计算方法直接忽略了小数部分,即向下取整。天龙八部服务器真实的伤害计算过程中,对小数部分如何处理我们并不清楚。可能是四舍五入,也可能是向上取整,我们无从得知。
但已经可以基本证实本文使用的伤害计算方法,以及引用的计算公式是正确的。
【总结】使用本文的计算方法,对于任何一个给定帐号,只要已知其四属性(包括减抗和下限)、内外功、穿刺,就可以直接计算出准确的打怪伤害,误差仅为0.01%。
〇、基础知识
在阅读本文之前,需要先了解如下内容:
【专业数据分析与实测】再谈天龙八部内外功伤害
https://tieba.baidu.com/p/6340702848
【实测】如何准确计算自己的平推打怪伤害?
https://tieba.baidu.com/p/6298491373
【寒玉谷实测】武当冰火玄毒四属性系数
https://tieba.baidu.com/p/6306233590
有了上面的基础,我们就可以通过面板来计算【预期伤害】,然后与测试得到的【实际伤害】进行比较。
两者相差越小,则越接近真实情况。
众所周知,伤害由三个部分组成,分别是属性伤害、内外功伤害、穿刺伤害。
下面我们根据面板,只通过公式计算得出这三种伤害,最后相加得到【预期伤害】。
一、计算属性伤害
该测试帐号为武当(其他门派与此类似),四种属性分别为:
冰:1535、火:1225、玄:14538、毒:775
通过客户端文件MonsterAttrExTable.txt查询寒玉谷BOSS的四抗为90。
该帐号的四属性减抗均过100,因此四种属性均可以完全发挥。
该帐号玄属性下限48,其他三种属性无下限。
通过客户端文件AttackTraits.txt查询武当的属性系数分别为:
冰:1.25、火:1.2、玄:1.1、毒:1.0
根据公式:
属性伤害=属性*属性系数*减抗下限
代入上面的公式分别求出四种属性伤害:
冰伤害=1535*1.25=1918
火伤害=1225*1.2=1470
玄伤害=14538*1.1*1.48=23667
毒伤害=775*1=775
(以上计算忽略了小数部分,即向下取整)
四种属性总伤害=1918+1470+23667+775=27830。
该伤害是对其他玩家的伤害值,对怪物的伤害值要乘以5,若暴击则再乘以2。
二、计算内外功伤害
内外功伤害公式:
内功攻击伤害=门派内攻系数*内攻^2/(内攻+内防)
外功攻击伤害=门派外攻系数*外攻^2/(外攻+外防)
通过客户端文件AttackTraits.txt查询武当的内功系数为0.07125,外功系数为0.003875。
通过客户端文件MonsterAttrExTable.txt查询寒玉谷BOSS内防、外防均为8184。
该帐号的内功为68493,修炼增加的内功为8929,总内功为68493+8929=77422。
该帐号的外功为26516,修炼增加的外功为1142,总外功为26516+1142=27658。
代入上面的公式:
内功伤害:0.07125*77422*77422/(77422+8184)=4988
外功伤害:0.003875*27658*27658/(27658+8184)=82
(以上计算忽略了小数部分,即向下取整)
内外功伤害=4988+82=5070。
该伤害是对其他玩家的伤害值,对怪物的伤害值要乘以5,若暴击则再乘以2。
三、计算穿刺伤害
穿刺伤害比较简单,穿刺伤害=穿刺攻击-穿刺防御。
怪物的穿刺防御均为0,因此穿刺伤害可以完全发挥。
该帐号的穿刺攻击为7585,则怪物的穿刺伤害(暴击)为7585*5*2=75850。
四、实测
将上面的属性伤害、内外功伤害、穿刺伤害相加:
27830+5070+7585=40485
即根据理论,计算出本帐号对寒玉谷BOSS的【预期伤害】为:
40485*5*2=404850
下面我们开始进行实际测试。
进寒玉谷,使用【新手攻击】技能不停攻击BOSS。
(注意:使用新手攻击是为了避免手少阳对门派平推伤害造成的影响,同时也避免项链忘无雕纹对伤害的影响。但新手攻击仍然会触发神器吸血和令牌四象归一效果,测试时需要注意)
本帐号的穿刺为7585,当穿刺伤害为75850时,即为【排除浮动】后的【实际伤害】:

329040+75850=404890
根据公式计算的理论伤害为404850,实际伤害为404890,相差40点,误差为0.01%。
【误差解释】该误差应该是小数点的取整方式造成的。我的计算方法直接忽略了小数部分,即向下取整。天龙八部服务器真实的伤害计算过程中,对小数部分如何处理我们并不清楚。可能是四舍五入,也可能是向上取整,我们无从得知。
但已经可以基本证实本文使用的伤害计算方法,以及引用的计算公式是正确的。
【总结】使用本文的计算方法,对于任何一个给定帐号,只要已知其四属性(包括减抗和下限)、内外功、穿刺,就可以直接计算出准确的打怪伤害,误差仅为0.01%。