スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

新ダメージ計算式の確認(Def軽減計算の分母は450じゃなかった)

R化後のダメージ計算式とされていた式(最終ATK * 450 / (450 + 除算DEF) )では、
高Defになるほど計算値と実測値のズレが出ていました。
そのズレを解決する新しい式が算出されたようですので、紹介&手持ちのデータで確認してみます。



算出された方の書き込みは、こちら。
元は、プレイヤーキャラクタ(PC)が高DefのMobを攻撃する際のダメージがずれる、
という件から算出されていたようです。

リニューアル化 変更点調査スレ3
http://enif.mmobbs.com/test/read.cgi/livero/1280648268/

442 名前:418[sage] 投稿日:10/09/01(水) 11:45 ID:+GOb/AaV0
■ダメージの微妙なずれについて
式判明。除算Def50でズレの±が逆転するのがヒントになりました。

(4000+除算Def)/(4000+除算Def*10)
「除算Def無限大にしても、最低10%はダメージ通る」って式になってます。

式のシンプルさからしても、コレであってると思います。
CTの結果について、一致することを確認。

データありがとうございました。


グラフにするとこんな感じかな?
Asmなしの場合で、DEF50でダメージ10%カット、DEF80で15%、DEF115で約20%、
DEF200で30%、DEF320で40%、DEF500で50%カットになるようです。

DEF_Damage.png

この式はPCがMobなどから殴られる場合にも適用できるはず・・・ということで、
以前に収集した殴られデータと、新計算式での計算結果を比較していきます。
MP状態のレイドリックからの被ダメージデータが200パターン弱あったので、
その中から耐性装備なし(DEFのみでダメージ軽減)のものをチョイスして確認。



■実測値との比較
まずは、実測値と新旧計算式の比較をして、以前はズレがあったがそれが解消されたことを確認します。
計算式(ROリニューアルデータWikiより)は、次のものとします。
※後ほど耐性効果の確認をしたところ、耐性→DEFの順に計算されているようでした。

◇R化のダメージ計算式(旧計算式)
[最終ATK * 450 / (450 + 除算DEF) * 耐性C * スキル倍率] - 減算DEF

◇R化のダメージ計算式(新計算式)
[[最終ATK * (4000 + 除算Def) / (4000 + 除算DEF*10) * 耐性C]* スキル倍率] - 減算DEF
[【 [最終ATK * スキル倍率] * 耐性C】 * (4000 + 除算Def) / (4000 + 除算DEF*10)] - 減算DEF
※[ ]内切捨て、【】内切上げ(=耐性による軽減値を切捨て)


表1.Defによるダメージ軽減 実測値/新旧計算式の比較(MP状態レイドリック・Asmなし)

  Def   /実測ダメージ/ 旧計算式 / 新計算式
98 +   0  /   362  /   362  /  362
98 +  51  /   315  /   315  /  315
98 + 132  /   259  /   257  /  259
98 + 155  /   246  /   244  /  246

表2.Defによるダメージ軽減 実測値/新旧計算式の比較(MP状態レイドリック・Asmあり)

  Def   /実測ダメージ/ 旧計算式 / 新計算式
98 +   0  /   362  /   362  /  362
98 +  51  /   277  /   277  /  277
98 + 132  /   197  /   191  /  197
98 + 155  /   181  /   174  /  181


きれいに一致していますね。
次に、各Defでの被ダメージ実測値と計算値(計算過程込み)を並べてみました。

表3.Defによるダメージ軽減 新計算式計算過程(MP状態レイドリック・アスムなし)

  Def  / 実測値 / 新計算式
98 +   0 /  362 /[460 * (4000 +   0) / (4000 +   0 * 10)] - 98 = [362] = 362
94 +  19 /  347 /[460 * (4000 +  19) / (4000 +  19 * 10)] - 94 = [347.23] = 347
94 +  38 /  330 /[460 * (4000 +  38) / (4000 +  38 * 10)] - 94 = [330.08] = 330
98 +  51 /  315 /[460 * (4000 +  51) / (4000 +  51 * 10)] - 98 = [315.18] = 315
94 +  60 /  312 /[460 * (4000 +  60) / (4000 +  60 * 10)] - 94 = [312] = 312
94 +  69 /  305 /[460 * (4000 +  69) / (4000 +  69 * 10)] - 94 = [305.09] = 305
94 +  82 /  295 /[460 * (4000 +  82) / (4000 +  82 * 10)] - 94 = [295.57] = 295
94 +  88 /  291 /[460 * (4000 +  88) / (4000 +  88 * 10)] - 94 = [291.34] = 291
94 + 101 /  282 /[460 * (4000 + 101) / (4000 + 101 * 10)] - 94 = [282.54] = 282
88 + 105 /  285 /[460 * (4000 + 105) / (4000 + 105 * 10)] - 88 = [285.92] = 285
94 + 130 /  264 /[460 * (4000 + 130) / (4000 + 130 * 10)] - 94 = [264.45] = 264
98 + 132 /  259 /[460 * (4000 + 132) / (4000 + 132 * 10)] - 98 = [259.28] = 259
98 + 155 /  246 /[460 * (4000 + 155) / (4000 + 155 * 10)] - 98 = [246.38] = 246


