2012/9/23 20:12:07

[原创]暗黑3伤害计算公式完全解读(破译元素伤害,戒指伤害加成)

[原创]暗黑3伤害计算公式完全解读(破译元素伤害,戒指伤害加成)

 

废话少说,直接主题.

暗黑3的伤害计算,看上去暴雪已经帮我们计算好了,在面板一目了然,但是在买装备之前,想测试买了之后增加了多少DPS真不容易,虽然现在很多什么装备对比工具,只能对大体伤害做出计算,并且使用非常麻烦,遇到某些特殊属性,完全无解,所以想专门研究了下计算公式,为自己做个计算器,结果,一泡进去,就是泡了整整2天,相当不容易.

注明,以下带[]号的,就是一个变量,即代入数值.

先讲下伤害计算,就是总公式X:([武器面板总MIN] [武器面板总MAX]/2 [元素伤害提升] [饰物等带来伤害提升])*[暴击提升]*[暴伤提升]*[速度提升]*[主属性提升]*[被动技能提升]

其中,后面的3攻/属性提升/被动技能提升,都是直接乘法,相当简单,这里忽略.

现在就是要研究[元素伤害提升]和[饰物等带来伤害提升],这个也是当初研究的初衷.

要先完全解开这2个伤害提升公式,首先,我们要把武器面板的属性研究透,这是个非常重要的环节.

武器面板大概有以下属性:[总DPS],[武器面板总MIN],[武器面板总MAX],[每秒攻击次数],[增加最小伤害],[增加最大伤害],[增加元素伤害MIN],[增加元素伤害MAX],[增加伤害%],其他暴伤和敏捷都不会算进面板,所以忽略.

其中计算公式分解如下:

公式AA:[武器面板总MIN]=([物理伤害基础值MIN] [增加最小伤害])*[增加伤害%] [元素伤害基础值]*[每秒攻击次数]

以上公式,是看到网上一篇文章,叫武器伤害原理白皮书得来的

什么是[物理伤害基础值MIN]和[元素伤害基础值MIN]呢?其实这2个数值是隐藏的,但是也对后面的计算很重要,他是暗黑3数据库里面的数值,我们不能直接得到这个数值,但是从数据库里面,我们可以知道他们的范围.看下图就明白了

另外一个是[元素伤害基础值MIN],也是同理.而需要注意的是,我们面板看到的[增加元素伤害],是BLZ已经帮我们算好的,由[元素伤害基础值MIN]*[每秒攻击次数]的,这里很奇怪,攻速,会有两次乘法......

好了,说[武器面板总MAX],这是许多人,包括武器伤害原理白皮文章里面作者想不通的问题,按道理公式应该如下

公式AB1:[武器面板总MAX]=([物理伤害基础值MAX] [增加最大伤害])*[增加伤害%] [元素伤害基础值MAX]*[每秒攻击次数]

但是,原文作者说这个错误的,根据逆向计算,改为了以下

公式AB2:[武器面板总MAX]=([物理伤害基础值MIN] [增加最小伤害] [增加最大伤害])*[增加伤害%] [元素伤害基础值MAX]*[每秒攻击次数]

原文作者说很奇怪,[物理伤害基础值MAX]这个数值消失了,我当时在苦恼,BLZ的程序员不可能会有这样的事情,其中肯定有奥妙.经过一段思考,终于相通了这个问题,让我们用上面公式计算2个武器(由于当时推理当中只是记下了数值,没截图,所以大家看着数值吧,数值绝对真实的)

第一个武器:

武器伤害:591-1190
增加物理伤害:289-398
增加伤害:50%

第二武器:

313-701
106-231
47%

两把都是63拳套,拳套伤害数据库为

最小伤害:104-107  最大伤害:242-248

套入以上公式AB2,第一个武器正确了,第二个公式错误了;

套入以上公式AB1,第一个武器错误了,第二个公式正确了;

很多人奇怪这是不是BLZ的BUG,其实不是的,原因就是当你[物理伤害基础值MIN] [增加最小伤害]大于[物理伤害基础值MAX]时候,其实,这个武器的最大伤害,就不是原来的最大伤害了,最小伤害附加已经超出原来最大伤害了,现时的最大伤害应为[物理伤害基础值MIN] [增加最小伤害],这样的话,使用第一个公式是不合理的,AB2公式是成立的.

相反,如果[物理伤害基础值MIN] [增加最小伤害]小于[物理伤害基础值MAX],那么,AB2公式不成立,AB1公式就成立了,当然,为什么基本代入AB2公式都是正确的,因为现在的装备都好NB,附加伤害都非常高....我在拍卖场找了2天才找到2个武器符合AB1公式....

解决了以上问题.我们就讨论大家最关心的[元素伤害提升]和[饰物等带来伤害提升],这2个计算公式.

先说饰物,饰物增加伤害一般是增加XX-XX伤害,这种,这种伤害网上也有人提出过了,其实还有个隐含属性,叫[增加最小伤害],这个值是完全隐藏的,你不挂在身上是看不出来的,武器显示BLZ已经在104后修复了,但是饰物还没有,而且,这个值提升是比较大的(后面有提到),这里的伤害,是直接增加到武器物理伤害的,而隐藏的[增加最小攻击]也是一样.

