|
|
|
計算式
ダメージや回復などの計算式。
■乗算と除算について■
■ダメージの乱数について■
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がそのまま回復量になる。
|
|
|
|