DQ4 (FC) > エンカウント確率


エンカウント確率(フィールド)

FC 版 DQ4 では 1 歩動いた際、以下の条件を満たすと戦闘が発生します:
  • (乱数 0〜255) < (境界値)

境界値 は次式によって計算されます:
  • (境界値) := (時間・地形依存の基本値) × ( (エンカウントテーブル依存の乗数) × (歩数依存の乗数) ) × (トヘロス乗数) × (においぶくろ乗数)

時間・地形依存の基本値

地形 ID 地形 基本値(昼) 基本値(夜)
0 海上 4 5
1 26 32
2 草原 11 15
3 茂み 16 20
4 20 23
5 砂漠 17 20
6 岩山 0 0
7 毒の沼地 20 28
補足:
  • DQ4 内での時間値が 0〜119 の範囲にある場合を "昼"、それ以外の場合(120〜203 の範囲にある場合)を "夜" とします。(宿屋後の時間値は 40 であり、時間値 120 以降はフィールドの色が変化します)
  • 上記以外の地形(城 上部・橋など)では、戦闘は発生しません。

エンカウントテーブル依存の乗数

乗数
0 0.25
1 0.50
2 0.75
3 1.00
4 1.25
5 1.50
6 1.75
7 2.00

歩数依存の乗数

非戦闘 累計歩数 乗数
0 0.125
1 0.25
2 0.5
3 以上 1.0
  • 戦闘後、累計歩数は 0 に再設定されます。
  • 町の出入り・ラナルータでは初期化されないようです。

トヘロス乗数

(パーティLv)-(エリアLv) 乗数
0 以下 1.0
1 0.75
2 0.5
3 0.25
4 0.125
5 以上 0

パーティLv

パーティ Lv とは、冒険再開時 または 最後の戦闘勝利時 のパーティ内(NPC 含む)の最高 Lv のことを指します。馬車メンバーの Lv は、馬車がある状態での戦闘勝利時以外では参照されないようです。(※ 内部処理を追っていないため、正確な情報ではない可能性があります)

NPC の Lv は以下のようになっています:
ID キャラクタ名 Lv
8 ホイミン 197
9 オーリン 198
10 ロレンス 199
11 スコット 200
12 ホフマン 201
13 パノン 202
14 ルーシア 203
15 ドラン 204

においぶくろ乗数

「においぶくろ」の効果中は 4、それ以外の場合は 1 です。

ソース

+ ...
;------------------------------------------
; エンカウント判定
;------------------------------------------
9BF3 [61BF3]  20 F9 A0       JSR $A0F9
9BF6 [61BF6]  AD 15 05       LDA $0515
9BF9 [61BF9]  C9 02          CMP #$02
9BFB [61BFB]  F0 1B          BEQ $9C18
9BFD [61BFD]  A5 41          LDA $41
9BFF [61BFF]  10 03          BPL $9C04
9C01 [61C01]  4C 79 9F       JMP $9F79 ; 時間の影響を受けない場所
 
9C04 [61C04]  20 19 9C       JSR $9C19 ; エンカウントテーブル依存の乗数
9C07 [61C07]  20 CC 9C       JSR $9CCC ; 歩数依存の乗数
9C0A [61C0A]  20 B2 9C       JSR $9CB2 ; 時間・地形依存の設定値
9C0D [61C0D]  20 BA A0       JSR $A0BA ; トヘロス
9C10 [61C10]  20 F6 9C       JSR $9CF6 ; においぶくろ
9C13 [61C13]  B0 03          BCS $9C18
9C15 [61C15]  4C 0E 9D       JMP $9D0E
9C18 [61C18]  60             RTS
 
;------------------------------------------
; エンカウントテーブル依存の乗数
;------------------------------------------
9C19 [61C19]  AD 15 05       LDA $0515
9C1C [61C1C]  C9 02          CMP #$02
9C1E [61C1E]  D0 03          BNE $9C23
9C20 [61C20]  68             PLA
9C21 [61C21]  68             PLA
9C22 [61C22]  60             RTS
 
9C23 [61C23]  AD 5A 61       LDA $615A ; 現在の章
9C26 [61C26]  C9 04          CMP #$04
9C28 [61C28]  F0 15          BEQ $9C3F ; 5 章の場合
9C2A [61C2A]  A2 00          LDX #$00
9C2C [61C2C]  C9 02          CMP #$02
9C2E [61C2E]  D0 02          BNE $9C32 ; 1, 2, 4 章の場合
9C30 [61C30]  E8             INX
9C31 [61C31]  E8             INX
9C32 [61C32]  BD 41 A2       LDA $A241,X
9C35 [61C35]  85 00          STA $00
9C37 [61C37]  BD 42 A2       LDA $A242,X
9C3A [61C3A]  85 01          STA $01
9C3C [61C3C]  4C 64 9C       JMP $9C64
 
9C3F [61C3F]  A5 65          LDA $65
9C41 [61C41]  F0 17          BEQ $9C5A ; フィールド
9C43 [61C43]  C9 01          CMP #$01
9C45 [61C45]  D0 0F          BNE $9C56
 
