裏CHUNSOFT > ゲーム解析入門 > 1.ブフーの杖改造

1.ブフーの杖改造

ブフーの杖で、振られた側がNPCの時に何もしないように分岐する処理は031E60以降にあります。

031E60	E2 10        SEP #$10        ; "X","Y"のサイズは1バイト
031E62	A6 00        LDX $00         ; "X" = $00(振られた側のキャラ番号)
031E64	E0 13        CPX #$13        ; "X" - 13 を計算
031E66	F0 4D        BEQ #$4D        ; "X" = 13(シレン) のとき$031EB5へ(おにぎり状態にする)
031E68	86 00        STX $00         ; $00 = "X"
031E6A	DA           PHX             ;
031E6B	22 AC 10 C2  JSL $0210AC     ; キャラ番号$00の情報取得、$00=X座標,$01=Y座標,$02=方向,$03=キャラコード,$04=外見
031E6F	FA           PLX             ;
031E70	A4 03        LDY $03         ; "Y" = $03(キャラコード)
031E72	C0 3C        CPY #$3C        ; "Y" - 3C を計算
031E74	B0 3E        BCS #$3E        ; "Y" >= 3C(3C以上は全てNPC) のとき$031EB4へ(何もしない)
031E76	C0 28        CPY #$28        ; "Y" - 28 を計算
031E78	F0 3A        BEQ #$3A        ; "Y" = 28(魔蝕虫) のとき$031EB4へ(何もしない)

見れば分かるように、031E70〜031E78の処理を無効にすれば良いのです。 特定の処理を無効にするには、NOPで埋める、JMPやBRAでジャンプする等、様々な方法がありますが、ここではもっと簡単な方法があります。 3Cと28を、キャラコードにはあり得ない値(例えばFF)に変更してしまえば良いのです。

ところで、振られた側がシレンの時にも、おにぎり状態にするように分岐していることが分かります。 折角なので、こちらも改造してみましょう。 031E65の13をFFに変更して、シレンにもブフーの杖の効果が出るようにしてみて下さい。 シレンにブフーの杖の効果が出ると(エーテルデビル、ガイコツまおうのどちらでも可)即死します。 復活の草を持っているとシレンの肉が出来上がります。

ということで、以下のように変更して、NPCやシレンにブフーの杖を振ってみて下さい。

変更前
031E60  E2 10 A6 00 E0 13 F0 4D 86 00 DA 22 AC 10 C2 FA
031E70  A4 03 C0 3C B0 3E C0 28 F0 3A A5 00 48 5A 86 00
変更後
031E60  E2 10 A6 00 E0 FF F0 4D 86 00 DA 22 AC 10 C2 FA
031E70  A4 03 C0 FF B0 3E C0 FF F0 3A A5 00 48 5A 86 00

2010年8月8日更新

裏CHUNSOFT > ゲーム解析入門 > 1.ブフーの杖改造