*階の生成 [#cd9a16af] ***makelevel() [#gdde3510] u.uz の階を新規に生成する -特殊レベルなら、makemaz() で特殊レベルをロード -特殊レベルではないが、現在のダンジョンに PROTONAME が設定されている場合、makemaz() が PROTONAME と現在の階層数からレベル名を生成し、その名前の特殊レベルをロードする -ノーム坑道(の通常レベル)は、makemaz() で特殊レベル minefill をロード -クエスト(の通常レベル)は、中間の特殊階より上か下かを判定して特殊レベル *-fila または *-filb をロード -ゲヘナ(の通常レベル)は迷路を生成 -これらに当てはまらなければ、通常の階を生成 ***makelevel(), makemaz() のレベル名決定チャート [#c0431231] LEVEL, RNDLEVEL, CHAINLEVEL, RNDCHLEVEL で定義されているレベル? │ ├ Yes → RNDLEVEL, RNDCHLEVEL で定義されてる? │ │ No ├ Yes → "levelname-" + <num> (例: minetn-3) │ │ │ └ No → "levelname" (例: oracle) ↓ PROTONAME が指定してある? │ ├ No → "", 迷路を生成 │ Yes ↓ 2階層以上のDUNGEON? │ ├ Yes → ランダムに選ばれるレベル群が定義されてる? │ │ │ ├ Yes → "protoname" + <level> + "-" + <num> (※これを定義する方法はない) │ │ │ └ No → "protoname" + <level> (例: tower2) │ └ No → ランダムに選ばれるレベル群が定義されてる? │ ├ Yes → "protoname-" + <num> (※これを定義する方法はない) │ └ No → "protoname" (※LEVELで記述するほうが一般的) PROTONAMEを使っているのは今のところ Vlad's Tower だけのようだ。dungeon.def にレベル名を記述しなくて済むだけで、結局全レベルをレベルファイルに持たなければならないので、特にPROTONAMEを利用するメリットはないように思える