アイテム取得についての補足
3C279〜 武器取得ステージ (ヒートは01、エアーは02、ウッドは04 … )
3C291〜 アイテム取得ステージ(1号は01、2号は02、3号は04)
武器取得ステージをいじることは少ないと思いますが、ここをいじることで
ヒートを倒したときにエアーの武器を入手、なんてことも可能ではあります。
一方、アイテムの入手先変更は割と需要は多いような気が。
攻略に便利なタイムストッパーの取得と同じステージで
アイテムが手に入るのが個人的には気に入らない。
…とかそんなことはどうでもいい。
3C291〜 01 02 00 00 00 04 00 00
左から黄金配列順になっているので、
ヒートで1号、エアーで2号、フラッシュで3号が手に入るというわけ。
これを
01 02 00 04 00 00 00 00
とすると、バブルで3号が手に入る。武器として不遇なバブルリードだけど、
アイテムも手に入るとなればちょっと浮かばれる気がしますね。
――余談終了
入手先はここを弄るだけで変更できますが、
パスワード入力時には別の処理形態でアイテム入手を設定しているので、
話が難しくなる上、手間がかかります。
$9Aには入手済み武器、$9Bには入手済みアイテムを設定したいので
3647B〜 A5 02 85 9A 29 03 85 9B
この処理の前の時点で、$02には入手済み武器の値が入っています。
(ヒートを倒していれば1桁目のbitがON= 01
エアーを倒していれば2桁目のbitが0N= 02
両方を倒していれば03が入っている という感じ)
29 03 というのは、1桁目と2桁目以外のbitを切り捨てる という命令になるので、
これでヒートとエアーを倒しているかを判断できるというわけ。
で、ヒートを倒していれば1号が、エアーを倒していれば2号が手元にあるはずなので
その切り捨てた値をそのまま$9Bに設定しているのです。
3号はフラッシュを倒した時に手に入るので、少し処理が違います。
上の命令の直後
36483〜 A5 9A 29 20 4A 4A 4A 05 9B 85 9B
A5 9A… 先に$9Aに入手済み武器の値が入っているので、これを手に取ります。
29 20…フラッシュを倒していれば6桁目のbitがON=20のはずなので、それ以外の桁を切り捨てます。
4A 4A 4A…6桁目のbitを右に3桁分移動します(20は04になります。00だったら00のまま)
05 9B…この値と先に設定した取得済みアイテムをOR演算(3体とも倒していれば、ここで07になる)
85 9B…計算結果を取得済みアイテムとして$9Bに設定
という流れです。
なので、1号と2号を変えたい場合は、先の3647B辺りの処理を潰し、
3号入手時のような処理にする必要があります。
3号の入手先を変えるなら、29 の後の数字を弄るのと、4A 命令の回数(場合によっては0Aを使用)を
調整すれば、パスワードでのアイテム取得先変更が可能です。
修正した後は、いろいろパスワードを打ち込んでテストしてみましょうw