巻物の洞窟 プレイ動画 その2

巻物の洞窟のプレイ動画を発見しました。プレイして下さってありがとうございます。

http://www.nicovideo.jp/mylist/14380374

以前にもプレイして下さった方がいましたが、残念ながらそちらの動画は削除されてしまったようです。
後、今更ながら書き換え版のROMにパッチすると、こん棒と一時しのぎの杖しか出なくなることを確認しました。同じ現象が発生した方は通常版のROMをご用意下さい。
[PR]
# by oyasen | 2009-11-29 19:56 | 日記

web拍手への返信 その3

>オヤジ戦車さん初めまして、このサイトにはお世話になってます。
>実は今シレンの改造に挑戦しててもう殆ど完成してます。
>けどどうしても分からない所があったのでよければ教えてもらえませんか。
>分からない所は店とかのンドゥバのレベルを変える方法と、
>つるはしや大部屋をシャッフルダンジョンでも出す方法です。
>返信してもらえるならメールでもブログでも構いません。
>分からなかったら素直に諦めます。

いずれもプログラムを変更しなければなりませんね。ROM(初期版、ヘッダ無し)の場合です。
ンドゥルーが出始めるフロアは025A9D、ンバマが出始めるフロアは025AA2にあるので、それらを変更すれば良いです。
つるはしと大部屋のチェックは、0305B6の値が1Aになっていますが、これを10に変更すれば飛ばせます。
確認はしていませんが多分これでいけると思います。


>はじめまして、少し困ってます。
>ペケジやお竜といったNPC助っ人を効率良く出現させる方法はありませんか?
>既出であれば申し訳ありません。

村人を含めたNPCを設置する処理を見つけました。スクリプトで書かれていて興味深いです。
NPCの出現条件が色々と分かって面白いです。ある程度研究が進んだらお教えできるかも知れません。


>なんと、道具を落とす確率の設定がそうなっていたとは・・・
>ふと思ったのですが、
>もしモンスターごとに設定を適用させたいのであればプログラムを書き加える必要があると思うのですが、
>やはりそれは難しいものなのでしょうか?

道路を落とす確率を読み込む処理を、モンスターのレベル毎に分岐すれば良いだけなので、その程度のプログラムを書くのは簡単です(30バイト程度です)。
但し、プログラムの領域は(画像でもテキストでもそうですが)ビッシリ詰まっているので、離れた所の未使用の領域に修正プログラムを書いて、そこへ飛ばすことになるので、2ヶ所書き換えなければなりませんが、バイナリエディタで手作業でも十分可能です。
修正方法を公開しても良いのですが、果たして需要はあるでしょうか?
[PR]
# by oyasen | 2009-11-15 09:01 | web拍手への返信

フェイの問題

各データのアドレス表は以下の場所にあります。第1問から順に並んでいて、1問につき3バイトです。

03B77C以降……通路・部屋の入口・水脈
03B812以降……道具
03B8A8以降……階段
03B93E以降……罠
03B9D4以降……モンスター
03BA6A以降……部屋
03BB00以降……出現する罠

そして、中身のフォーマットは以下の通りです。[]は括弧内を繰り返すことを意味します。

通路・部屋の入口・水脈:[X座標 Y座標 地形コード] FF
道具:[X座標 Y座標 種類 値2 識別 商品] FF (*1)
階段:X座標 Y座標
罠:[X座標 Y座標 罠コード+C0] FF (*2)
モンスター:[X座標 Y座標 種族 レベル 状態] FF (*3)
部屋:[部屋番号 左-1 上-1 右+1 下+1 部屋の状態] FF
出現する罠:出やすい罠のコードを5バイト、出にくい罠のコードを6バイト

*1:識別は00で未識別、01で識別済み。商品は00で通常、01で商品。
*2:第42問の店主専用スペースも罠コード+C0の部分に85を入れて設置していました。
*3:状態は00で起きている、01で睡眠1。

シレンの初期位置は少し離れた場所にあって、03AE13以降に"[00 00 00 00 08 問題番号 X座標 Y座標]"というデータがあるのでそれを変更すれば良いです。
[PR]
# by oyasen | 2009-10-25 20:15 | 改造・解析

やみふくろうで時限爆弾

