伤害计算公式的大胆推测
首先列举一些简单的伤害计算公式
减法公式:伤害=攻击-防御
减法公式一目了然。
除法公式:伤害=攻击×攻击/(攻击+防御)
除法公式伤害受攻击方攻击和防守方防御共同影响。
乘法公式:伤害=攻击×(1-减伤率)
一般情况下减伤率=防御/(防御+K),K是固定的系数。当防守方防御不变时,减伤率也就不变了。
很多游戏中的伤害计算公式基本上是由以上公式变形而来的
下面先列出之前我测试的防御减伤的数据
以上数据是四个敌人攻击角色时,角色在不同防御值下受到的伤害。图中横坐标为角色防御,纵坐标为敌人对角色造成的伤害。当角色防御值为零时(使用碎骨之力),四个敌人对角色造成的伤害分别为860、915、952和1372
当角色防御≤敌人10%攻击伤害时,角色受到伤害直线分布,很显然适用减法公式:最终伤害=攻击伤害-防御。
当角色防御大于10%攻击伤害时,最终伤害与防御成反比,我大胆推测此时伤害公式为除法公式。在除法公式中,随着攻击提高,伤害收益逐渐提高。随着防御提高,减伤收益逐渐降低。
接下来列出泰伦斯攻击怪物的最终伤害图像和减伤率图像。
以上两个图像横坐标都是未经过防御减免攻击伤害。两个图像的纵坐标分别为经过防御减免的最终伤害和减伤率。
攻击伤害=攻击×伤害系数
攻击系数即1点攻击力造成的伤害值。
经测试后分享一下四个角色的部分伤害系数
泰伦斯:轻击/0.8,重击/1.2,回旋斩/0.8,蓄力斩/1.6(蓄满力),
维奥拉:轻击/0.8,普通子弹/0.644,红色子弹/0.86,蓝色子弹/1.2(所有子弹均为贴脸攻击)
棺材哥:轻击/0.88(蓄满力1.2),重击/1.12(蓄满力1.36)
修女:轻击/0.76,重击/0.91
观察上面的最终伤害曲线和更上面的伤害减免曲线,发现十分相似,都是分为直线和曲线两部分。
不妨大胆推测一下,最终伤害曲线的直线部分和曲线部分交界处的横坐标(1600附近),即未经防御减伤的攻击伤害≥10倍的敌人防御。推测得敌人防御为160左右(四周末普通地图的小怪防御仅有个位数的差异)。也就是说当攻击伤害低于1600时,伤害计算公式为除法公式(曲线部分),攻击伤害高于1600时,伤害计算公式为减法公式(直线部分)。
再观察减伤率的图像,发现当攻击伤害较低时,敌人的减伤率并不与攻击伤害成反比。这应该是加入了一个修正系数的结果,让角色在初期不至于陷入打不动怪的尴尬境地。随着角色攻击伤害的提高,敌人减伤率逐渐提高再逐渐降低,与角色攻击伤害成反比。以上曲线适用轻/重击伤害。
测试泰伦斯处决和偷袭时发现最终伤害曲线略有不同。处决伤害系数1.94,未经防御减免的处决伤害在2000以下时,伤害计算公式是除法公式(曲线部分),2000以上时,伤害计算公式是减法公式(直线部分)。偷袭伤害系数2.17,测试时偷袭伤害计算公式是除法公式(曲线),没有减法公式,推测需要达到更高伤害才会用减法公式计算伤害。
测试伤害时发现,黄字效果攻击力提升不同面板攻击情况下,提升的伤害幅度不一样。这不仅受到减伤率的影响,而且在不同面板攻击下,攻击力提升的幅度不一样。面板攻击越低,攻击力提升幅度越大,面板攻击越高,攻击力提升幅度越小。
举例:修女1级80攻击力,装备黄字效果异常状态下攻击力提升幅度为40%,400攻击时装备黄字效果异常状态下攻击力提升幅度为25%。
测试得出以下黄字效果:
异常状态下攻击力大幅、中幅和小幅提升比例分别为20%、17%和12.5%,此效果可叠加,一个大幅提升是20%,两个是40%,三个,四个同理。
狂沙提升15%攻击力
红卵/白卵提升10%攻击力
修女像提升7.5%攻击力
以上都是攻击力较高时提升的最低值(min),面板攻击越低时,提升幅度就越大。
异常状态下防御/抗性大幅、中幅和小幅提升比例分别为20%、17%和12.5%
蔷薇提升15%防御
黄铜指环提升7.5%防御
以上都是防御较低时测得的数据
最后,大胆推测伤害计算公式:
最终伤害=面板攻击×(1+攻击力提升比)×伤害系数×(1+种族伤害加成)×(1-减伤率)
至于减伤率的公式,应该是由(1-减伤率)=攻击/(攻击+防御)变形得出,攻击与防御应该存在修正系数。系数比较难求出来,数学好的小伙伴可以尝试求出来。
以上,就是我对伤害计算公式的大胆推测。大家有什么疑问可以和我讨论。