本節では命名神について述べる。
命名神が参照するデータおよびそのの構造について述べる。
アドレス $C30AF5
に命名神の怒りに触れる名前を表す文字列 ID が配列している。
文字列データ自体は基本的に平仮名をベースとした形式で配列している。
濁点・半濁点が関係しない文字については、対応する平仮名と片仮名同士のコードポイント差が定数となることからこういう形式になっている。
濁点・半濁点が関係する文字については、平仮名と片仮名それぞれをリストしなければならない。
表 5.39 配列 $C30AF5
文字列 ID | 文字列 |
---|---|
#$02F6
|
ちんこ |
#$02F7
|
きんたま |
#$02F8
|
ちんちん |
#$02F9
|
あほ |
#$02FA
|
ちんぽこ |
#$02FB
|
ちんポこ |
#$02FC
|
へんたい |
#$02FD
|
ちんぼ |
#$02FE
|
ちんボ |
#$02FF
|
ちかん |
#$0300
|
おめこ |
#$0301
|
まんこ |
#$0302
|
おまんこ |
#$0303
|
あそこ |
#$0304
|
うんこ |
#$0305
|
でべそ |
#$0306
|
デべそ |
#$0307
|
うんち |
#$0308
|
はなたれ |
#$0309
|
おしっこ |
#$030A
|
せっくす |
#$030B
|
ばか |
#$030C
|
バか |
#$030D
|
おしり |
#$030E
|
まぬけ |
#$030F
|
あなる |
#$0310
|
きちがい |
#$0311
|
すけべ |
#$0312
|
きちガい |
#$0313
|
すけべ |
アドレス $C31368
には予約名を表す文字列 ID が配列している。
物語の登場人物で厳選した者で編成されたものと考えられる。
表 5.40 配列 $C31368
文字列 ID | 文字列 |
---|---|
#$0324
|
おるてが |
#$0325
|
かんだた |
#$0326
|
がらい |
#$0327
|
おるてガ |
#$0328
|
かんダた |
#$0329
|
ガらい |
#$032A
|
えりっく |
#$032B
|
おりびあ |
#$032C
|
ばらもす |
#$032D
|
ぞーま |
#$032E
|
おりビあ |
#$032F
|
バらもす |
#$0330
|
ゾーま |
#$0331
|
ひみこ |
#$0332
|
るびす |
#$0333
|
のるど |
#$0334
|
ばこた |
#$0335
|
ぜにす |
#$0336
|
るビす |
#$0337
|
のるド |
#$0338
|
バこた |
#$0339
|
ゼにす |
命名神に仕える神官の振る舞いについて述べる。
ダーマの神殿の西側にいる婆サンに「はなす」とサブルーチン $C3E8D3
が実行される。
以下、要点を列挙する。
対象はパーティー内の任意のキャラクターまたはパーティー共有のふくろのうちから選べる。
対象の現在の名前が怒りに触れているときは、まず呪いの効果音を再生する。
怒りを解くのに 5,000 ゴールドが必要となる。
この支払い判定はサブルーチン $C45B66
で行う。
入力内容によって神官の反応が違ってくる。このうち最後の二つについては命名神の怒りに触れる。
命名神の怒りに触れると、画面がフラッシュして呪いの効果音を再生する。
プレイヤーが入力した名前がふざけたものであるかどうかをテストする。
これは後述するサブルーチン $C3EB53
にブラックリストを指定する形式で実行される。
5.19.1.1 および
5.19.2.4 を参照。
プレイヤーが入力した名前が、ゲームにより予約された名前であるかどうかをテストする。
これは後述するサブルーチン $C3EB53
に予約名リストを指定する形式で実行される。
5.19.1.2 および
5.19.2.4 を参照。
サブルーチン $C3EB53
は呼び出し元が指定する文字列型配列から、文字列を検索する。
処理としては二重ループによる線形探索だ。 対応する平仮名と片仮名同士を同じ文字として比較することにより、名前同士が「同じ」かどうかを判定する。 濁点・半濁点の付かない文字は、文字コードの差が一定であることを利用しての比較となるが、 付く文字はそうとも言えないので、リストの方に平仮名と片仮名を重複して定義しておく必要がある。 具体的には掲載データを参照して欲しい。
サブルーチン C3EBAB
は名前が任意の一文字 4 個が連続する文字列であるかどうかをテストする。
処理内容は十数個の命令からなる単純な配列検索に過ぎない。