SFC版DQ3直接攻撃(打撃)
DQ3
打撃のダメージ計算式
【計算式の表記】
[x]:x の整数部分
<x, y>: x とy を含む、x から y までの全ての整数の中から選ばれた1つの整数
rnd: 0から255の一様乱数(と推測されるもの)
【プレイングキャラクター(以下PC)が行動した時】
基本的なダメージ計算式はモンスターと違って2種類だけです。
atk - [ def / 2 ] < 2 の時
ダメージは 0 or 1(等確率)
atk - [ def / 2 ] ≧ 2の時
ダメージは [ ( atk - [ def / 2 ] ) * <99, 153> / 256 ]
<99, 153>は最大・最小のでやすい分布で、
(0から15までの一様乱数を16回生成した合計値) + 6
を求め、99未満なら99、153より大きい場合は153とする乱数。
※混乱状態でターンを開始したPCにパーティアタックした時にはダメージが大幅に軽減されます。上の式で得られるダメージDを1/8倍して1から3加算した値になります。($028E4Aの処理)
D' = [D/8] + <1, 3>
<1, 3>は、 [ ( 2 + 1 ) * rnd / 256 ] + 1 で求まり、 1 は86/256, 2 や 3 は 85/256の比率。
※装備による補正など(複数攻撃武器、痛恨・会心、耐性、防御、毒針)
(更新未定)
※バイキルトはダメージを2倍にします。
【モンスターが行動した時】
こちらは分岐条件が複雑です。ダメージ計算式は3種類で下表に条件別にまとめてあります。
例えばダメージ計算式が [ ( atk - [ def / 2 ] ) * <99, 153> / 256 ] となるのは、
atk - [ def / 2 ] ≧ 0 かつ atk - [ def / 2 ] > [ atk / 8 ] かつ atk ≧ 8 の時になります。
<99, 153>はPCの打撃と同じものです。(最小99、最大153の整数です。0から15までの一様乱数を16回生成・加算し、さらに6加算したものです。99未満なら99、153より大きい場合は153。)
_/_/_/ 参考サイト _/_/_/
SFC版DQ3 打撃ダメージ値乱数
_/_/_/ 解析資料(dq_492氏) _/_/_/
ほとんどは資料にあるサブルーチンの内容をなぞってまとめたもの
DQ3戦闘部分解説19直接攻撃の処理について
DQ3戦闘部分解説2戦闘関連のメモリーについて
2019年6月5日 リンクを修正
【計算式の表記】
[x]:x の整数部分
<x, y>: x とy を含む、x から y までの全ての整数の中から選ばれた1つの整数
rnd: 0から255の一様乱数(と推測されるもの)
【プレイングキャラクター(以下PC)が行動した時】
基本的なダメージ計算式はモンスターと違って2種類だけです。
atk - [ def / 2 ] < 2 の時
ダメージは 0 or 1(等確率)
atk - [ def / 2 ] ≧ 2の時
ダメージは [ ( atk - [ def / 2 ] ) * <99, 153> / 256 ]
<99, 153>は最大・最小のでやすい分布で、
(0から15までの一様乱数を16回生成した合計値) + 6
を求め、99未満なら99、153より大きい場合は153とする乱数。
※混乱状態でターンを開始したPCにパーティアタックした時にはダメージが大幅に軽減されます。上の式で得られるダメージDを1/8倍して1から3加算した値になります。($028E4Aの処理)
D' = [D/8] + <1, 3>
<1, 3>は、 [ ( 2 + 1 ) * rnd / 256 ] + 1 で求まり、 1 は86/256, 2 や 3 は 85/256の比率。
※装備による補正など(複数攻撃武器、痛恨・会心、耐性、防御、毒針)
(更新未定)
※バイキルトはダメージを2倍にします。
【モンスターが行動した時】
こちらは分岐条件が複雑です。ダメージ計算式は3種類で下表に条件別にまとめてあります。
例えばダメージ計算式が [ ( atk - [ def / 2 ] ) * <99, 153> / 256 ] となるのは、
atk - [ def / 2 ] ≧ 0 かつ atk - [ def / 2 ] > [ atk / 8 ] かつ atk ≧ 8 の時になります。
atk - [ def / 2 ] < 0 | |||||
Yes | No | ||||
atk < 16 | atk - [ def / 2 ] ≦ [ atk / 8 ] | ||||
Yes | No | Yes | No | ||
atk < 16 | atk < 8 | ||||
Yes | No | Yes | No | ||
ダメージ計算式 | |||||
0 or 1 | [ [atk/8]*rnd / 256 ] | 0 or 1 | [ [atk/8]*rnd / 256 ] | 0 or 1 | [ ( atk – [ def / 2 ] ) * <99, 153 > / 256 ] |
_/_/_/ 参考サイト _/_/_/
SFC版DQ3 打撃ダメージ値乱数
_/_/_/ 解析資料(dq_492氏) _/_/_/
ほとんどは資料にあるサブルーチンの内容をなぞってまとめたもの
DQ3戦闘部分解説19直接攻撃の処理について
DQ3戦闘部分解説2戦闘関連のメモリーについて
2019年6月5日 リンクを修正
PR
Comment form
カレンダー
10 | 2024/11 | 12 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
最新記事
(12/18)
(04/18)
(09/15)
(09/11)
(06/21)
プロフィール
HN:
bamboo
性別:
非公開
自己紹介:
2010年の3月ごろニコニコ生放送のゲーム放送でRTAを知ってよく見るようになった。
どちらかというとゲームはプレイするものじゃなくてプレイを"みる"ものだと思っている。
逆アセンブル解析というのをかじったものの放置していたが、某放送の影響で解析を再開。
2を初クリアしたのは2011.3.10。ブログの内容はSFC版ドラクエ1・2の解析がメイン。最近はjavascriptとかluaをある程度扱えるようになったので、botでルート検証とかできたらと思いつつも進んでいない。
要点をまとめたり文章書くのが苦手なので記事が長ったらしかったり、日本語のようで日本語でなかったりする。プログラム用語が使えるようになりたいかも。
ツイッター: https://twitter.com/bamb00h
ブログに公開せずツイートのみの情報もあり(twilog)
どちらかというとゲームはプレイするものじゃなくてプレイを"みる"ものだと思っている。
逆アセンブル解析というのをかじったものの放置していたが、某放送の影響で解析を再開。
2を初クリアしたのは2011.3.10。ブログの内容はSFC版ドラクエ1・2の解析がメイン。最近はjavascriptとかluaをある程度扱えるようになったので、botでルート検証とかできたらと思いつつも進んでいない。
要点をまとめたり文章書くのが苦手なので記事が長ったらしかったり、日本語のようで日本語でなかったりする。プログラム用語が使えるようになりたいかも。
ツイッター: https://twitter.com/bamb00h
ブログに公開せずツイートのみの情報もあり(twilog)
ブログ内検索
最古記事
(09/17)
(09/17)
(09/18)
(02/04)
(02/07)
カウンター
忍者アナライズ