新手入门
   
 
元神介绍
   
地图怪物
   
 
职业介绍
   
生活技能
   
游戏名称: 春秋Q传
游戏类型: Q版MMORPG
开发公司: 金山软件
官方网站: 点击进入
法术攻防与伤害之间的最终证明

以前曾发一个帖子,粗浅的推算出了法术攻防与伤害之间的一个关系,大概来说满足这样一个式子:最终伤害≥法术攻击力-法术防御力。并且可以粗略的知道,法术防御越高,效果越不明显,但是由于当时尚不明晰级别对伤害的加成作用,同时试验做的粗糙,并且试验没有把握住能够引起关键发现的关键数据,因此最终并没有的到什么精确的结论。现在不同了,我们已经有了关键性的前提,即一定的级别差距对伤害是有影响的,这样我们在做实验的时候,会避免采用级别相差5以上的两个样本,从而得到的一组数据绘精确的反映原始的伤害情况,从而有机会推出基本函数。
我是这样设计试验的:
选择全部为70级的三个ID:分别为FS,LS,JS。三个职业目的在于证明最终伤害是与职业无关的。
FS的攻击力选择在1000左右,其目的在于灵活选择法术防御,以便得到关键数据。
用2-68的各种首饰来调节法术防御,法术攻击不变,注意,因为我们假设函数是确定并且存在的,因此攻击力的恒定并代表最后结果是偶然的,而最终的公式是普遍意义的,广泛的。
我们先看LS和FS的数据:

攻击  防御  伤害  实际防御  防御效果(实际防御/防御)
970  0  970  0 
970  8  962  8  1
970  23  947  23  1
970  46  926  44  0.956521739
970  76  899  71  0.934210526
970  84  892  78  0.928571429
970  91  886  84  0.923076923
970  106  874  96  0.905660377
970  121  862  108  0.892561983
970  136  850  120  0.882352941
970  144  844  126  0.875
970  166  828  142  0.855421687
970  198  805  165  0.833333333
970  220  790  180  0.818181818
970  250  771  199  0.796
970  280  752  218  0.778571429
970  310  735  235  0.758064516
970  340  718  252  0.741176471
970  379  697  273  0.720316623
970  418  677  293  0.700956938
970  456  659  311  0.682017544
970  470  653  317  0.674468085
970  500  640  330  0.66
970  570  610  360  0.631578947
970  683  569  401  0.587115666
970  720  556  414  0.575
970  797  532  438  0.549560853
970  835  521  449  0.537724551
970  949  490  480  0.505795574
970  960  487  483  0.503125
970  967  485  485  0.501551189
970  970  485  485  0.5
970  973  484  486  0.499486125
970  986  481  489  0.495943205

有点乱,但我们得到了和以前基本一致的结论,法防和法攻越接近,法防再增加,效果越小。这一点非常之关键,也就是说单纯的法防高、法攻高,都不足以说明什么,能说明问题的是他们的相差程度,也就是说,最终伤害和其二者的差值有一定的关系。
然后我们注意到了
970  970  485  485  0.5 这组数字,
这组数字的法防是我拼凑好久才凑出来的,目的在于使法防=法攻,这样我们得到一个关键数据,即法攻=法防时候,伤害=法攻/2,有点意思,再结合刚才的“最终伤害和其二者的差值有一定的关系”这句话,很容易联想起命中的计算公式:
命中率=命中/(命中+对方闪避)
因此,我又回到了原来的一个构想上:我们要找的关系一定是类似于命中公式的。
在上面,还有一组关键数据:
攻击970  防御0  伤害970  实际防御0
也就是说,在没有防御情况下,法攻=法防,这是辛辛苦苦才得到的结论,以前没有注意,是因为当时不知道级别对伤害的影响,选择的样本级别差大于5。
好,现在我的目的是找到第三组关键数据:使法防=2X法攻,很快,我得到了(JS上场)

攻击  防御  伤害  实际防御  防御效果(实际防御/防御)
970 1940 323 647 0.333505155

这组数据是如此关键,以至于打开了最终公式发现的大门,因为我们通过它找到了:当 “防御=2X法攻” 的时候,伤害是攻击力数值的1/3。

回顾以上的三组关键数据,当防御为0时,攻击力=伤害;当法术攻击与对方法术防御相等的时候,伤害值为攻击的一半;当对方法术防御比自身法术攻击高一倍时的时候,伤害值为攻击的三分之一……
于是影像逐渐清晰,发现计算方法竟是如此简单,和预期一样,果然既没有高次方根,也没有对数运算和指数运算,法术攻防与伤害的基本运算是:

法术伤害=法术攻击力X法术攻击力/(法术攻击+对方法术防御)

把这个公式代入到上面的计算里,看看得到的数据和实验数据吻合与否?

攻击 防御 伤害 实际防御 防御效果(百分比)    公式计算结果
970 0 970 0  970
970 8 962 8  1    962.0654397
970 23 947 23  1    947.5327291
970 46 926 44  0.956521739   926.0826772
970 76 899 71  0.934210526   899.5219885
970 84 892 78  0.928571429   892.6944972
970 91 886 84  0.923076923   886.804901
970 106 874 96  0.905660377   874.4423792
970 121 862 108  0.892561983   862.4197984
970 136 850 120  0.882352941   850.7233273
970 144 844 126  0.875    844.6140036
970 166 828 142  0.855421687   828.2570423
970 198 805 165  0.833333333   805.5650685
970 220 790 180  0.818181818   790.6722689
970 250 771 199  0.796    771.2295082
970 280 752 218  0.778571429   752.72
970 310 735 235  0.758064516   735.078125
970 340 718 252  0.741176471   718.2442748
970 379 697 273  0.720316623   697.4796145
970 418 677 293  0.700956938   677.8818444
970 456 659 311  0.682017544   659.8176718
970 470 653 317  0.674468085   653.4027778
970 500 640 330  0.66    640.0680272
970 570 610 360  0.631578947   610.974026
970 683 569 401  0.587115666   569.2075015
970 720 556 414  0.575    556.7455621
970 797 532 438  0.549560853   532.4844369
970 835 521 449  0.537724551   521.2742382
970 949 490 480  0.505795574   490.3074518
970 960 487 483  0.503125    487.5129534
970 967 485 485  0.501551189   485.7511616
970 970 485 485  0.5    485
970 973 484 486  0.499486125   484.251158
970 986 481 489  0.495943205   481.0327198
970 1528 376 594  0.388743455   376.6613291
970 1940 323 647  0.333505155   323.3333333

可以看出,公式推算的结果,小数去尾,和实测数字完全一致。因此这个公式是正确的。
实际战斗中,双方应考虑级别修正与增强修正的影响,级别修正在一定级别差范围内,每五级相差10%伤害或伤害减免(模运算,即只有达到5的倍数才行,余数不计,比如相差13级,则按照10级计算,效果为增强或减免20%伤害,直到相差15级才变为30%),视攻防双方的级别高低而定,;增强伤害则直接修正最后的伤害结果。这两者都是在上式的计算结果基础上运算,比如:
80级FS玩家对67玩家(相差13级,13除5得2,余数3省略,因此对67级玩家增强20%伤害),80玩家正常攻击力20000,70玩家法术防御5000,且70玩家增强针对FS伤害减免修炼5级(减免10%),则:
最终伤害为=[法术攻击力X法术攻击力/(法术攻击+法术防御)]*(1+20%-10%)=17600。

至此,我相信关于攻击、防御与伤害的最后一点秘密,已经被揭开了。

*注,关于“级别修正与增强修正的影响”,我在前面某文已经验证,故不再多作说明。


>>>>>返回顶部<<<<<