DQ3 エンカウント時の出現モンスター決定方法1

以前ふとしたところから見つけたエンカウント情報を掲載していたサイトがいつの間にかなくなってしまっていたようなので、まじめに解析しながらどういうルールでエンカウントするモンスターが決定されているのか見ていきます。エンカウント時に使用されるデータは主に以下の2つです。

  • $08ADD1- エンカウント(20Byte * 105rec)
範囲(Byte)範囲(bit)意味RAM上セット先アドレス
0-1Byteエンカウント率
2Byte0-2bitエンカウント種別
3-5bit先制強襲率
6bit混成モンスター1が出現決定したら他は出現させない7EF7D4
7bit混成モンスター2が出現決定したら他は出現させない7EF7D6
3Byte0bit混成モンスター3が出現決定したら他は出現させない7EF7D8
1bit混成モンスター4が出現決定したら他は出現させない7EF7DA
2bit混成モンスター5が出現決定したら他は出現させない7EF7DC
3bit単体出現モンスターが出現決定したら他は出現させない7EF7E8
4-7bit空き?
4Byte混成モンスター1ID7EF7B8
5Byte混成モンスター2ID7EF7BA
6Byte混成モンスター3ID7EF7BC
7Byte混成モンスター4ID7EF7BE
8Byte混成モンスター5ID7EF7C0
9Byte1体のみ+混成5種をお供にするモンスターID7EF7C2
10Byte単一種出現モンスター17EF7C4
11Byte単一種出現モンスター27EF7C6
12Byte単一種出現モンスター37EF7C8
13Byte単一種出現モンスター47EF7CA
14Byte夜のみ出現するモンスター7EF7CC
15Byte単体出現モンスター7EF7CE
16Byte固定パーティ1ID7EF7D0
17Byte固定パーティ2ID(夜のみ出現)7EF7D2
18Byteエリアレベル
19Byte最大出現数
  • $08B6D8- エンカウント種別(21Byte * 4rec)
範囲(Byte)意味RAM上セット先アドレス
0-13Byte混成モンスター1~固定パーティ2の出現閾値(1Byteずつを2Byte領域にセット)7EF798-B3
14Byte単一種出現モンスター1出現数ID7EF7F0
15Byte単一種出現モンスター2出現数ID7EF7F2
16Byte単一種出現モンスター3出現数ID7EF7F4
17Byte単一種出現モンスター4出現数ID7EF7F6
18Byte単一種出現モンスター5出現数ID7EF7F8
19Byte3グループ出現確率分子(分母256)7EF7B4
20Byte4グループ出現確率分子(分母256)7EF7B6

$08B6D8- エンカウント種別のインデックスは$08ADD1- エンカウントの2バイト目下位3ビットの値を使用します。3ビットなので0-7までセットできますが、実体は4レコードしかないので4以上の値をセットすると壮絶にバグる(はず)ので注意してください。

というわけで次回からプログラム部分の説明をしていきます。プログラム部分の解析がいらないという人はこのエントリだけ見れば十分です。

コメント

タイトルとURLをコピーしました