前回の続きです。前回、やみふくろうを迷路部屋に置くとどろぼうハウスのバグが起こることを説明しましたが、それではやみふくろうを通路(部屋の入口では駄目)に置くとどうなるでしょう。
通路の地形コードは30です。するとbit0が1になるのは$7EC196です。これはそのフロアに出現する罠リストの一部です。もし、この値が14(大型地雷)だったとしましょう。bit0が1になると15(時限爆弾)になるではありませんか!
以前、剛魔窟でどろぼうハウスのバグが出たフロアで時限爆弾が出たというページがありましたが、実は両者は関係していました。
あまり面白みはないですが、バネの出るフロアでは同様に投げ矢も作れます。$7EC196には出やすい罠(出現する罠の決定を参照)しか入らないので、残念ながら他の没罠は出せません。

無限増殖セット+カラクロイドの肉+やみふくろうの肉をお持ちの方は、お暇ならこばみ谷で時限爆弾探しでもしてみて下さい。

1.カラクロイドの肉でそのフロアに出現する罠の種類を調べる
2.大型地雷が出なければ次のフロアへ、1.に戻る
3.やみふくろうを通路に置く
4.もう1度カラクロイドの肉で罠を沢山作ってみる
5.運が良ければ時限爆弾発見。大型地雷が作られたら($7EC196は大型地雷ではなかった)次のフロアへ、1.に戻る

道具出現と次のフロアに移動するのにデバッグモードを使いましたが、とりあえずZSNESで確認済みです。実機でも運が良ければ見つかる筈です。
時限爆弾を作った時は、それのグラフィックが読み込まれていないので正しく表示されませんが、中断・再開することで正しく表示されます。

ということで、やみふくろうは部屋にいる時以外は暗闇にする処理の必要がないのに無条件で処理をしてしまっているという、何とも初歩的なミスでしたが、"X"を地形コードのとり得る範囲とすると、$7EC166+"X"はモンスターハウスの種類と罠リスト以外は未使用のよう(つまり、どろぼうハウスと時限爆弾以外のバグは起こりそうにない)なので、ミスに気付かなかったのかも知れません。

と、ここまで書いて気付いたのですが、どろぼうハウスの報告も時限爆弾の報告もこばみ谷22Fでした。シューベルがやみふくろうを呼び出した、とかでもないとこれでは説明が付かないのですが。まあそれでも、意図的に出す方法を発見したということで。
[PR]
# by oyasen | 2009-10-20 20:11 | 改造・解析

どろぼうハウスのバグ

通常のモンスターハウスなのに、「どろぼうハウスだ!!」と表示されることがあるというバグがありますが、その原因が判明しました。
バグが発生する条件から言うと、迷路部屋または暗い柱部屋にやみふくろうがいて、尚かつ通常のモンスターハウスがある場合、その部屋に突入すると「どろぼうハウスだ!!」と表示されます。

$7EC166-$7EC16Fは、部屋の状態を表すフラグで、その中身は以下の通りです。

bit0 暗闇,bit1 隠し部屋,bit2 迷路、暗い柱部屋,bit3 モンスターハウス
bit4 浮島,bit5 店,bit6 bit7と併せて埋蔵金,bit7 水脈(水脈で分断された部屋、網目部屋、水溜まり)

やみふくろうがいると、毎ターンそのやみふくろうの足元の地形(ダンジョン編集を参照)を"X"に入れて、$7EC166+"X"のbit0を1にします。そのやみふくろうが部屋にいる場合、足元の地形は部屋番号と等しいので上手くいきます。
しかし、やみふくろうが迷路部屋にいるとどうなるでしょう。迷路部屋の地形コードは10です。するとbit0が1になるのは$7EC176です。$7EC176は、そのフロアにモンスターハウスがある場合、その種類を表します。

00 モンスター,01 どろぼう,02 ドレイン,03 1ッ目,04 ゴースト,05 パワー,06 番犬隊

$7EC176は、通常のモンスターハウスの場合は00ですが、このバグによって01になってしまいます。その結果、その部屋に突入すると「どろぼうハウスだ!!」と表示されてしまいます。
こばみ谷では、迷路部屋はテーブルマウンテン以降にしか出現しませんし、テーブルマウンテンでは、やみふくろうは23~25Fにしか出現しません。このバグがテーブルマウンテンの後半で報告されることが多いのにも納得です。
勿論、こばみ谷以外でもこのバグは起こります。その場合、通常のモンスターハウスのみならず、ドレインハウスが1ッ目ハウスに、ゴーストハウスがパワーハウスになることもある筈です(誰か確認して下さい)。
迷路部屋の敵にやみふくろうの肉を投げ付けてモンスターハウスに突入してみましょう。暗い柱部屋でも可能です。
当たり前ですが、やみふくろうを作ってモンスターハウスの巻物を読むのは、モンスターハウスができる前にやみふくろうが消滅してしまうので駄目です。
[PR]
# by oyasen | 2009-10-18 19:45 | 改造・解析