マップの追加ができるようになったのでB1Fと同じようにして最下層までマップを追加し、問題なく行き来できることを確認します(マップ作成+設定は結構時間がかかったんですが、書くことはないので省略)。今回はギミックとして「同フロア内の封魔石を破壊したら呪文が使えるようになる」としているので、その部分が他と異なる部分です。
- SR: $0DE976 NPC1_TalkSR_058C(B2Fの封魔石のNPC)(新SR)
0DE976 | JSL $CDEBDB | SR: $0DEBDB | イベント戦闘(vs封魔石-青) |
---|---|---|---|
0DE97A | JSL $C1E32E | SR: $01E32E 引数:1#$003F | BGM再生 |
0DE980 | LDA #$0019 | A=#$0019 | |
0DE983 | JSL $C74B8C | SR: $074B8C | 行動対象キャラクター指定 |
0DE987 | JSL $C75930 | SR: $075930 | キャラクター消滅 |
0DE98B | LDA #$0010 | A=#$0010 | |
0DE98E | TSB $35B2 | A or $35B2 | オリハルコンの洞窟B2Fの封魔石Bを破壊した |
0DE991 | JSL $CDEC31 | SR: $0DEC31 | オリハルコンの洞窟B2F呪文封印解除処理 |
0DE995 | RTL | return |
- SR: $0DEC31 オリハルコンの洞窟B2F呪文封印解除処理(新SR)
0DEC31 | LDA #$0020 | A=#$0020 | |
---|---|---|---|
0DEC34 | JSL $C74B39 | SR: $074B39 | 処理にインターバルを置く |
0DEC38 | JSL $CDEB7F | SR: $0DEB7F | オリハルコンの洞窟B2Fの呪文封印を解いたか |
0DEC3C | BCC #$0C | if(c==off) goto $0DEC4A | |
0DEC3E | JSL $C7771E | SR: $07771E | 呪文有効環境設定 |
0DEC42 | JSL $C737BE | SR: $0737BE 引数:1#$103F | メッセージ表示 |
0DEC48 | BRA #$06 | goto $0DEC50 | |
0DEC4A | JSL $C737BE | SR: $0737BE 引数:1#$103E | メッセージ表示 |
0DEC50 | JSL $CDACD2 | SR: $0DACD2 | キー入力でメッセージウィンドウを閉じる |
0DEC54 | JSL $CDD65C | SR: $0DD65C | PC表示? |
0DEC58 | RTL | return |
- SR: $0DEB7F オリハルコンの洞窟B2Fの呪文封印を解いたか(該当c=on)(新SR)
0DEB7F | LDA $35B2 | A=$35B2 | |
---|---|---|---|
0DEB82 | AND #$0010 | A&=#$0010 | オリハルコンの洞窟B2Fの封魔石Aを破壊した |
0DEB85 | BEQ #$0A | if(z==on) goto $0DEB91 | |
0DEB87 | LDA $35B2 | A=$35B2 | |
0DEB8A | AND #$0020 | A&=#$0020 | オリハルコンの洞窟B2Fの封魔石Bを破壊した |
0DEB8D | BEQ #$02 | if(z==on) goto $0DEB91 | |
0DEB8F | SEC | c=on | |
0DEB90 | RTL | return | |
0DEB91 | CLC | c=off | |
0DEB92 | RTL | return |
封魔石を倒すたびに「フロア内の封魔石を全部倒しているか」の判定を行い、倒していれば呪文が使えるようにする、というだけです。この処理を全フロアについて実装します。
コメント