真女神転生3 - ダメージ計算式

・全てを解析できるわけではないので、推測や誤りが含まれる可能性があります
・なるべく解析できた通りの式を書いたけどあまりにも数学的に冗長な物は整理した
・関数はExcel準拠、「=」は代入
・特に断りがない限りPS2 クロニクル版 HARDモードでプレイヤーが敵に攻撃した場合のことを言っている
・各スキルの性能表はこちら



物理攻撃のダメージ計算

A = (攻撃側の力 + 攻撃側の力) + (攻撃側のレベル + 攻撃側のレベル)
通常攻撃の場合: ダメージ = A * 1.33 // 威力30.856相当
一般物理スキルの場合: ダメージ = A * スキルの威力 / 23.2
HP依存物理スキルの場合: ダメージ = 攻撃側の最大HP / 69.6 * スキルの威力

ダメージ = ダメージ * 0.8 * 気合い補正 * カジャ・ンダ補正
// 気合いかかってる時の補正は2.5 (2.55ではない)

ダメージ = ROUNDDOWN(ダメージ) // 小数点以下切り捨て

乱数でダメージを±5%変動させた後、小数点以下を切り捨てる

ダメージ = ROUNDDOWN(ダメージ * 属性補正 * ○○高揚補正 * クリティカル補正)
// クリティカル出た時の補正は1.5
// 「物理攻撃」が「物理属性」とは限らない(念のため)

手短に言えばこう
通常攻撃の場合: ダメージ = (レベル + 力) * 2.128
一般物理スキルの場合: ダメージ = (レベル + 力) * 威力 / 14.5
HP依存物理スキルの場合: ダメージ = 最大HP * 威力 / 87



魔法攻撃のダメージ計算

ダメージ = 攻撃側のレベル * スキルの威力 * 2 / 21 + スキルの威力補正値

ダメージ = MIN(ダメージ, スキルの限界値) // 上記の値は限界値を越えない

レベル = MIN(攻撃側のレベル, 160) // レベル上昇による威力減衰はレベル160で止まる
// リマスター版ではここの値が160じゃなく100前後らしい

ダメージ = (攻撃側の魔 - (レベル / 5 + 4)) * 2.5 * (ダメージ / 100) + ダメージ

ダメージ = ダメージ * 0.8 * カジャ・ンダ補正

ダメージ = ROUNDDOWN(ダメージ) // 小数点以下切り捨て

乱数でダメージを±10%変動させた後、小数点以下を切り捨てる // 物理攻撃より振れ幅が大きい

ダメージ = ダメージ * 属性補正 * ○○高揚補正

ダメージ = ROUNDDOWN(ダメージ) // 小数点以下切り捨て

手短に言えばこう
A = MIN(レベル * 威力 / 10.5 + 補正値, 限界値)
ダメージ = (魔 - MIN(レベル, 160) / 5 + 36) * A / 50

魔法ダメージがピークになるレベルは以下(上記の式から逆算)
ピークレベル = (限界値 - 補正値) * 10.5 / 威力 // 小数点以下切り捨てるべきか切り上げるべきかはケースバイケース



物理攻撃の命中率の計算

A = ROUNDDOWN(攻撃側の速 / (ROUNDDOWN(攻撃側のレベル / 5) + 3)) * 100
B = ROUNDDOWN(防御側の速 / (ROUNDDOWN(防御側のレベル / 5) + 3)) * 100
C = 100 - スキルの回避される率 // 命中率に換算
D = (A - B) * 0.0625 + C

命中率 = D * カジャ・ンダ補正 * (スキルの命中率補正 / 100)
// 命中率補正が255の場合は必中
// 命中率補正は普通100か255なんだが稀にそうじゃないスキルがある

命中率 = ROUNDDOWN(MIN(MAX(命中率, 50), 100)) // 命中率は50~100の範囲の整数

// 率の単位は%
// 攻撃側の『速』が防御側より高いほど、または攻撃側のレベルが防御側より低いほど命中率が上がる
// 物理命中率に『運』は関与しない(念のため)

手短に言えばこう
A = 攻撃側の速 / (攻撃側のレベル / 5 + 3) // 小数発生する度に切り捨て
B = 防御側の速 / (防御側のレベル / 5 + 3) // 小数発生する度に切り捨て
命中率 = (A - B) * 6.25 + スキルの命中率
※50%を下回らない



魔法攻撃の命中率の計算

A = 攻撃側のレベル + 攻撃側の魔 * 2 + ROUNDDOWN((攻撃側の運 + 5) / 2) + 15
B = 防御側のレベル + ROUNDDOWN((防御側の速 + 1) * 3 / 2) + 防御側の運 + 16
// Bの算出方法は不明なので推測

