【ひまスラ】属性ダメージの計算方法
こんにちは。今回はver1.0.11での属性ダメージの計算です。物理ダメージの計算に似てはいますが少し複雑なので難しい内容かもしれません。
はじめに
先日、物理ダメージの計算方法について記載しました。
今回はその続き?応用です。計算方法はわりと似ていました。
物理ダメージの計算式を振り返る
上に載せた記事で紹介した物理ダメージの計算式
ダメージを与える側の物理攻撃:A
ダメージを受ける側の物理防御:B
A × A ÷(A+B)+ 0.5(※小数点以下切り捨て)
これを今回も使用します。
今回は属性ダメージの計算になるため、物理ダメージの計算式にあるABの「物理」が「属性」に変更となります。
属性ダメージを計算する
属性の強弱関係
このゲームには、火・水・木・光・闇の5つの属性があります。その関係性が属性ダメージの計算において重要となるため書いておきます。
火:木に強く水に弱い
水:火に強く木に弱い
木:水に強く火に弱い
光:闇に強く闇に弱い
闇:光に強く光に弱い
よくあるソシャゲ(pzdrとか・・・)と似たような強弱関係です。理解しやすいと思います。
属性ダメージの元となる計算式
さきほど物理ダメージの計算式を変えるといいましたが、その計算式で出した値を元に各属性値のダメージを算出する仕様のようです。
元となる値の計算式は
ダメージを与える側の属性攻撃:A
ダメージを受ける側の属性防御:B
A × A ÷(A+B)+ 0.5(※小数点以下切り捨て)
です。また後ほど使用します。
属性の強弱関係の反映
さきほど書いた属性の強弱関係を計算の際には考えなくてはいけません。
その計算式は
攻撃側の属性値 +(強い属性値 - 弱い属性値)× 0.5 (※小数点以下切り捨て)
です。少しわかりにくいので具体的例を。
攻撃側が火属性で防御側が水・木属性の場合、上の式は
攻火属性値 +(防木属性値 - 防水属性値) × 0.5(※小数点以下切り捨て)
となります。
攻撃側が火属性40、防御側が水属性40・木属性20である場合は
40 +( 20 - 40 )× 0.5 = 30
となります。
光属性と闇属性の場合は、ダメージが弱くなる属性がないためその部分の値が0になります。
属性ダメージの計算式
お待たせしました。いよいよ計算します。
計算に用いる3つの式
①
ダメージを与える側の属性攻撃:A
ダメージを受ける側の属性防御:B
A × A ÷(A+B)+ 0.5(※小数点以下切り捨て)
この計算結果を①とします
②
攻撃側の属性値 +(強い属性値 - 弱い属性値)× 0.5 (※小数点以下切り捨て)
この計算結果を②とします
③
攻撃側の属性値で最大のもの ÷ 攻撃側の属性値の合計(※切り捨てなし)
この計算結果を③とします
属性ダメージの計算式は
① × ② × ③ ÷ 100 + 0.5 (小数点以下切り捨て)
です。これを各属性それぞれで計算します。
今回、実際に計算するパートは省きますが、いくつか試してみても正しい結果になったのでほぼほぼ間違いないと思います。
この計算式から言えること
ダメージ計算式に③の 最大値/合計値 が反映されるため、この値が高くなるつまり複数属性に分散されている装備よりも単属性でまとめた装備のほうが威力が高くなるということです。もちろん単属性でなくとも火力が高くなる場合もありますが、間違いないのは単属性をできるだけ大きい数字にするのが属性ダメージを多くする手法としてベストだと考えられます。
実際に合計の属性値は同じだけれど最大の属性値が違うものを横並びにして比較してみます。ばらつかせた左側のほうは、属性攻撃+5%がついているものの属性ダメージの合計は190K。それに対して闇属性のみの右は属性ダメージが904Kです。これだけの差がついてしまうため、属性値の最大値は非常に重要です。
あとがき
今回の記事はこれで以上です。
ダメージ計算および敵のパラメータ算出式が判明したので必要があればまとめたものを作ります。現在、各種装備パラメータ及びスキルポイント的なものをまとめたデータベースを作成しています。遅くとも今月中には理想的な装備を作ることができるようになると思います。データ収集頑張りますのでお待ちください。