やはり見事に一致しています。



次に、3体以上の敵に囲まれた場合のDef減少についてです。
R化後も、減算Def/除算Defともに(敵数 - 2) * 5% 減少することと、
アスムは囲まれ減少後のDEFを2倍することは確認できていました。
今までズレのせいで確認できなかった、端数処理について確認してみます。

表4.囲まれによるDef減少(Def 97 + 155の場合の 減少後Def)
3体 減算Def:97 * (100- 5) / 100 = 92.15 → 93
4体 減算Def:97 * (100- 5*2) / 100 = 87.3 → 88
3体 除算Def:155 * (100- 5) / 100 = 147.25 → 148
4体 除算Def:155 * (100- 5*2) / 100 = 139.5 → 140

表5.囲まれによるDef減少(Def 97 + 155、MP状態レイドリック・アスムなし)
状況/減少後Def /実測値/新計算式
2体/ 97 + 155 /  247 /[460 * (4000 + 155) / (4000 + 155 * 10)] - 97 = [247.38] = 247
3体/ 93 + 148 /  255 /[460 * (4000 + 148) / (4000 + 148 * 10)] - 93 = [255.19] = 255
4体/ 88 + 140 /  264 /[460 * (4000 + 140) / (4000 + 140 * 10)] - 88 = [264.67] = 264

表6.囲まれによるDef減少(Def 97 + 155、MP状態レイドリック・アスムあり)
2体/ 97 + 155 /  182 /[460 * (4000+(155*2))/(4000+(155*2)*10)] - 97 = [182.24] = 182
3体/ 93 + 148 /  190 /[460 * (4000+(148*2))/(4000+(148*2)*10)] - 93 = [190.93] = 190
4体/ 88 + 140 /  201 /[460 * (4000+(140*2))/(4000+(140*2)*10)] - 88 = [201.53] = 201


どうやらR前と同じく?、減算Def/除算Defともに計算結果の端数切り上げになるようです。
囲まれ時のDEF減少っぷりをグラフにすると、こんな感じになります。

DEF_Kakomare.png



ダメージ計算時のズレが解消されたことは非常にありがたいです。
正確な与ダメージ、被ダメージを計算するためなのはもちろん、
R後のMobのAtkを求めるのがだいぶ楽になりそうです。

私はここのところ、MobのAtk算出のために敵に殴られてデータを採っていたのですが、
今まではズレのせいで、裸に近い状態で殴られていました・・・。
(現在情報サイト等に書かれているAtkは暫定値で、実際のAtkは殴られないとわからない。
 R後は無属性耐性が敵の基本Atkに適用されないので、Mobの基本Atk/武器Atk部を求めたい。)
10分以上は抱えることになるので、名無し地上の片隅で素っ裸でバンシーに殴られて死んでたり・・・。

式を求められた方は神!神&データ提供された方に感謝だ!



◆まとめ
◇R化のダメージ計算式
[【 [最終ATK * スキル倍率] * 耐性C】 * (4000 + 除算Def) / (4000 + 除算DEF*10)] - 減算DEF
※[ ]内切捨て、【】内切上げ(=耐性による軽減値を切捨て)

◇囲まれによるDEF減少
 3体以上の敵に囲まれた場合、Defは(敵数 - 2) * 5% 減少する。
 囲まれ減少したDEFは、端数切り上げ(減少値の端数を切り捨て)。
 アスムは囲まれ減少後のDEFを2倍にする。

【関連情報】
◇種族耐性は、基本Atk(素手Atk)も武器Atk部も軽減できる。
 無属性耐性では、武器Atk部を軽減できるが、基本Atk(素手Atk)を軽減できない。


 →(2010/09/29)サイズ耐性、BOSS耐性も、基本Atk(素手Atk)を軽減できなかった。

◇耐性効果の計算順は、次の順の可能性が高い。
1.サイズ耐性による軽減(武器Atk部分のみ軽減)
2.BOSS耐性による軽減(武器Atk部分のみ軽減)
3.無属性耐性による軽減(武器Atk部分のみ軽減)
4.属性モンスター耐性による軽減(武器Atk部分のみ軽減)
5.種族耐性による軽減((Atk全体-1~4の軽減値)を軽減)
6.DEFによる軽減((Atk全体-1~5の軽減値)を軽減)
 最終ダメージ = [5までの軽減済みダメージ * (4000 + 装備DEF) / (4000 + (装備DEF*10))]
          - ステータスDEF
  ※[ ]部分で切り捨て

◇秒間被ダメージ計算機
→上記耐性効果の計算順はROラトリオさんに投稿したので、
 基本Atkが不明な敵一種のみに囲まれた場合は、
 ROラトリオさんの暫定追加機能「囲んでいる敵の数」でも計算できます。

 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。