DQ3 専門職以外の攻撃呪文の効果を3/4化バグ修正

いちおう一通りストーリー変更は(ゾーマの城のマップ追加を除いて)終わったので、残りはバランス調整、バグ修正なのですが、ちょっとプレイしただけでバグがぽろぽろと見つかりますorz。以前スレでも指摘された「DQ6からの呪文効果エフェクトの移植」の必要性を遊び人のまねまねがらみで感じて調べているのですが、とんとわかりません(例によってDQ6とDQ3は互換性があるという前提のもとDQ3側しか調べていませんが。情報求ム)。というわけで若干モチベーションが下がり気味です。

はるか昔のエントリで実装した「専門職以外の攻撃呪文の効果を3/4にする」ですが、またしてもバグが見つかったので修正します。問題は「アイテムで攻撃呪文の効果を持つもの」が全て設定値の3/4になる、というものです。まあもともと強すぎたんだからいいじゃん、とは思わないでもないのですが、弱体化するんだったら数値設定の方を変えればいいわけで、意図しない動作という点ではバグなので修正します。従来の実装では3/4にするべきかの判断部分と3/4化する部分を一体にしていましたが、判断部分を別SRに切り出すことにします。

  • SR: $02D260 職業別攻撃呪文ダメージ調整
02D263JSR $E362SR: $02E3623/4の調整対象か
02D266BCC #$08if(c==off) goto $02D270
02D268LDA $00A=DP($00)
02D26ALSRA>>1
02D26BADC $00A+=(DP($00)+c)
02D26DLSRA>>1
02D26ESTA $00DP($00)=A3/4化処理
02D270PLPPull P Flag
02D271PLXPull X
02D272PLAPull A
02D273JSR $8E70SR: $028E70ダメージ確定メイン
02D276RTSreturn

  • SR: $02E362 戦闘行動が呪文ダメージ調整対象か(該当c=on)(新SR)
02E362LDX $23EEX=$23EE
02E365CPX #$012CX==#$012C?
02E368BEQ #$57if(z==on) goto $02E3C1
02E36ACPX #$012DX==#$012D?
02E36DBEQ #$52if(z==on) goto $02E3C1
02E36FJSL $C2CC47SR: $02CC47 引数:1#$0078 引数:2#$0040戦闘行動がマホトーンに依存されるか
02E377BEQ #$48if(z==on) goto $02E3C1
02E379LDX $23E4X=$23E4
02E37CSTX $2428$2428=X
02E37FJSL $C2CAD9SR: $02CAD9 引数:1#$203C 引数:2#$00FF
02E387CMP #$0005A>=#$0005?行動主体がPCか
02E38ABCC #$35if(c==off) goto $02E3C1
02E38CJSL $C2BE8ASR: $02BE8A 引数:1#$24
02E391CMP #$0008A==#$0008?行動主体の職業が勇者か
02E394BEQ #$2Bif(z==on) goto $02E3C1
02E396CMP #$0007A==#$0007?行動主体の職業が賢者か
02E399BEQ #$26if(z==on) goto $02E3C1
02E39BCMP #$0002A==#$0002?行動主体の職業が魔法使いか
02E39EBNE #$0Fif(z==off) goto $02E3AF
02E3A0LDA $23EEA=$23EE
02E3A3CMP #$0013A>=#$0013?戦闘行動がバギ(#$13)未満
02E3A6BCC #$19if(c==off) goto $02E3C1
02E3A8CMP #$0015A>=#$0015?戦闘行動がバギクロス(#$15)より上
02E3ABBCS #$14if(c==on) goto $02E3C1
02E3ADBRA #$14goto $02E3C3
02E3AFCMP #$0003A==#$0003?行動主体の職業が僧侶か
02E3B2BNE #$0Fif(z==off) goto $02E3C3
02E3B4LDA $23EEA=$23EE
02E3B7CMP #$0013A>=#$0013?戦闘行動がバギ(#$13)以上
02E3BABCC #$07if(c==off) goto $02E3C3
02E3BCCMP #$0016A>=#$0016?戦闘行動がライデイン(#$16)未満
02E3BFBCS #$02if(c==on) goto $02E3C3
02E3C1CLCc=off
02E3C2RTSreturn
02E3C3SECc=on
02E3C4RTSreturn

新たにやっていること自体は「戦闘行動がマホトーンに依存しない場合は調整対象にしない」だけです。判断部分を別SRに切り出したので今後変更の必要がある場合は判断部分を変えればいい、ということになるので、構成がすっきりしました。また、回復呪文に関しては、戦闘行動IDをピンポイントで見ているので特に判断部分を別SRにする必要はないだろうということで変更していません。

コメント

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