データ書き換え講座 第3回 「ダディのサクソフォン」


今回は予告どおり、楽器のデータをいじくり回してみることにみましょう。

楽器といえば、Bardです。
私がWIZ8を始めたときにPC98版CDSから転送したパーティは、Ninja(俺), Samurai, Lord, Valkyrie, Psionic, そしてBardという構成でした。
最初は軽い気持ちで転職もさせずに始めたんですが、しばらく進んでArnikaあたりまで来てみると、どうにもこうにも敵が強くて苦戦しまくるのです。
なぜかって、その時点でMageの呪文を唱えられるのが侍の佐々木助三郎君しか居なくて、しかもSamuraiですから、まだファイアボールの呪文を覚えるまでにはたっぷりと経験を積まねばなりません。
頼みの綱のフェアリーBardといえば、待てど暮らせど一向にMageスペルを覚える気配がない・・・。
かといって、現時点で持ってる攻撃用の楽器はPiercing Pipeだけで、攻撃力がすこぶる弱っちい・・・。

こりゃどうもおかしいぞ。よくよく説明書を読み返してみて、私は激しく勘違いをしていたことに気が付いたのであります。

これまでのシリーズでは、Bardは楽器を演奏するとともにMageスペルを覚えていくことができました。今回も当然そうだと思っておったのですが、なんと今回のBardは呪文を唱えることができないらしいではありませんかっ!!!!!

ああ・・・。こりゃ駄目だということで、自らの注意不足を嘆いてみても後の祭り、われらがパーティは転送されてきた状態に戻って、改めてフェアリーBardをMageに転職させてから、再度ゲームを始めることとなりました。

ところが!
2回目のパーティで先に進むにつれて、世にも奇妙な楽器が続々と手に入るではありませんか!
Lifestealの効果を持つ竪琴だの、Fleeze Allのバイオリンだの、果てはNuclear Blastの角笛まで!!!
しかしBardの居ないうちのパーティには使いこなすことも叶わず、発見した数々の楽器は哀れ武器屋の宝箱の中で埃を被るしかありませんでしたとさ。
途中から、厭がるVi Dominaを無理矢理Bardに転職させてはみたものの、三十路を過ぎた手習いの悲しさ、ゲームが終わった時点でまだBardのレベルはたったの12。だからまだ強力な楽器の大半を演奏することができません。

そんなこんなで、Bardに関しては個人的にかなりの心残りがあるというわけです。
そこで、ゲームをクリアした後で次に始めたときのパーティでは、侍の佐々木君をMageに転職させることで序盤の攻撃呪文不足を補い、フェアリーはBardのままで始めました。
Gadgeteerも1回目のプレイではトカゲのMadras君に頼んでいて中途半端だったので、ドラコンPsionicのドアラ君を転職させました。
現在Monasteryを出るところですが、今のところ順調です。

・・・などと、これをご覧の皆様にとっては果てしなく無駄な前置きが長くなりましたが、今回は、これから大活躍を期待されるわがフェアリーBardのために、たいへん便利な新しい楽器を作ってみることに致します。


Bardの利点といえば、何よりもマジックポイントを消費することなく強力な魔法が使い放題、これに尽きるわけですが、唯一の欠点は、楽器を演奏するとスタミナをガンガン消費してしまうこと。
そのため、強大な敵との戦闘中にはしばしばスタミナ切れを起こして気絶してしまい、僧侶のStamina呪文でたたき起こされるか、敵の攻撃による2倍ダメージで昇天するか、なんてことがよくあって、いずれにせよ他人の手を煩わせる羽目になり、使い勝手が悪いことこの上ありません。

そこで、今回は、Bardには自分で体調管理をしてもらおうというコンセプトのもとに、

スタミナを回復する魔法の楽器

という、臍が茶を沸かすほどとてつもなく便利そうな代物を作ってみることにします。

・・・ひょっとしてゲームバランスを大きく損ねるのではないだろうかというやたらと信頼度の高そうな予想が頭の中をかけめぐりますが、まあ、これぐらいいいよね。どうせ2回目だしね。
皆さんも2回目以降のプレイで試してみて下さい。


さて、新しい楽器を作るとはいえ、今回のデータファイルには未使用の欄は415番のたったひとつ、これを使ってしまうのは勿体ない。そこで、別の楽器なのに何故か同じ効果を持ってるというヘンなのが2つあるので、この片方をつぶして書き換えることにしましょう。
表を見てください。

