計算式
 ダメージや回復などの計算式。


■乗算と除算について■
長くなるので別ページに記述。


■ダメージの乱数について■
FF7では、基本ダメージ量の15/16から基本ダメージ量-1までの値がまんべんなく出る。
それのできるだけスマートな再現法として、以下の方法が考えられる。

乱数 = $FF?? / 65536

$FF??の??の部分には1バイトの乱数を割り当てる。


■物理ダメージ■
は攻撃側の能力値、が被攻撃側の能力値。
割り算をする度に端数切捨てを行う。
右端の[ ]内はなりうる最大ビット数(増減処理含む)。

A = (攻撃力 + レベル) / 32 [4bit]

B = 攻撃力 * レベル / 32 [11bit]

C = (A * B + 攻撃力) * 基礎攻撃力 / 16 [20bit]

D = C * (512 - 防御力) / 512 [24bit]

ダメージ量 = D * 乱数 [24bit]

※基礎攻撃力の最大値はデスペナルティの521


物理ダメージのダメージ増加ファクター
x1.5バーサク
x2クリティカル、弱点属性、背後からの攻撃

物理ダメージのダメージ減少ファクター
2/3かなしい、全体化攻撃
1/2防御、後列、半減属性、バリア
1/4カエル
1/8へんか


x1.5と2/3以外は、Dを算出する際の最後に割る数(=右シフトの回数)を直接増減すればいい。
x1.5と2/3の処理に関しては要調査。


■魔法ダメージ■
要調査。


■魔法回復■
右端の[ ]内はなりうる最大ビット数(増減処理含む)。

A = (魔法攻撃力 + レベル) * 6 + 魔法ごとの規定値 [11bit]

回復量 = A * 乱数 [11bit]


規定値は、ケアル:110, ケアルラ:660, ケアルガ:1760 となっている(おそらく威力*110)。
メニュー画面ではAがそのまま回復量になる。




inserted by FC2 system