; ゴットサイド
 
9C47 [61C47]  A5 43          LDA $43   ; Y 座標
9C49 [61C49]  C9 0C          CMP #$0C
9C4B [61C4B]  90 04          BCC $9C51
9C4D [61C4D]  A9 34          LDA #$34
9C4F [61C4F]  D0 02          BNE $9C53
9C51 [61C51]  A9 35          LDA #$35
9C53 [61C53]  4C 88 9C       JMP $9C88
 
; 闇の世界
 
9C56 [61C56]  A9 36          LDA #$36
9C58 [61C58]  D0 F9          BNE $9C53
9C5A [61C5A]  AD 45 A2       LDA $A245
9C5D [61C5D]  85 00          STA $00
9C5F [61C5F]  AD 46 A2       LDA $A246
9C62 [61C62]  85 01          STA $01
9C64 [61C64]  A5 42          LDA $42
9C66 [61C66]  4A             LSR A
9C67 [61C67]  4A             LSR A
9C68 [61C68]  4A             LSR A
9C69 [61C69]  4A             LSR A
9C6A [61C6A]  85 06          STA $06
9C6C [61C6C]  A5 43          LDA $43
9C6E [61C6E]  29 F0          AND #$F0
9C70 [61C70]  05 06          ORA $06
9C72 [61C72]  A8             TAY
9C73 [61C73]  B1 00          LDA ($00),Y
9C75 [61C75]  AE 15 05       LDX $0515
9C78 [61C78]  E0 01          CPX #$01
9C7A [61C7A]  F0 05          BEQ $9C81 ; 海の場合
 
9C7C [61C7C]  29 3F          AND #$3F
9C7E [61C7E]  4C 88 9C       JMP $9C88
 
9C81 [61C81]  A5 07          LDA $07
9C83 [61C83]  0A             ASL A   ; (海の場合、本来はここにジャンプするべき)
9C84 [61C84]  2A             ROL A
9C85 [61C85]  2A             ROL A
9C86 [61C86]  29 03          AND #$03
 
9C88 [61C88]  85 07          STA $07 ; エンカウントテーブル No.
9C8A [61C8A]  85 00          STA $00
9C8C [61C8C]  A9 00          LDA #$00
9C8E [61C8E]  85 01          STA $01
9C90 [61C90]  A2 00          LDX #$00
9C92 [61C92]  A9 10          LDA #$10
9C94 [61C94]  20 27 C8       JSR $C827
9C97 [61C97]  AD 39 A2       LDA $A239
9C9A [61C9A]  AC 3A A2       LDY $A23A
9C9D [61C9D]  20 1D C8       JSR $C81D
9CA0 [61CA0]  A0 00          LDY #$00
9CA2 [61CA2]  B1 00          LDA ($00),Y
9CA4 [61CA4]  85 0B          STA $0B
9CA6 [61CA6]  4A             LSR A
9CA7 [61CA7]  4A             LSR A
9CA8 [61CA8]  4A             LSR A
9CA9 [61CA9]  4A             LSR A
9CAA [61CAA]  4A             LSR A
9CAB [61CAB]  AA             TAX
9CAC [61CAC]  BD 40 A3       LDA $A340,X
9CAF [61CAF]  85 0E          STA $0E
9CB1 [61CB1]  60             RTS
 
A340 [62340]  04 08 0C 10 14 18 1C 20
 
;------------------------------------------
; 歩数依存の乗数
;------------------------------------------
9CCC [61CCC]  AD 42 6E       LDA $6E42 ; 非戦闘 累計歩数
9CCF [61CCF]  C9 03          CMP #$03
9CD1 [61CD1]  B0 0A          BCS $9CDD
9CD3 [61CD3]  AA             TAX
9CD4 [61CD4]  BD 3D A3       LDA $A33D,X
9CD7 [61CD7]  EE 42 6E       INC $6E42
9CDA [61CDA]  4C DF 9C       JMP $9CDF
 
9CDD [61CDD]  A9 10          LDA #$10
9CDF [61CDF]  A2 00          LDX #$00
9CE1 [61CE1]  86 0F          STX $0F
9CE3 [61CE3]  A2 0E          LDX #$0E
9CE5 [61CE5]  4C 27 C8       JMP $C827 ; $0e ← $0e * (歩数依存の乗数)
 
A33D [6233D]  02 04 08
 
;------------------------------------------
; 地形・時間依存の設定値
;------------------------------------------
9CB2 [61CB2]  AE 40 71       LDX $7140
9CB5 [61CB5]  E0 08          CPX #$08
9CB7 [61CB7]  90 03          BCC $9CBC
9CB9 [61CB9]  68             PLA       ; 地形 ID が 8 以上の場合は戦闘を発生させない
9CBA [61CBA]  68             PLA
9CBB [61CBB]  60             RTS
 
