前回からの続き。今回はダメージを発生させるところから。
- SR: $02D580 直接攻撃反射ダメージ計算等
| 省略 | |||
|---|---|---|---|
| 02D593 | JSL $CFAEB8 | SR: $0FAEB8 | 盗賊切り返しダメージ処理 |
| 省略 |
- SR: $0FAEB8 盗賊切り返しダメージ処理(新SR)
| 0FAEB8 | PHA | Push A | |
|---|---|---|---|
| 0FAEB9 | PHX | Push X | |
| 0FAEBA | PHY | Push Y | |
| 0FAEBB | LDA $2602 | A=$2602 | |
| 0FAEBE | AND #$0004 | A&=#$0004 | |
| 0FAEC1 | BEQ #$14 | if(z==on) goto $0FAED7 | |
| 0FAEC3 | LDA $23E4 | A=$23E4 | 攻撃主体と行動対象を入れ替える |
| 0FAEC6 | PHA | Push A | |
| 0FAEC7 | LDA $23E8 | A=$23E8 | |
| 0FAECA | PHA | Push A | |
| 0FAECB | JSL $CFAEDB | SR: $0FAEDB | 盗賊切り返しダメージ処理(コア) |
| 0FAECF | PLA | Pull A | |
| 0FAED0 | STA $23E8 | $23E8=A | 攻撃主体と行動対象を元に戻す |
| 0FAED3 | PLA | Pull A | |
| 0FAED4 | STA $23E4 | $23E4=A | |
| 0FAED7 | PLY | Pull Y | |
| 0FAED8 | PLX | Pull X | |
| 0FAED9 | PLA | Pull A | |
| 0FAEDA | RTL | return |
- SR: $0FAEDB 盗賊切り返しダメージ処理(コア)(新SR)
| 0FAEDB | LDA $23E4 | A=$23E4 | |
|---|---|---|---|
| 0FAEDE | PHA | Push A | |
| 0FAEDF | LDA $23E8 | A=$23E8 | |
| 0FAEE2 | STA $23E4 | $23E4=A | |
| 0FAEE5 | PLA | Pull A | |
| 0FAEE6 | STA $23E8 | $23E8=A | |
| 0FAEE9 | JSR $AF16 | SR: $0FAF16 | 切り返し発生時エフェクト処理 |
| 0FAEEC | LDA $2603 | A=$2603 | 切り返しダメージ値をダメージ値用バッファにセット |
| 0FAEEF | STA $23FA | $23FA=A | |
| 0FAEF2 | JSL $C29200 | SR: $029200 | ダメージ確定後の処理メイン |
| 0FAEF6 | LDA #$001C | A=#$001C | |
| 0FAEF9 | TRB $2602 | A ^ $2602 | 切り返し発生フラグをクリア |
| 0FAEFC | STZ $2603 | $2603=#$00 | |
| 0FAEFF | RTL | return |
- SR: $0FAF16 切り返し発生時エフェクト処理(新SR)
| 0FAF16 | JSL $C1E32E | SR: $01E32E 引数:1#$00BC | 再生BGM設定? |
|---|---|---|---|
| 0FAF1C | JSL $C1A867 | SR: $01A867 引数:1#$01FA | 戦闘メッセージ表示 |
| 0FAF22 | LDY #$0000 | Y=#$0000 | |
| 0FAF25 | LDX $23E8 | X=$23E8 | |
| 0FAF28 | JSL $C2CAD9 | SR: $02CAD9 引数:1#$203A 引数:2#$00FF | 戦闘中キャラクター情報取得 インデックス:X |
| 0FAF30 | STA $4F50,Y | $4F50+Y=A | |
| 0FAF33 | INC $4F4E | $4F4E++ | |
| 0FAF36 | LDA #$8D72 | A=#$8D72 | 稲妻の剣のエフェクトを使用 |
| 0FAF39 | STA $4F4C | $4F4C=A | |
| 0FAF3C | LDA #$000E | A=#$000E | |
| 0FAF3F | STA $4F68 | $4F68=A | |
| 0FAF42 | JSL $C48D49 | SR: $048D49 | エフェクト実行 |
| 0FAF46 | STZ $4F4E | $4F4E=#$00 | |
| 0FAF49 | LDA #$0000 | A=#$0000 | |
| 0FAF4C | STA $4F50,Y | $4F50+Y=A | |
| 0FAF4F | RTS | return |
基本的にやっていることは刃の鎧や嘆きの盾の反射と同じなので特筆すべき点はないのですが、エフェクトが起きるようにしています。装備している武器のエフェクトではなく固定のエフェクトを使うようにしています。


コメント