アスチェスト(ゲルド RBA チェストと呼ばれることも)とは、やぶさめミニゲームをクリアした時にアイテムアップグレードバグが発生し、透明な宝箱が現れるバグ技である。
すると矢立の拡張ではなく、以下 3 つの現象のうちどれかが発生する。
この宝箱は、中身がこわそなお面と炎の矢の時は何度でも開けることができる。また、中身がこわそなお面の場合は、宝箱を開くときに必ず新アイテム入手ムービーが発生する。一方中身が炎の矢で、かつ既に炎の矢を入手済みの場合は、宝箱を開くと小さい宝箱用のアニメーションが発生する。中身が爆弾で既に爆弾袋を入手済みの場合は、宝箱の爆弾ではなく通常の爆弾ドロップを拾った時のようなエフェクトが発生する。
一部の例外を除き、このゲームではアイテムを入手すると、1 バイト長の数値をリンクインスタンス内の特定のアドレス(NTSC 1.0 ではインスタンス先頭から 0x424 の位置)に書き込む関数の呼び出しが行われる。このアドレスに書き込まれる数値は入手したアイテムの種類を表している。アイテム入手の際は、ゲットアイテムテーブル(Get Item Table)という数値表から数値を取得しており、また、ゲットアイテムテーブルは通常のアイテムテーブルとは内容が異なる。書き込まれた数値は 1 バイトの符号付きデータとして扱われる。値が正であれば書き込まれた瞬間にアイテム入手が発生し、負であればアイテムアクターに対し「開く」のアクションが行えるようになる。
アスチェストを発動するとゲルドのやぶさめオーナー用アクターのプログラム実行時にバグが発生する。そしてこのオーナーのインスタンスから 0x0188 の位置を指すポインタ(NTSC 1.0 の場合。おそらく他のバージョンも同じ)が読み込まれ、そのポインタの下 1 バイト分の数値が宝箱の中身用データとしてコピーされる。よって、このオーナーアクターをメモリ上の別の場所に読み込めば宝箱の中身を変えることができる。
アクターインスタンスは 0x10 バイト単位で区切られて読み込まれるので、入手するアイテムのデータ 1 桁目は必ず 0x8 になる。よって入手可能アイテムは 8 種である。
まずアスチェストの発動に必要なものを揃え、通常のアスチェスト発動条件を満たした状態で剣なし状態になる。剣なし状態にする理由は、やぶさめ中にエポナから降りられるようにするためである。そしてやぶさめをプレイし、 1500 点を獲得して矢立拡張を貰う準備ができたら、やぶさめ終了前にエポナから降りてゲルドの砦から出る。ゲルドの砦エリアから出る方法はいくつかある。
ミニゲーム終了後にゲルドの砦上層以外のエリアに行けば、やぶさめクリア済みという情報を持ち越すことができる。この状態で上層エリアに戻ると、やぶさめオーナーアクターがメモリ上にロードされ、ロード後ミニゲームクリア情報がリセットされる。オーナーアクターのロードが完了すると景品の中身が固定されてしまうので、アスチェストを開いてアイテムを入手するか、必要であればもう 1 度最初からやり直す。
やぶさめオーナーがロードされるメモリ位置を変更する方法はいくつかある。
ゲットアイテム ID | アイテム ID | アイテム名 |
---|---|---|
08 | 0A | フックショット |
18 | 26 | こわそなお面 |
28 | 3D | ダイゴロン刀 |
38 | 54 | 金のウロコ |
48 | 83 | 回復ハート |
58 | 04 | 炎の矢 |
68 | 91 | 爆弾(+30 個) |
78 | 99 | デクの棒所持上限 30 |
88 | 99 | デクの棒所持上限 30 |
98 | 91 | 爆弾(+30 個) |
A8 | 04 | 炎の矢 |
B8 | 83 | 回復ハート |
C8 | 54 | 金のウロコ |
D8 | 3D | ダイゴロン刀 |
E8 | 26 | こわそなお面 |
F8 | 0A | フックショット |