エンカウント確率(フィールド)
FC 版 DQ4 では 1 歩動いた際、以下の条件を満たすと戦闘が発生します:
境界値 は次式によって計算されます:
- (境界値) := (時間・地形依存の基本値) × ( (エンカウントテーブル依存の乗数) × (歩数依存の乗数) ) × (トヘロス乗数) × (においぶくろ乗数)
時間・地形依存の基本値
地形 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