DQ3 やまびこのぼうし実装

魔法使いの存在価値を大幅に上昇させるであろうやまびこのぼうしの効果を実装します。これが実装できれば、魔法使いの火力は一気に上がります。メラゾーマ連発で単体に400近いダメージが期待できるわけで魔法系ぶとうかとも言うべき存在になるのではないでしょうか。アイテム1つで存在価値を変えてしまおうというのはどうかと思いますが、他に思いつかないのでとりあえず実装することにします。やまびこのぼうしはアイテムID(#E8)に定義することにします。

  • SR: $027939 1キャラクター分の戦闘行動実行処理
02793C JSR $D8B8 SR: $02D8B8
027974 JSR $DAB0 SR: $02DAB0
  • SR: $02D8B8 はやぶさのけん・やまびこのぼうし装備時に戦闘行動によって行動回数を確定(新SR)
02D8B8 JSR $7BBF SR: $027BBF
02D8BB JSR $D8BF SR: $02D8BF
02D8BE RTS return
  • SR: $02D8BF 戦闘行動がマホカンタに影響される場合はやまびこのぼうしの装備をチェックし行動回数を確定(新SR)
02D8BF LDX $23EE X=$23EE
02D8C2 JSL $C2CC47 SR: $02CC47 引数:1#$0078 引数:2#$0080
02D8CA BEQ #$1B if(z==on) goto $02D8E7
02D8CC LDA $23E4 A=$23E4
02D8CF STA $2428 $2428=A
02D8D2 LDA #$00E7 A=#$00E7
02D8D5 STA $242C $242C=A
02D8D8 JSL $C2B87A SR: $02B87A
02D8DC BVC #$09 if(v==off) goto $02D8E7
02D8DE ASL $23D6 $23D6<<1
02D8E1 LDA #$0001 A=#$0001
02D8E4 STA $260A $260A=A
02D8E7 RTS return
  • SR: $02DAB0 再度行動を繰り返すか判断する(繰り返すc=on)(新SR)
02DAB0 INC $23D8 $23D8++
02DAB3 LDA $23D8 A=$23D8
02DAB6 CMP $23D6 A>=$23D6?
02DAB9 BCC #$02 if(c==off) goto $02DABD
02DABB SEC c=on
02DABC RTS return
02DABD PHA Push A
02DABE LDA $260A A=$260A
02DAC1 CMP #$0001 A==#$0001?
02DAC4 BNE #$0C if(z==off) goto $02DAD2
02DAC6 JSL $C2B32F SR: $02B32F
02DACA BCS #$06 if(c==on) goto $02DAD2
02DACC JSL $C1A867 SR: $01A867 引数:1#$017C
02DAD2 PLA Pull A
02DAD3 CLC c=off
02DAD4 RTS return

もともとDQ6に実装があっただけあって、思ったよりも簡単に実装が終わってしまいました。基本はやぶさのけんの実装のパクリでおおむねかたがつきます。やまびこのぼうしの繰り返し対象になる呪文の条件として「マホカンタで反射される」フラグを使っています。また、やまびこのぼうしの場合、1発目の実行が終わった後に「じゅもんが やまびことなって こだまする!」のメッセージを入れる必要があるので、やまびこのぼうしによる行動繰り返しを意味するために$7E260Aに1をセットするようにします(ループの外でこのフラグはOFFにする必要があります)。もう1点、単体を対象にした呪文(メラ系など)を実行して1発目で相手が死んだ場合、2発目は発動しません。

実装自体は終わりました。さて、問題は入手時期です。この手の便利アイテムは普通は一度クリアしてからしか入手できません(DQ5のたたかいのドラム、DQ6のやまびこのぼうし)。とはいえ、今回の改造ではやまびこのぼうしは魔法使いの地位向上のキーとなるアイテムになっているため、クリア後にしてしまうと入手時期が遅すぎるように思われます。もともとアイテム1個で職業バランスを変えようというのが土台無理なのですが、今のところの予定ではアレフガルドのどこかで入手できるようにするつもりです。