命中率 = (100 - ROUNDDOWN(100 * B / A)) * 0.5 + 100

命中率 = 命中率 * カジャ・ンダ補正 * (スキルの命中率補正 / 100)
// 命中率補正が255の場合は必中

命中率 = ROUNDDOWN(MIN(MAX(命中率, 50), 100)) // 命中率は50~100の範囲の整数

// 率の単位は%
// 物理とは違って素直にレベルや『運』が高ければ命中率が上がる
// 攻撃側は命中率が『魔』に依存するのに対して防御側は『速』に依存する

手短に言えばこう
A = 攻撃側のレベル + 攻撃側の魔 * 2 + (攻撃側の運 + 5) / 2 + 15 // 小数点以下切り捨て
B = 防御側のレベル + (防御側の速 + 1) * 3 / 2 + 防御側の運 + 16 // 小数点以下切り捨て
C = 100 * B / A // 小数点以下切り捨て
命中率 = 150 - C / 2
※50%を下回らない



物理攻撃のクリティカル率の計算

A = ROUNDDOWN(攻撃側の速 / (ROUNDDOWN(攻撃側のレベル / 5) + 3)) * 100
B = ROUNDDOWN(防御側の速 / (ROUNDDOWN(防御側のレベル / 5) + 3)) * 100
C = 100 - スキルの回避される率 // 命中率に換算
D = (A - B) * 0.0625 + C
// ここは命中率の計算時と同様

D = MAX(D, 50) // Dは50を下回らない

クリティカル率 = D / C * スキルのクリティカル率

クリティカル率 = ROUNDDOWN(MIN(クリティカル率, 100)) // 確率は100を上回らず、整数

// 率の単位は%
// 攻撃側の『速』が防御側より高いほど、または攻撃側のレベルが防御側より低いほどクリティカル率が上がる
// 命中率が低いスキルほどクリティカル率が上がりやすい
// クリティカル率に『運』は関与しない(念のため)
// クリティカル率はカジャ・ンダでは変動しない(念のため)

手短に言えばこう
A = 攻撃側の速 / (攻撃側のレベル / 5 + 3) // 小数発生する度に切り捨て
B = 防御側の速 / (防御側のレベル / 5 + 3) // 小数発生する度に切り捨て
D = (A - B) * 6.25 + スキルの命中率
クリティカル率 = MAX(D, 50) / スキルの命中率 * スキルのクリティカル率



敵→プレイヤーに対する攻撃のダメージ計算

正直もう面倒になってきてるので簡易的に説明する

物理攻撃
A = (攻撃側の力 + 攻撃側の力) + (攻撃側のレベル + 攻撃側のレベル)
通常攻撃の場合: ダメージ = A * 1.33
一般物理スキルの場合: ダメージ = A * スキルの威力 / 23.2
HP依存物理スキルの場合: ダメージ = (攻撃側のレベル + 攻撃側の体) * 6 / 69.6 * 威力
// ここまでプレイヤー側と(ほぼ)同様
// 敵はレベルと『体』さえ十分にあればHP999相当以上の威力でHP依存スキルを撃てる(実際にそんなことしてくる敵がいるかは別として)
// 敵は本来HPを消費するスキルでもHPを消費せずに撃てる

ダメージ = ダメージ * 0.6

通常攻撃の場合: ダメージ = ダメージ - ROUNDDOWN(48 / (攻撃側のレベル + 10))
一般物理スキルの場合: ダメージ = ダメージ - ROUNDDOWN(50 / (攻撃側のレベル + 10))
HP依存物理スキルの場合: ダメージ = ダメージ - 50 / (攻撃側のレベル + 10) // ROUNDDOWNしない
// 低レベル時、少しダメージが減る

HARDモードの場合: ダメージ = ダメージ * 1.34
NORMALモードの場合: ダメージ = ダメージ * 0.7

魔法攻撃
ダメージ = 攻撃側のレベル * スキルの威力 * 2 / 21 + スキルの威力補正値
ダメージ = MIN(ダメージ, スキルの限界値)
レベル = MIN(攻撃側のレベル, 160)
ダメージ = (攻撃側の魔 - (レベル / 5 + 4)) * 2.5 * (ダメージ / 100) + ダメージ
// ここまでプレイヤー側と同様

ダメージ = ダメージ * 0.6 - 50 / (攻撃側のレベル + 10)

HARDモードの場合: ダメージ = ダメージ * 1.34
NORMALモードの場合: ダメージ = ダメージ * 0.7



未調査項目
・NORMALモードにおけるプレイヤー→敵に対する攻撃の一切
・敵→プレイヤーに対する攻撃の命中率やクリティカル率
・味方同士の攻撃の一切
・クロニクル版以外のバージョンの仕様