No. 名前 タイプ サブ
タイプ
値段 重さ 職業 種族 性別 魔法 必要量
325Lute of Sloth楽器15001FLVRSNMRGBPABPMHEDGHFLDFRMTTURAMFSlow/3音楽:15
584Snare of Delay楽器6007FLVRSNMRGBPABPMHEDGHFLDFRMTTURAMFSlow/3音楽:15

なんでSlowの楽器が2つもあるのか、という謎はひとまず置いておくことにして、ここは重くて使いでのなさそうなSnare of Delayに消えて貰うことにしましょう。
あ、もしかして、Lute of SlothってCDSから転送されてきたBardが持ってる楽器で、Dominusには落ちてないのかも!
もしそうだとすると、これを消してしまってはSlowを演奏する楽器が手に入らないという困った事態にっ!!!
(確証なし。もはやどこに落ちてたかなんて覚えてない)

・・・まあいいや。俺Lute of Slothもってるし。それに、そもそもSlowなんて魔法誰も使わないし、使ったってどうせ利きゃしないんだから。

というわけで、いつものようにバイナリエディタで Data.slf ファイルを開きます。
バックアップはしましたね?
毎度のことながら、バックアップは怠らないで下さい。書き換えに失敗してゲームが起動しなくなっても、責任とりませんので。

Snare of Delayは、584番(0x248)なので、書き換えるデータの先頭アドレスは、0x2198a5 + (0x10d * 0x248) = 0x23fe4d です。

(2/28追加)
1.2Jの公式パッチを当てている場合は、このファイルではなく、Data¥Databases¥ITEMS.DBSを編集する必要があります。
アドレスは、0x4 + (0x10d * 0x248) = 0x265ac です。

[Snare of Delay] 53 00 6E 00 61 00 72 00 65 00 20 00 6F 00 66 00 20 00 44 00 65 00 6C 00 61 00 79 00 00 00 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD 00 00 0D 8A 00 00 06 00 00 00 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 00 1D 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 7F FF FF 00 00 03 FF 00 FF 00 0C 0F FF 00 05 58 02 00 00 46 00 00 64 72 75 6D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF CD FF CD CD CD CD CD FE FF FF FF FE FF FF FF FF FF FF FF FF FF FF FF FF 00 00 FF 64 72 75 6D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 42 61 72 64 20 2D 20 44 72 75 6D 00 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD

このままデータをいじっても良いのですが、今回作ろうとしてる楽器はサクソフォンなので、操作の簡略化のため、ちょうどいい具合に1つ次の585番にあるSoulful Saxのデータを、584番の場所にまるごと上書きして、それを書き換えることにします。

No. 名前 タイプ サブ
タイプ
値段 重さ 職業 種族 性別 魔法 必要量
585Soulful Sax楽器有名8004FLVRSNMRGBPABPMHEDGHFLDFRMTTURAMFSoul Shield/4音楽:45

[Soulful Sax] 53 00 6F 00 75 00 6C 00 66 00 75 00 6C 00 20 00 53 00 61 00 78 00 00 00 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD 00 00 0D 88 00 01 06 00 00 00 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 00 3B 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 7F FF FF 00 00 03 FF 00 FF 00 0C 2D FF 00 00 20 03 00 00 28 00 00 73 61 78 6F 70 68 6F 6E 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF CD FF CD CD CD CD CD FE FF FF FF FE FF FF FF FF FF FF FF FF FF FF FF FF 00 00 FF 73 61 78 61 70 68 6F 6E 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 42 61 72 64 20 2D 20 53 61 78 00 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD

バイナリエディタで、Soulful Saxのデータのある 0x23ff5a 〜 0x240066 の269バイト(0x10d)を範囲指定し、メニューから[編集]→[コピー] (または、それ相当のコマンド) を選んで、データをクリップボードにコピーします。
そうしたら、ひとつ手前の、Snare of Delayのデータのある 0x23fe4d 〜 0x23ff59範囲指定して(重要!!!)、メニューから[編集]→[貼り付け] (または、それ相当のコマンド) を選んで、さっきコピーしたデータを上書きします。
くれぐれも、データを挿入してしまわないように注意して下さい。データの位置がずれて、ゲームが起動しなくなってしまいます。
これで、585.Soulful Saxのデータが、584.Snare of Delayの場所に上書きされました。

(2/28追加)
1.2Jの公式パッチを当てている場合は、このファイルではなく、Data¥Databases¥ITEMS.DBSを編集する必要があります。
Snare of Delayのアドレスは 0x265ac 〜 0x266b8 に、Soulful Saxのアドレスは 0x266b9 〜 0x267C5 になるのでご注意下さい。


