昨天在貼吧裏麵求問傷害的計算公式,久無回應,網上搜索資料,卻發現
沒有官方的計算公式。於是開始了測試和推算過程。想直接看結論的可以直接
閱讀最後的部分。
-----------------------------------------------------
測試角色1:骨弓40級
角色屬性 :物理攻擊力 587 + 46 = 633
穿刺護甲 0 + 6 = 6
物理暴擊 235 + 28 = 263
測試關卡 :飛艇墜落
普通傷害 : 412
暴擊傷害 : 1331(恒定是這個值)
------------------------------------------------------
測試角色2:風行40級
角色屬性 :物理攻擊力 566 + 109 = 675
穿刺護甲 0 + 5 = 5
物理暴擊 81 + 29 = 110
測試關卡 :飛艇墜落
普通傷害 : 445
暴擊傷害 : 890(恒定是這個值)
------------------------------------------------------
測試角色3:小黑37級
角色屬性 :物理攻擊力 409 + 88 = 497
穿刺護甲 0 + 0 = 0
物理暴擊 107 + 48 = 155
測試關卡 :飛艇墜落
普通傷害 : 279
暴擊傷害 : 1136(恒定是這個值)
-----------------------------------------------------
下麵開始推算過程:
(1)護甲分析過程
骨弓633點物理攻擊力,減甲6點,能打出412傷害,對方防禦221點
風行675點物理攻擊力,減甲5點,能打出445傷害,對方防禦230點
小黑497點物理攻擊力,減甲0點,能打出279傷害,對方防禦218點
結論一:護甲使用了類似魔獸中的百分比係統
-----------------------------------------------------------------------------------
減少6點護甲:221/633 = 34.913%
減少5點護甲:230/675 = 34.074%(出現了矛盾數據)
減少0點護甲:218/497 = 43.863%
出現矛盾數據的原因可能有幾點:
[1]顯示的減甲數量,和實際內部數據不一致
[2]精度的舍入導致的誤差
------------------------------------------------------------------------------
猜測一:假設護甲值為A,係統使用了類似如下的傷害減免公式
[ A * 0.06 / ( 1 + A * 0.06 ) ]
推測使用了上述公式是因為魔獸中正是使用這個經典的公式,但
實際計算的時候卻出現了如下數據:
假設對麵小怪的護甲是A,
A = 7 時,傷害減免 29.577%
A = 8 時,傷害減免 32.432%
A = 9 時,傷害減免 35.432%
A = 10 時,傷害減免 37.500%
A = 13 時,傷害減免 43.820%
A = 14 時,傷害減免 45.652%
可以看出猜測的公式偏離的實際數據。
------------------------------------------------------------------------------
猜測二:假設護甲值為A,係統使用了類似如下的傷害減免公式
[ A * 0.05 / ( 1 + A * 0.05 ) ]
推測使用了上述公式是因為魔獸中正是使用這個經典的公式,但
實際計算的時候卻出現了如下數據:
假設對麵小怪的護甲是A,
A = 9 時,傷害減免 31.034%
A = 10 時,傷害減免 33.333%
A = 11 時,傷害減免 35.483%
A = 14 時,傷害減免 41.176%
A = 15 時,傷害減免 43.857%
A = 16 時,傷害減免 44.444%
看來我們更加接近正確答案了
--------------------------------------------------------------------------------
猜測三:假設護甲值為A,係統使用了類似如下的傷害減免公式
[ A * 0.04 / ( 1 + A * 0.04 ) ]
推測使用了上述公式是因為魔獸中正是使用這個經典的公式,但
實際計算的時候卻出現了如下數據:
假設對麵小怪的護甲是A,
A = 13 時,傷害減免 34.210%
A = 14 時,傷害減免 35.897%
A = 19 時,傷害減免 43.181%
這和我們最初想要的傷害減免比例已經非常吻合了:
減少6點護甲:221/633 = 34.913%
減少5點護甲:230/675 = 34.074%(出現了矛盾數據)
減少0點護甲:218/497 = 43.863%
--------------------------------------------------------------------------------
最終結論:遊戲中使用的護甲傷害減免計算公式可能如下
[ A * 0.04 / ( 1 + A * 0.04 ) ]
比例因子0.04可能有一些微調,但是一定在[ 0.04 , 0.05 ] 區間內。
--------------------------------------------------------------------------------
以上分析和判斷歡迎拍磚,歡迎不同的測試數據驗證。