5.16. ルイーダの酒場

5.16.1. 構造に関する構成要素
5.16.2. 振る舞いに関する構成要素
5.16.2.1. サブルーチン $C3D760: ルイーダの酒場処理
5.16.2.2. サブルーチン $D7BB: なかまをあずける
5.16.2.3. サブルーチン $C3D8E8: なかまをよびだす
5.16.2.4. サブルーチン $C3D983: めいぼをみる

ルイーダの酒場について述べる。

5.16.1. 構造に関する構成要素

ルイーダの酒場を構成する構造に関する要素について述べる。

5.16.2. 振る舞いに関する構成要素

ルイーダの酒場を構成する振る舞いに関する要素について述べる。

5.16.2.1. サブルーチン $C3D760: ルイーダの酒場処理

サブルーチン $C3D760 が、ルイーダの酒場での通常処理を実装している。 以下に処理の要点を挙げる。

  • サービスは「なかまをよびだす」「なかまをあずける」「めいぼをみる」固定だ。 それぞれ専用サブルーチンで処理する。

  • 何かのサービスを受けた後ならば、もう一度サービスメニューが表示される。

5.16.2.2. サブルーチン $D7BB: なかまをあずける

サブルーチン $C3D7BB はメニュー項目「なかまをあずける」選択時の処理コードだ。 以下に処理の要点を挙げる。

  • パーティー人数が一人のときは預かりを断られる。

  • 主人公については、エンディングを見た後かつバラモスを倒した後でしかルイーダに預けられない。

  • 預けようとしたキャラクターの残りメンバー全てが死亡状態ならば、預かりを断られる。

  • 預けようとしたキャラクターが死亡状態だと、ルイーダの台詞が変わって生き返らせるように提案される。そのまま預けることもできる。

  • 預けるキャラクターの所持品は装備以外はパーティー共有のふくろに収められる。

  • 初回のみルイーダが理由を説明するようにフラグ $7E353B & #$80 を用いる。

  • パーティー人数、酒場人数、仲間キャラクター配列の更新は別サブルーチン $C42A6D で処理する。

  • 預けた後、パーティーの人数が 2 未満ならばルイーダは他にも預かるかどうか聞いてこない。

5.16.2.3. サブルーチン $C3D8E8: なかまをよびだす

サブルーチン $C3D8E8 はメニュー項目「なかまをよびだす」選択時の処理コードだ。 以下に処理の要点を挙げる。

  • パーティーに 4 人いると、ルイーダに呼び出しを断られる。

  • あるいは、酒場に仲間が誰もいないと、ルイーダに呼び出しを断られる。

  • 呼び出し後、酒場にいる仲間の人数が 0 ならばルイーダは他にも呼ぶかどうか聞いてこない。

ちなみに本節では、酒場にいる仲間の人数をアドレス $7E36E4 の値であるとしている。

5.16.2.4. サブルーチン $C3D983: めいぼをみる

サブルーチン $C3D983 はメニュー項目「めいぼをみる」選択時の処理コードだ。 以下に処理の要点を挙げる。

  • 酒場に仲間が誰もいないと、ルイーダに名簿閲覧を断られる。

  • 名簿でキャラクターを選択すると、習得呪文ウィンドウ表示のために指定キャラクターの習得状況を調べる。 まほうつかい、そうりょ、その他の呪文個数を得た後、対象者の職業がゆうしゃが否かでウィンドウの表示形式を分ける。

    • ゆうしゃの場合、習得している呪文があればゆうしゃ用の習得呪文ウィンドウを表示する。

    • それ以外の職業の場合、まほうつかい用、そうりょ用、それ以外用の順に習得呪文ウィンドウを表示する。