次に、いよいよデータの書き換えです。
584番のデータ (0x23fe4d 〜 0x23ff59) を書き換えます。コピー元の、585番のデータを書き換えないように注意して下さい。

では、一気にいきます。

まず演奏効果ですが、Soulful Saxの奏でる魔法は、Soul Shield(0x3b)。パワーレベルは4です。
演奏するのに必要なスキルは音楽(0x0c)45(0x2d) ポイント。
値段は800GP(0x00000320)

[Soulful Sax] 53 00 6F 00 75 00 6C 00 66 00 75 00 6C 00 20 00 53 00 61 00 78 00 00 00 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD 00 00 0D 88 00 01 06 00 00 00 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 00 3B 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 7F FF FF 00 00 03 FF 00 FF 00 0C 2D FF 00 00 20 03 00 00 28 00 00 73 61 78 6F 70 68 6F 6E 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF CD FF CD CD CD CD CD FE FF FF FF FE FF FF FF FF FF FF FF FF FF FF FF FF 00 00 FF 73 61 78 61 70 68 6F 6E 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 42 61 72 64 20 2D 20 53 61 78 00 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD

このデータを書き換えます。
演奏効果は、もちろんRest All(0x2c)
パワーレベルは楽器の場合は関係ないと思いますが、念のためちょっと控えめに3にします。(弱気)
演奏するのに必要なスキルは同じ音楽(0x0c)ですが、あまり序盤から使えてしまうと興ざめだし、Bardを極めた人へのご褒美という位置づけにしたいので、思い切って100(0x64) ポイントにしてしまいましょう。
値段は50000GP(0x0000c350)


・・・そして最後に。

楽器の名前は、もちろん Super Dynamite Saxophone にします。
書き換えたデータは、次のようになります。

[Super Dynamite Saxophone] 53 00 75 00 70 00 65 00 72 00 20 00 44 00 79 00 6E 00 61 00 6D 00 69 00 74 00 65 00 20 00 53 00 61 00 78 00 6F 00 70 00 68 00 6F 00 6E 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D 88 00 01 06 00 00 00 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 00 2C 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 7F FF FF 00 00 03 FF 00 FF 00 0C 64 FF 00 00 50 C3 00 00 28 00 00 73 61 78 6F 70 68 6F 6E 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF CD FF CD CD CD CD CD FE FF FF FF FE FF FF FF FF FF FF FF FF FF FF FF FF 00 00 FF 73 61 78 61 70 68 6F 6E 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 42 61 72 64 20 2D 20 53 61 78 00 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD

名前の欄の末尾に"0xcd"のゴミが入っていましたが、これはクリアしてしまって構わないでしょう。
次のようなスペックになりました。

No. 名前 タイプ サブ
タイプ
値段 重さ 職業 種族 性別 魔法 必要量
584Super Dynamite Saxophone楽器有名500004FLVRSNMRGBPABPMHEDGHFLDFRMTTURAMFRest All/3音楽:100

これでアイテムデータの入力は完了です。
このまま終了してしまってもよいのですが、アイテムのウィンドウを開いたときに表示される解説の文章が、585番のSnare of Delayのままです。
せっかくだからこれも書き換えてしまいます。


Snare of Delayの解説には、こう書いてあります。

このドラムが発する重々しい音は、敵1グループのムードに影響を及ぼす。
敵の動きを遅くして、敵の防御力を低下させて、パーティの攻撃がヒットする確率を上昇させる。
(156バイト)

大層な御託が並んでますが、その割にはちっとも効きません。
それはともかく、このデータは、ファイルのどの部分に格納されているのでしょうか。
試しに、この解説の先頭にある数バイトを用いて、Data.slfファイルを検索してみることにします。
Unicodeで検索します。8文字分ぐらいでいいでしょう。

こ の ド ラ ム が 発 す 53 30 6E 30 C9 30 E9 30 E0 30 4C 30 7A 76 59 30

1件ヒットしました。他には同一のデータはありませんので、ここに間違いなさそうです。
アドレスは、0x214363 〜 0x2143fe の、156バイト(0x9c)です。

