本節では移動中に道具を使うときに発生する処理を見ていく。 プレイヤーがコマンドメニューから「どうぐ」を選択し、 それからいずれかのパーティーメンバーの持ち物を選択すると、 プログラムは選択された道具に対応するサブルーチンを呼び出す。 そのようなサブルーチンについて簡単に述べる。
道具インデックス、使用直後表示メッセージインデックス、
そして処理コードの開始アドレスの三つ組を要素とする配列がアドレス
$C3C8C0
に次に示すように定義されている。
サブルーチン $C3C86D
が対象の道具インデックスをこの配列中から検索し、
もし見つかれば後述する道具固有の処理を実行するようになっている。
そうでなければ、単純な汎用処理を実行する。
C3/C8C0: D100D5165DCA C3/C8C6: D200D516FDCA C3/C8CC: D500D5167DCB ... C3/C9FE: E100D51661D3
このデータコードを見易いように表にまとめておく:
表 4.113 $C3C8C0 コマンドハンドラーテーブル
文字列 ID | どうぐ | メッセージ ID | 処理アドレス |
---|---|---|---|
#$00D1
|
やくそう |
#$16D5
|
$CA5D
|
#$00D2
|
どくけしそう |
#$16D5
|
$CAFD
|
#$00D5
|
せかいじゅのは |
#$16D5
|
$CB7D
|
#$00D6
|
せかいじゅのしずく |
#$16D5
|
$CBFC
|
#$00D8
|
まほうのせいすい |
#$16D5
|
$CCB8
|
#$00DB
|
ちからのたね |
#$16D5
|
$CD3D
|
#$00DC
|
すばやさのたね |
#$16D5
|
$CD9B
|
#$00DD
|
かしこさのたね |
#$16D5
|
$CDF9
|
#$00DE
|
まもりのたね |
#$16D5
|
$CE57
|
#$00DF
|
いのちのきのみ |
#$16D5
|
$CEB5
|
#$00E0
|
ふしぎなきのみ |
#$16D5
|
$CF13
|
#$00CA
|
いのりのゆびわ |
#$16D5
|
$CF71
|
#$00D3
|
せいすい |
#$16D5
|
$D02B
|
#$00E3
|
むらのみんげいひん |
#$16D5
|
$D067
|
#$00E7
|
ゆめみのしずく |
#$16D5
|
$D082
|
#$00D4
|
キメラのつばさ |
#$16D5
|
$D098
|
#$00AC
|
かぜのぼうし |
#$16D5
|
$D162
|
#$00EF
|
おうごんのつるはし |
#$16D5
|
$D169
|
#$00EA
|
ラーのカガミ |
#$16D5
|
$D17F
|
#$00F4
|
すなのうつわ |
#$16D5
|
$D195
|
#$00EE
|
まほうのじゅうたん |
#$16D5
|
$D1AB
|
#$00F1
|
マーメイドハープ |
#$16D5
|
$D1BC
|
#$00E5
|
せかいちず |
#$16D5
|
$D1D1
|
#$00F3
|
ふしぎなちず |
#$16D5
|
$D1E6
|
#$00CD
|
ふるびたパイプ |
#$16D5
|
$D1FB
|
#$00FA
|
へいしのふく4つ |
#$16D5
|
$D211
|
#$00F9
|
ろうごくのカギ |
#$16D5
|
$D227
|
#$00CF
|
しんじつのオーブ |
#$16D5
|
$D23D
|
#$00EC
|
りせいのタネ |
#$16D6
|
$D253
|
#$00E6
|
つうこうしょう |
#$1743
|
$D253
|
#$00CC
|
くじけぬこころ |
#$1745
|
$D253
|
#$00E8
|
じょうせんけん |
#$1747
|
$D253
|
#$00EB
|
おうのしょじょう |
#$1749
|
$D253
|
#$00F0
|
ゆうきのかけら |
#$174F
|
$D253
|
#$00F5
|
ぎしきのそなえもの |
#$1751
|
$D253
|
#$00F7
|
エンデのどうぐ |
#$1753
|
$D253
|
#$00CE
|
デセオのパス |
#$1755
|
$D274
|
#$00F6
|
てんまのたづな |
#$16D5
|
$D2B0
|
#$003F
|
さびたつるぎ |
#$175D
|
$D253
|
#$0040
|
ラミアスのつるぎ |
#$175E
|
$D253
|
#$0041
|
ラミアスのつるぎ |
#$175E
|
$D253
|
#$0042
|
ラミアスのつるぎ |
#$175E
|
$D253
|
#$009B
|
スフィーダのたて |
#$1760
|
$D253
|
#$0066
|
オルゴーのよろい |
#$1762
|
$D253
|
#$008A
|
オルゴーのよろい |
#$1762
|
$D253
|
#$00AD
|
セバスのかぶと |
#$1763
|
$D253
|
#$00BA
|
セバスのかぶと |
#$1763
|
$D253
|
#$00E2
|
アモールのみず |
#$16D5
|
$D2C1
|
#$00E9
|
カガミのカギ |
#$170E
|
$D253
|
#$00FC
|
まほうのカギ |
#$170E
|
$D253
|
#$00FB
|
とうぞくのカギ |
#$170E
|
$D253
|
#$00F2
|
すいもんのカギ |
#$170E
|
$D253
|
#$00FD
|
さいごのカギ |
#$170E
|
$D253
|
#$00E1
|
うつくしそう |
#$16D5
|
$D361
|
メッセージインデックスと実際のテキストとの対応を次に示す:
表 4.114 メッセージ一覧
ID | メッセージ |
---|---|
#$16D5
|
しかし 何も おこらなかった。 |
#$16D6
|
しかし ここでは 何もおこらなかった。 |
#$170E
|
カギが あえば[AD]もっているだけで 扉はひらくぞ! |
#$1743
|
[B5]は[AD]くしゃくしゃに なってしまった…。 |
#$1745
|
すこし ゆうきが わいてきた! |
#$1747
|
乗船券は くしゃくしゃに[AD]なってしまった。 |
#$1749
|
文字は きたないが こころの[AD]こもった 文章で [C0]たちを[AD]よろしくと 書いてあった。 |
#$174F
|
小さいのに ズッシリと 重さが[AD]つたわってくる。 |
#$1751
|
[C0]は きもちわるく[AD]なってしまった…。 |
#$1753
|
どうぐは すぐにも 使えるよう[AD]ひとつ ひとつ みがきこまれている…。 |
#$1755
|
よく見ると ビキニを着た[AD]美しい女性の 絵が かいてある…。 |
#$175D
|
さびたつるぎには なにやら[AD]もようが きざまれている。[AF][AD]しかし さびていて[AD]よく わからない……。 |
#$175E
|
ラミアスのつるぎには なにやら[AD]いなずまのような しるしが[AD]きざまれている。 |
#$1760
|
スフィーダのたてには なにやら[AD]十字架のような しるしが[AD]きざまれている。 |
#$1762
|
オルゴーのよろいには なにやら[AD]ハートのような しるしが[AD]きざまれている。 |
#$1763
|
セバスのかぶとには なにやら[AD]太陽のような しるしが[AD]きざまれている。 |
まずは各処理に共通して見受けられる仕様傾向を列挙しておこう:
$C3CA04
を実行する。
道具データのメッセージ各種属性については 4.13.1 構造体 $C4003D
: アイテム で述べる。
$C3B8C5
を実行する。
これは移動時の呪文コマンドハンドラーも利用するサブルーチンだが、
呪文とは異なり、道具に対しては呪文効果音が出ない。
$C3EE2E
または
$C3EE03
を呼び出すことで実現する。
#$1770
「しかし [C1]は 死んでいる」を表示して処理を終える。
例外はせかいじゅのはなど。
$C3CA3B
を実行する。
すなわちメッセージ #$16D5
「しかし 何も おこらなかった」を表示する。
$C37236
を実行するときに
#$002A
を指定する。
$C3B8FC
を利用する
(詳細は 4.23.2.1 ホイミ・べホイミ・ベホマ の説明を参照)。
#$00CD
を鳴らす。
該当するのはやくそう、せかいじゅのしずく、アモールのみずだ。
対象者のパラメーターを上昇させるコマンドについては、次の規則が働く:
以下、各道具の処理の特徴を簡単に記す。 なお、普通のプレイヤーには常識である振る舞いについては細かい説明をしない。
まず生きているパーティーメンバーそれぞれに対して、 その HP が 最大 HP と一致する者がいるかどうかを確かめる。 もし生存者が皆そのようであれば、何も起こらないでコマンドを終了する。
次に回復メッセージ #$1730
を表示した後に、
生きているパーティーメンバーそれぞれの HP を 999 ポイント回復する。
4.23.2.2 べホマラー・べホマズン もそうだが、
このときなぜか乱数処理が走る。
最後に全員の HP を表示するウィンドウを表示してから、道具を消費してコマンドを終了する。
さいだい MP がゼロのメンバーについては何も起こらない。
MP の回復ポイント量は 20 から 30 だ。
指輪が壊れる処理は道具コマンドのものではなく、
パーティーメンバーの持ち物を消費する用途の汎用サブルーチン $C4535C
に組み込まれている。
この指輪は使用する度に一定の確率で壊れ、もし壊れたならばメッセージ
#1733
を表示する。
道具を消費した後に、カウンター $7E3BA9
をリセットする。
このカウンターは 4.23.2.9 トヘロス とせいすいとで共用になっている。
カウンターリセット後に、どういうわけかトヘロスフラグとせいすいフラグの両方をセットする。
それからメッセージ #$16B6
を表示して、モンスターの気配が消えたことを通知する。
キメラのつばさの処理は概ね 4.23.2.6 ルーラ のコピーアンドペーストとなっている。 違いは表示メッセージと消費するものだけだろう。
かぜのぼうしは 4.23.2.6 ルーラ の処理コードの途中にプログラムカウンターを飛ばす。 これによりコマンド処理を共有している。
移動時ならばいかなる状況でも同じ実行結果になる道具は $C3D253
で処理する。
次に示す道具のコマンド処理は、道具データ固有のメッセージとコマンドハンドラーテーブル内のメッセージの二つを表示して終了する: