DQ3 盗賊に切り返し(カウンター)を実装する3
前回からの続き。今回はダメージを発生させるところから。
- 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 |