ご無沙汰しております。さて、メカ戦士ギメリアの特殊能力「超弾性金属」はダイモスがイベントで取得する「必殺烈風正拳突き改」でのみダメージを与えられるのですが、その仕組みはダメージ計算中のサブルーチンからユニットID、及び武器IDを取得してダメージを0にするか否かの処理(先攻側…3EF48:20 FD F1=03F1FDのサブルーチンを呼び出し、後攻側…3F117:20 FD F1=03F1FDのサブルーチンを呼び出し)にて行っています。なお、アドレスはいずれも初期ROMの場合です。 (サブルーチン読み込み直前に武器ID取得のコマンドが実行されている) 03F1FD 29 FF 03 AND #$03FF (武器IDの)上限を03FFに絞り込み 03F200 85 00 STA $00 (取得した武器IDを)7E0000に書き込み 03F202 A2 00 00 LDX #$000 Xに即値0000を読み込み 03F205 B9 65 18 LDA $1865,Y $7E1865 ユニットID(2バイト)を取得03F208 29 FF 01 AND #$01FF (ユニットIDの)上限を01FFに絞り込み 03F20B DF 26 F2 83 CMP $83F1AD,X $03F226 X.Aから03F226の指定値を減算 03F20F F0 0B BEQ $0B $03F21C 指定値ならば03F21Cにジャンプ 03F211 E8 INX Xに1を加算 03F212 E8 INX Xに1を加算 03F213 E8 INX Xに1を加算 03F214 E8