53 30 6E 30 C9 30 E9 30 E0 30 4C 30 7A 76 59 30 8B 30 CD 91 05 30 57 30 44 30 F3 97 6F 30 01 30 75 65 11 FF B0 30 EB 30 FC 30 D7 30 6E 30 E0 30 FC 30 C9 30 6B 30 71 5F FF 97 92 30 CA 53 7C 30 59 30 02 30 75 65 6E 30 D5 52 4D 30 92 30 45 90 4F 30 57 30 66 30 01 30 75 65 6E 30 32 96 A1 5F 9B 52 92 30 4E 4F 0B 4E 55 30 5B 30 66 30 01 30 D1 30 FC 30 C6 30 A3 30 6E 30 3B 65 83 64 4C 30 D2 30 C3 30 C8 30 59 30 8B 30 BA 78 87 73 92 30 0A 4E 07 66 55 30 5B 30 8B 30 02 30

この箇所を、以下のように書き換えます。156バイト以内におさまるように注意します。

このサクソフォンから流れるリズム&ブルースは、昔よく口ずさんだメロディー。
そのPeacefulな音色は、パーティ全員のスタミナを大きく回復することができる。
(156バイト)

53 30 6E 30 B5 30 AF 30 BD 30 D5 30 A9 30 F3 30 4B 30 89 30 41 6D 8C 30 8B 30 EA 30 BA 30 E0 30 26 00 D6 30 EB 30 FC 30 B9 30 6F 30 01 30 14 66 88 30 4F 30 E3 53 5A 30 55 30 93 30 60 30 E1 30 ED 30 C7 30 A3 30 FC 30 02 30 5D 30 6E 30 50 00 65 00 61 00 63 00 65 00 66 00 75 00 6C 00 6A 30 F3 97 72 82 6F 30 01 30 D1 30 FC 30 C6 30 A3 30 68 51 E1 54 6E 30 B9 30 BF 30 DF 30 CA 30 92 30 27 59 4D 30 4F 30 DE 56 A9 5F 59 30 8B 30 53 30 68 30 4C 30 67 30 4D 30 8B 30 02 30

ばっちりです。
そろそろお気づきの方も多いと思いますが、この文言は、完全に私の趣味の範疇ですので、ご了承ください。

入力に際しては、1バイトづつ手入力でも良いのですが、それが面倒だという方は、空のテキストファイルに上の日本語の文章を改行なしで(重要)貼り付けて、Vectorなどでダウンロードできるフリーの漢字コード変換ツールを用いてテキストファイルをShift-JISからUnicodeに変換してから、バイナリエディタでそれを開き、先頭から2バイトを除いて156バイト分コピー&ペーストする、などの方法をとると楽です。
ただ、くれぐれもコピーする文章のサイズを間違えないようにして下さい。ゲームが起動しなくなりますので。

ここまでできたら、Data.slf ファイルを保存します。
念のため、ファイルサイズが変化してないことを確認してください。

152,807,257 Data.slf

OKですね? WIZ8を起動して、確認します。
Rapax Castleでは楽器の買い取りはやってないようなので、今回はArnikaのHe'Li嬢に鑑定をお願いしました。
さあ、注目の鑑定結果は(以下略)


よく見ると、使用に必要なBardのレベルは5のままです。これに関しては、アイテムデータの中にはそれらしき箇所はあるんですが、どうやら必要なレベルは呪文毎にベタコーディングがされてあるらしく、この値を変更することはできませんでした。解析に成功した方がおられましたら、ご一報くださると嬉しいです。

余談ですが、このHe'Li嬢、UmpaniとT'Rangの同盟を成功させたときだったか、なかなかキワドイ台詞をおのたまわらりるれになってこちとらびっくり仰天しましたが、悲しいことに日本語訳は省略されていましたね。もだえ死ぬほど残念です。
今回はAl-Sedexusの件といい、プレステ移植の障害となるフィーチャーの含有率が高くて面白いですね。
Sir-Techも潰れたことだし移植は望み薄でしょうが、万が一移植されたら、どういうヘナチョコアレンジにされるか見物しましょう。


<次回予告>

早くもネタに詰まってきました。村正と手裏剣を元に戻したことで、当初の目的は達成されたも同然ですしね。
次は、今回初登場となるガジェッティアーによるアイテムの合成に手を出してみようか、などと考えてみましたが、はっきりいって未定です。

そこで、何か書き換えてほしいもののリクエストをお持ちの方は、ご意見をお寄せ下さい。

2chのWIZ8スレッド(現在part3)に書き込んでいただければ、検討させていただきます。
もちろん、メールでお寄せいただいてもOKです。

解析データもそろそろ出そろってきたので (ご協力くださってる方に感謝です)、現時点で解析済のデータの公開も検討中です。

では、また次回。


前回へ 次回へ