注意 | |
---|---|
この節は現在執筆中。 |
フィールド上で、ムオルの村辺りから海を渡り北東の湖の左下ら辺に足を踏み入れると、 画面が切り替わり、神秘的な雰囲気の泉が現れる。 そして、泉の中心付近に立ち入ると、先頭キャラクターが武器を泉に落としてしまい、 直ちに泉の精霊を自称するオルレラなる存在が出現する。
その後、パーティーメンバーとオルレラとの間で、落し物についての質疑応答が始まる。 これは有名な童話を下敷きにしているのは明白なのだが、 オリジナルの童話の結論とは異なり、嘘つきに取り返しの付かない損害を受けるわけでもなく、 また、正直者にありがたい利益があるわけでもない。
このイベントはそもそもファミコン版にはなかった。 リメイク版でわざわざ新しく導入したイベントであるハズなのに、 しかし実際プレイしてみると童話よりもつまらない結末になる。 これはどうしたことだろうか。 それとも、うまく立ち回れば意外な結果を引き起こせるのだろうか。 このイベントを処理するコードをおおまかに解析し、ある程度の真実を明らかにするのが本稿の目的だ。
オルレラの泉イベントを開始するサブルーチンコードの発見は、トレースログの単純な分析による。 このサブルーチンの呼び出しタイミングは、 パーティーがフィールドマップから、この泉のフロアへ進入した時点だとみなして構わない。
サブルーチン $CCED57
の処理コードを以下に示す。
CC/ED57: AD5435 LDA $3554 CC/ED5A: 292000 AND #$0020 CC/ED5D: D003 BNE $ED62 CC/ED5F: 4C69ED JMP $ED69 CC/ED62: 2281A5CB JSR $CBA581 CC/ED66: 4C6DED JMP $ED6D CC/ED69: 22D6A5CB JSR $CBA5D6 CC/ED6D: 6B RTL
変数 |
|
オルレラ出現が二度目以降である場合、初回とは異なる会話になる。
それを実装するサブルーチンが |
|
オルレラが初めてパーティーの前に姿を現わす場合の処理をするサブルーチン
|
サブルーチン $CBA5D6
は、先頭キャラクターが武器を落としてから、
オルレラが出現して消えていくまでを処理する。
アセンブルコードを掲載しても面白くないゆえ、ポイントを以下に示すのみとする。
先頭キャラクターが武器を泉に落とすところから、
オルレラが泉から姿を現し、名を名乗るシーンまではサブルーチン
$CBA509
の呼び出しで実現している。
オルレラのイベント一連のサブルーチンで共通した方式なのだが、 台詞とナレーションの表示はすべて BRK 命令による。 すなわち、メッセージ ID を表す 2 バイトの仮想的な実引数を取るパターンだ。
サブルーチン $CDAC66
の呼び出しは、「はい・いいえ」ウィンドウの表示と入力待ち処理を実現する。
プレイヤーが「はい」を選択したときに限り、レジスターの Carry ビットが立つ。
先頭キャラクターが落とした武器を示すアイテム ID が格納されているのは $7E362A
だ。
一連の処理では、この値が「ひのきのぼう」または「まじんのオノ」であるときに、処理が分岐してくる。
このサブルーチンから呼びだすサブルーチンの中で、 オルレラが何かを行う処理がいくつかある。 それを呼び出しの起こるのが早い順番に挙げると、以下のようになる。
$CBA509
先頭キャラクターが武器を泉に落とすところから、 オルレラが泉から姿を現し、名を名乗るシーンまでを処理する。
$CBA66B
オルレラが泉に落とした武器そのものを返す処理。最も一般的な場合のもの。
$CBA69F
オルレラが「あなたは欲がないようですね」と言い、 「ひのきのぼう」を受け渡す処理。
$CBA6D3
再び泉に潜り、「まじんのオノ」を提示するところからの処理。 ここは少々込み入った処理になる。
サブルーチン $CBA581
は、パーティーが再び武器を泉に落としたときの処理を行う。
今度のオルレラは、すぐには武器を見つけてくれない。
初回同様、最初にサブルーチン $CBA509
の呼び出しでオルレラの出現までの処理を行う。
二度目以降はオルレラが「以前にも落としたのでは?」のような質問をするのがポイント。 ここで「はい・いいえ」ウィンドウを表示して、プレイヤーの回答を待つ。
このサブルーチンから呼びだすサブルーチンの中で、 オルレラが何かを行う処理がふたつある。
$CBA786
オルレラが落としたものを拾ってくると言い水に潜るが、 落し物が見つからなかったという展開になる場合の処理。 落とした武器がパーティーに戻るまでを制御する。
$CBA6BB
オルレラがわざと武器を再び落とされたことを知り、怒る結果になるときの処理。 怒りながらも、パーティーが落とした武器をそのまま返す。