Player_CalculateDamage()
対応バージョン
Section titled “対応バージョン”Player_CalculateDamage(ベースダメージ,*最小値,*最大値)ベースダメージを元に、ダメージを補正して計算結果を出力します。
この関数だけ使用しても、ダメージは受けません。そのため、Player_Hurt()と組み合わせて使用する必要があります。
この関数は、プレイヤーのHPとトータルDEFを取得し、以下の式に基づいてダメージを補正します。
1.HPが20以下の場合、ダメージは補正されません。HPが20を超える場合、HPが高いほどダメージが加算されます。小数点以下切り上げで計算されます。
2.ダメージからDEFの5分の1を引きます。
3.銀行丸めで計算結果を四捨五入します。
ダメージ計算の最終的な丸めにはGMLの round() が使われています。これは「銀行丸め(端数が0.5の時は偶数へ丸める)」という仕様のため、一般的な四捨五入で計算した値とは、.5 の時だけダメージがずれる場合があります。
オプションで、最小値と最大値を指定することもできます。
最小値は、計算されたダメージがこの値を下回らないようにするためのものです。最大値は、計算されたダメージがこの値を超えないようにするためのものです。
最小値はデフォルトで1、最大値はデフォルトでは設定されていません。
ただし、最小値と最大値はハードコーディングされているため、実際には変更できません。変更できるようにするには、後述の修正コードに書き換えてください。
サンプルコード
Section titled “サンプルコード”Player_Hurt(Player_CalculateDamage(10,2,15));上記コードは、ベースダメージ10、最小値2、最大値15を用いてダメージを計算し、その結果をPlayer_Hurt()に適用します。