2013/01/18
■ [変愚蛮怒/スポイラー][追記予定]build_type9()の部屋生成プロセス(変愚蛮怒 Ver2.1.1)
- 縦(1d15)*2+6マス、横(1d22)*2+6マスのサイズを指定し生成できる空きフロアを探す。
- 見つからない場合、縦8マス、8マスまで縮小して再度空きフロアを探す。それでも見つからない場合build_type1()に処理を回してbuild_type9()の生成はキャンセルする。
- 生成階 <= 1d25かつダンジョンにDARKNESSフラグがないなら、部屋全体を最初から明るくする。
- 以上で問題が無ければフラクタル生成を開始する。
フラクタルの具体的な生成処理については、かなりトレースが困難なので、いずれ別項を立てる。具体的にはgenerate_hmap()関数及びgenerate_fracave()関数により実装されており、この処理は、湖の生成などにも応用されている。
■ [変愚蛮怒/スポイラー]build_type10()の部屋生成プロセス(変愚蛮怒 Ver2.1.1)
- 縦(1d11)+11マス、横(1d22)+22マスのサイズを指定し生成できる空きフロアを探す。
- 見つからない場合生成はキャンセルする。
- 1d15を振り、それに合わせて以下のランダムvaultを生成する。ただし、ダンジョンの設定にそぐわないvaultであった場合は振りなおす。
- 1か9でbuild_bubble_vault()、ただしNO_CAVEフラグのダンジョンでは振りなおし。
- 2か10でbuild_room_vault()
- 3か11でbuild_cave_vault()、ただしNO_CAVEフラグのダンジョンでは振りなおし。
- 4か12でbuild_maze_vault()
- 5か13でbuild_mini_c_vault()
- 6か14でbuild_castle_vault()
- 7か15でbuild_target_vault()
- 8でbuild_elemental_vault()、ただしNO_CAVEフラグのダンジョンでは振りなおし。