解析 一覧

DQ6戦闘部分解説10

今回は各コマンド入力の詳細部分です。まずは一番単純な「こうげき」です。

dq6戦闘画面3

  • SR:$0239C8 戦闘コマンド処理1人分_攻撃
0239C8LDA #$0042A=#$0042戦闘行動「こうげき」
0239CBSTA $258D$258D=A
0239CEJSR $3AA5SR: $023AA5行動対象情報セット
0239D1RTSreturn

続きを読む


DQ6戦闘部分解説9

相当サボっていますがとりあえずあまりネタを考えるのに頭を使わなくていいところから作業をしていきます。というわけで前回の続き、戦闘コマンド入力「たたかう」を見ていきます。

dq6戦闘画面

続きを読む


スポンサーリンク

DQ3モンスター側のターゲッティング処理

さすがにネタが尽きたのと最近は「○○のリリースのお知らせ」だけでお茶を濁していたので解説記事も投下しないといかんなあと思っていたところで、DQ3のターゲッティングについて解析したので下記の記事に解説を追記しました。
DQ3戦闘部分解説11
モンスター側のターゲッティングについて解説します。前回は以下のSRの上1つまで終わっています。

DQ6ルイーダ熟練度表示バグの解析(完全版)

以前下記のエントリで不完全に直したつもりになっていましたが、改めて調査をして原因がわかりました。

DQ6 ルイーダ熟練度表示バグの解析(不完全版)
相変わらずrcで止まっているDQ6インターフェース改良パッチですが、ルイーダの酒場での熟練度表示バグについて説明して欲しいというコメント...

結論から言うと前回の修正は直した「気」になっていただけで正しい変更法ではありませんでした。改めて不具合の内容については下記の動画を見てください。

続きを読む


スポンサーリンク

DQ6戦闘部分解説8

今回は「逃げる」の時の処理です。

  • SR:$023E17 戦闘コマンド処理_SRアドレス_逃げる
023E17JSL $C1F32ASR: $01F32A 引数:1#$00B1BGM再生
023E1DLDA #$0042A=#$0042
023E20STA $2555$2555=A
023E23PEA #$2011Push #$2011イベント戦闘なら逃走不可
023E26PEA #$0004Push #$0004
023E29PEA #$7E00Push #$7E00
023E2CJSL $C92965SR: $092965RAM上情報取得
023E30BNE #$49if(z==off) goto $023E7B
023E32JSR $3ECBSR: $023ECB確実に逃げられるか(該当c=on)
023E35BCS #$22if(c==on) goto $023E59
023E37PEA #$2514Push #$2514
023E3APEA #$0060Push #$0060
023E3DPEA #$7E00Push #$7E00
023E40JSL $C92965SR: $092965RAM上情報取得
023E44TAXX=A
023E45LDA $C23EC7,XA=$023EC7+X逃走確率閾値アクセス
023E49AND #$00FFA&=#$00FF
023E4CSTA $00DP($00)=A
023E4EJSL $C00E97SR: $000E97乱数発生(00-FF)
023E52AND #$0007A&=#$0007
023E55CMP $00A>=DP($00)?
023E57BCS #$12if(c==on) goto $023E6B
023E59LDA #$0005A=#$0005
023E5CPEA #$2514Push #$2514
023E5FPEA #$001EPush #$001E
023E62PEA #$7E00Push #$7E00
023E65JSL $C929B0SR: $0929B0RAM上情報変更
023E69CLCc=off
023E6ARTSreturn
023E6BJSR $3F24SR: $023F24レンジャーがいるときの追加逃走閾値取得
023E6ESTA $00DP($00)=A
023E70JSL $C00E97SR: $000E97乱数発生(00-FF)
023E74AND #$0007A&=#$0007
023E77CMP $00A>=DP($00)?
023E79BCC #$DEif(c==off) goto $023E59
023E7BPEA #$2514Push #$2514
023E7EPEA #$0060Push #$0060
023E81PEA #$7E00Push #$7E00
023E84JSL $C92965SR: $092965RAM上情報取得
023E88INCA++
023E89CMP #$0004A>=#$0004?
023E8CBCS #$0Dif(c==on) goto $023E9B
023E8EPEA #$2514Push #$2514
023E91PEA #$0060Push #$0060
023E94PEA #$7E00Push #$7E00
023E97JSL $C929B0SR: $0929B0RAM上情報変更
023E9BLDA #$0002A=#$0002
023E9EPEA #$2513Push #$2513
023EA1PEA #$0003Push #$0003
023EA4PEA #$7E00Push #$7E00
023EA7JSL $C929B0SR: $0929B0RAM上情報変更
023EABJSL $C2CAC6SR: $02CAC6
023EAFJSL $C2CA59SR: $02CA59
023EB3JSL $C02A16SR: $002A16 引数:1#$0028戦闘メッセージ表示「○○は にげだした!」
023EB9JSL $C02A16SR: $002A16 引数:1#$0001戦闘メッセージ表示:プロンプト
023EBFJSL $C02A16SR: $002A16 引数:1#$0029戦闘メッセージ表示「しかし まわりこまれてしまった!」
023EC5CLCc=off
023EC6RTSreturn

$023EC7から1バイトずつ逃走確率の閾値が格納されています。

逃走回数閾値成功率
1回目450%
2回目450%
3回目675%
4回目以降787.5%

となっているので、DQ6では通常時は確実に逃げられることはありません。

続きを読む


1 2 3 4 5 6 22