9CBC [61CBC]  20 31 A2       JSR $A231 ; 昼か夜かの判定
9CBF [61CBF]  B0 05          BCS $9CC6
9CC1 [61CC1]  BD 7B A2       LDA $A27B,X ; 地形依存の設定値(昼)
9CC4 [61CC4]  D0 03          BNE $9CC9
9CC6 [61CC6]  BD 83 A2       LDA $A283,X ; 地形依存の設定値(夜)
9CC9 [61CC9]  4C E8 9C       JMP $9CE8   ; $0e ← $0e × (設定値) / 256
 
9CCC [61CCC]  AD 42 6E       LDA $6E42
9CCF [61CCF]  C9 03          CMP #$03
9CD1 [61CD1]  B0 0A          BCS $9CDD
9CD3 [61CD3]  AA             TAX
9CD4 [61CD4]  BD 3D A3       LDA $A33D,X
9CD7 [61CD7]  EE 42 6E       INC $6E42
9CDA [61CDA]  4C DF 9C       JMP $9CDF
9CDD [61CDD]  A9 10          LDA #$10
9CDF [61CDF]  A2 00          LDX #$00
9CE1 [61CE1]  86 0F          STX $0F
9CE3 [61CE3]  A2 0E          LDX #$0E
9CE5 [61CE5]  4C 27 C8       JMP $C827
 
A27B [6227B]  04 1A 0B 10 14 11 00 14 
A283 [62283]  05 20 0F 14 17 14 00 1C
 
9CE8 [61CE8]  A2 0E          LDX #$0E
9CEA [61CEA]  20 27 C8       JSR $C827
9CED [61CED]  A5 0F          LDA $0F
9CEF [61CEF]  85 0E          STA $0E
9CF1 [61CF1]  A9 00          LDA #$00
9CF3 [61CF3]  85 0F          STA $0F
9CF5 [61CF5]  60             RTS
 
;------------------------------------------
; においぶくろ
;------------------------------------------
9CF6 [61CF6]  AD EB 6B       LDA $6BEB
9CF9 [61CF9]  F0 0B          BEQ $9D06
 
9CFB [61CFB]  CE EB 6B       DEC $6BEB ; 「においぶくろ」の効果中は 境界値 を 4 倍にする
9CFE [61CFE]  06 0E          ASL $0E
9D00 [61D00]  B0 0A          BCS $9D0C
9D02 [61D02]  06 0E          ASL $0E
9D04 [61D04]  B0 06          BCS $9D0C
9D06 [61D06]  20 91 C8       JSR $C891 ; A ← 乱数 0〜255
9D09 [61D09]  C5 0E          CMP $0E
9D0B [61D0B]  60             RTS
 
9D0C [61D0C]  18             CLC
9D0D [61D0D]  60             RTS
 
;------------------------------------------
; トヘロス
;------------------------------------------
A0BA [620BA]  AD 41 6E       LDA $6E41
A0BD [620BD]  29 7F          AND #$7F
A0BF [620BF]  F0 37          BEQ $A0F8
 
A0C1 [620C1]  CE 41 6E       DEC $6E41
A0C4 [620C4]  AD 41 6E       LDA $6E41
A0C7 [620C7]  29 7F          AND #$7F
A0C9 [620C9]  F0 19          BEQ $A0E4 ; 効果が切れた場合
 
A0CB [620CB]  AD D5 62       LDA $62D5 (主に)戦闘勝利時の最大 Lv
A0CE [620CE]  A0 01          LDY #$01
A0D0 [620D0]  D1 00          CMP ($00),Y ; エリア Lv
A0D2 [620D2]  90 24          BCC $A0F8
A0D4 [620D4]  F0 22          BEQ $A0F8
 
A0D6 [620D6]  F1 00          SBC ($00),Y
A0D8 [620D8]  C9 05          CMP #$05
A0DA [620DA]  B0 1A          BCS $A0F6 ; 戦闘を発生させない
 
A0DC [620DC]  AA             TAX
A0DD [620DD]  CA             DEX
A0DE [620DE]  BD 48 A3       LDA $A348,X
A0E1 [620E1]  4C E8 9C       JMP $9CE8 ; $0e ← $0e × A / 256
 
A0E4 [620E4]  00 07 6F 43    BRK
...
A0F6 [620F6]  68             PLA
A0F7 [620F7]  68             PLA
 
A0F8 [620F8]  60             RTS
 
A348 [62348]  C0 80 40 20
 
;------------------------------------------
; 昼・夜判定
;------------------------------------------
A231 [62231]  AD ED 62       LDA $62ED
A234 [62234]  C9 78          CMP #$78  ; 150 以上
A236 [62236]  60             RTS
 
;------------------------------------------
; NPC の LV 
;------------------------------------------
9423 [41423]  A0 05          LDY #$05
9425 [41425]  A5 6F          LDA $6F   ; キャラクタ ID (?)
9427 [41427]  C9 08          CMP #$08
9429 [41429]  69 00          ADC #$00
942B [4142B]  18             CLC
942C [4142C]  69 BC          ADC #$BC
942E [4142E]  91 79          STA ($79),Y ; Lv ← (キャラクタ ID) + 1 + 188
 
最終更新:2024年05月24日 20:15