因此上面公式AB2(公式AB1因为都是低端武器,这里大家抛弃他)代入后得

公式BA:[武器面板总MIN]=:[武器面板总MIN]=([物理伤害基础值MIN] [增加最小伤害] [饰物增加伤害MIN])*[增加伤害%] [元素伤害基础值]*[每秒攻击次数]

公式BB:[:[武器面板总MAX]=([物理伤害基础值MIN] [增加最小伤害] [增加最大伤害] [饰物增加伤害MAX])*[增加伤害%] [元素伤害基础值MAX]*[每秒攻击次数]

而到了饰物里面有个单个属性,叫[饰物增加最小伤害],这个数值是不是像上面逻辑一样,最小和最大都增加的呢?这个问题,我用了很多时间去证实,花了很多例子计算,这里不例举了,得出结果是.[饰物增加最小伤害]是在计算完了增加伤害后,直接附加在MIN部分,MAX部分他是不参与的,也是说,

因此,公式BA演变成公式CA:[武器面板总MIN]=([物理伤害基础值MIN] [增加最小伤害] [饰物增加伤害MIN] [饰物增加最小伤害])*[增加伤害%] [元素伤害基础值]*[每秒攻击次数]

公式BB不变.

而饰物增加最小伤害,上面有说,是隐藏属性,这个只能听天由命了,想测试下自己的戒指是不是有这个属性,可以在我给出的DEMO试,一般数值是9-30不等,如果一开始计算是跟你面板一样,那么...不好意思,你是没隐藏属性的.

好了,最后说元素伤害,武僧关心刘云桥的,要看好了.这个属性是最难计算的,我用了逆向计算,试了半天,终于出來了,用自己的号几样装备来算,完全准确,准确度到达两位小数.

按照文字说明,增加元素伤害,应该是(最小伤害 最大伤害)/2,再乘以元素伤害,但是这是错的,网上很多人讨论过了,但是他们一直拿不到完全准确的数值,原因如下.

元素伤害的附加伤害是在附加完饰物后,由最小伤害伤害决定,并且是会把所有物理最小伤害计算在内,但是,这里是有个分歧的,如果有物理伤害加成,他是由([最小物理伤害加成] 1)*[元素增加伤害],如果你是没有[最小物理伤害加成],是不用加1的,这个我开始也是搞不懂,后来,慢慢了解到了,每次算武器面板元素伤害时候,老是为什么多出1的,BLZ的计算其实是有他的理由的,按照正确的算法,他是以最小伤害计算,但是由于你有附加了最小伤害,他会在上面附加1作为区分了有最大伤害和最小伤害,但是公式上,他是以最小值为准,因此出了这样的怪事,公式如下.

有最小伤害加成时候

公式DA:[元素伤害提升]=([物理伤害基础值MIN] [物理伤害基础值MIN] 1 [增加最小伤害] [饰物增加最小伤害])/2*[元素伤害增加值%]

没有最小伤害加成时候:

公式DA:[元素伤害提升]=([物理伤害基础值MIN] [物理伤害基础值MIN] [增加最小伤害] [饰物增加最小伤害])/2*[元素伤害增加值%]

然后把公式套完整,得出

((公式CA<武器最小总伤害> 公式BB<武器最大总伤害>)/2 公式DA<元素伤害>)*[暴击提升]*[暴伤提升]*[速度提升]*[主属性提升]*[被动技能提升]

 

到此,基本上公式已经完整了,我给出几组数值大家测试一下吧.为了方便测试,我写了个简单的DEMO,目前只支持单持,并且是63级的拳套,如果是大家试过公式没错,并且有需要,过后再完善其他武器和双持.

第一组图,是有隐藏属性戒指的,没元素伤害的

 

 

第二组是带元素伤害,戒指有最小攻击的(为了测试元素伤害,害我100W直购了个殷腰带,寻找赞助商阿......)

 

 

 

好了,附上测试网址

www.veelink.com/d3.aspx

使用说明:

可以填的,并且你装备有的,全部需要填,没那项属性的不用填,下面部分的攻速,是扣取了武器攻速加成的.其他的都是总数值,你看自己面板就行了.

 

 

最后说下几项属性的感想.

暴伤是提升并且最容易提升的属性,纯粹提升DPS的属性,大家也知道了,所以这个带孔的贵上天.

暴击其次,但是暴击还有很多技能触发,所以是比较偏重DPS,但也有小部分辅助属性

攻速是攻防兼并的属性,DPS提升不如前面2个.

主属性提升其实比较稳定的

饰物提升是比想象中大很多,具体多少,自己算下了.

元素伤害提升其实不如想象中多.

最小伤害提升,其实提升不大,跟原来差不多,但是组合了元素伤害,那是个不错的.

 

不说了,有时间下次回来编辑下,可能看上去比较累,但是我更累,没办法.