ひかりのたまをゾーマとの戦闘中に使用した際に光ゾーマになるか灰ゾーマになるかを切り替えます。条件に応じてモンスターIDを切り替えるだけなのでこれといって難しいことはありません。
- SR: $02A24A ひかりのたま使用(戦闘中,闇→光ゾーマ変更含む)
略 | |||
---|---|---|---|
02A277 | JSR $DED0 | SR: $02DED0 | ひかりのたま使用時ゾーマモンスターID切り替え |
略 | |||
02A322 | JSR $DEDF | SR: $02DEDF | ひかりのたま使用時ゾーマメッセージ表示 |
02A325-7 | NOP |
- SR: $02DED0 ひかりのたま使用時ゾーマモンスターID切り替え(新SR)
02DED0 | JSL $CDE7D9 | SR: $0DE7D9 | オルテガを生き返らせているか(該当c=on) |
---|---|---|---|
02DED4 | BCC #$05 | if(c==off) goto $02DEDB | |
02DED6 | LDA #$00B5 | A=#$00B5 | 灰ゾーマのモンスターID |
02DED9 | BRA #$03 | goto $02DEDE | |
02DEDB | LDA #$0088 | A=#$0088 | 光ゾーマのモンスターID |
02DEDE | RTS | return |
- SR: $02DEDF ひかりのたま使用時ゾーマメッセージ表示(新SR)
02DEDF | JSL $CDE7D9 | SR: $0DE7D9 | オルテガを生き返らせているか(該当c=on) |
---|---|---|---|
02DEE3 | BCC #$08 | if(c==off) goto $02DEED | |
02DEE5 | JSL $C1A867 | SR: $01A867 引数:1#$0186 | 戦闘メッセージ表示 |
02DEEB | BRA #$06 | goto $02DEF3 | |
02DEED | JSL $C1A867 | SR: $01A867 引数:1#$014F | 戦闘メッセージ表示 |
02DEF3 | RTS | return |
- SR: $04AA48 光のたま使用時エフェクト処理
略 | |||
---|---|---|---|
04AA8F | JSR $F970 | SR: $04F970 | $04844F+灰ゾーマ用メッセージ表示 |
略 | |||
04AB0A | JSR $F952 | SR: $04F952 | ゾーマひかりのたま使用時パレットアクセスID変更 |
略 |
- SR: $04F970 $04844F+灰ゾーマ用メッセージ表示(新SR)
04F970 | JSL $CDE7D9 | SR: $0DE7D9 | オルテガを生き返らせているか(該当c=on) |
---|---|---|---|
04F974 | BCC #$06 | if(c==off) goto $04F97C | |
04F976 | JSL $C1A867 | SR: $01A867 引数:1#$0187 | 戦闘メッセージ表示 |
04F97C | JSR $844F | SR: $04844F | |
04F97F | RTS | return |
- SR: $04F952 ゾーマひかりのたま使用時パレットアクセスID変更(新SR)
04F952 | JSL $CDE7D9 | SR: $0DE7D9 | オルテガを生き返らせているか(該当c=on) |
---|---|---|---|
04F956 | BCC #$05 | if(c==off) goto $04F95D | |
04F958 | LDA #$03BC | A=#$03BC | 灰ゾーマのパレットアクセスID |
04F95B | BRA #$03 | goto $04F960 | |
04F95D | LDA #$074F | A=#$034F | 光ゾーマのパレットアクセスID |
04F960 | RTS | return |
さらに、ゾーマはアニメーション中のパレットが静止画像と別になっているようで、特別な処理をしてやらないとアニメーション中と静止画像の色が異なっておかしなことになります。
- SR: $048951 ゾーマ攻撃アニメーション処理?
略 | |||
---|---|---|---|
048954 | JSR $F961 | SR: $04F961 | ゾーマ攻撃モーション時パレットアクセス設定 |
略 |
- SR: $04F961 ゾーマ攻撃モーション時パレットアクセス設定(新SR)
04F961 | JSL $CDE7D9 | SR: $0DE7D9 | オルテガを生き返らせているか(該当c=on) |
---|---|---|---|
04F965 | BCC #$05 | if(c==off) goto $04F96C | |
04F967 | LDY #$03BC | Y=#$03BC | 灰ゾーマのパレットアクセスID |
04F96A | BRA #$03 | goto $04F96F | |
04F96C | LDY #$034F | Y=#$034F | 光ゾーマのパレットアクセスID |
04F96F | RTS | return |
個別の処理自体はまあ芸が無いというか、オルテガの生存状態を見て処理を切り替えているだけです。ただ、対応しないといけない部分が何箇所かに散らばっているのでちょっと面倒なだけです。
しかし、このモーションといい、吹雪を吐くアニメーションといい、もうちょっと何とかならなかったのかと本家に突っ込みたい。
コメント