「dungeon 構造体」の編集履歴(バックアップ)一覧に戻る

dungeon 構造体 - (2015/06/01 (月) 02:08:29) のソース

**&color(green){ダンジョンの実装}
任意のシナリオのscenario構造体に&color(blue){dungeon = on}とするとメニューウィンドウに「探索」ボタンが出ます。
spot構造体に&color(blue){dungeon = (ダンジョン構造体の識別子)}を記述するとその領地で指定ダンジョンに入れるようになります。
デフォルト状態では敵を全て倒すと出口が現れる仕様となってます。
&color(blue){open=on}にすると始めから出口がでます。又はイベント関数でopenGoal()とできます。

**&color(green){コンテンツ}
:name = (文字列)|
ダンジョンの名前
:max = (数値)|
最大フロア。最大フロアをクリアするとダンジョンクリアとなる。
:move_speed = (数値)|
百分率で指定します。戦場シーンとの速度比率を設定します。
move_speed = 200 とすると全ユニットの移動速度が2倍になります。
:prefix = (文字列)|
フロア数の接頭辞です。デフォルトは「B」です。
:suffix = (文字列)|
フロア数の接尾辞です。デフォルトは「階」です。
:lv_adjust = (数値)|
実際のフロア数にこの数値を足したものが表示フロア数となります。

**&color(green){コンテンツ2}
各データに&color(blue){@数値}の接尾辞を付けるとフロア別に設定できます。接尾辞が無いと全フロアの設定となります。
:name = (文字列)|
フロアの名前を設定できます。
(例)name@1 = 聖地の入口
:open = (on/off)|
省略時はoffです。敵を全員倒すと出口が現れます。
onにすると始めから出口が出ます。
:limit = (数値)|
制限時間
:bgm = (文字列)|
BGM
:volume = (数値)|
音量(1~100)
:blind = (0~256)|
省略時は0です。視界制限が無効です。
数値は視界外の暗闇の透明度です。255で真っ暗になります。
256にすると真っ暗でオートマッピングモードになります。ミニマップで一度通った所がずっと表示されます。
:base_level = (数値)|
モンスターレベルの底上げ数値
:color = (手前方向[0~7], 手前色相, 奥色相, 手前α値[0~255], 奥α値[0~255], 濃度[1~100])|
ダンジョンに陰影をつけます。
この用法はデフォシナのdungeon.datを御参照ください。

**&color(green){迷路の設定(mapファイルの直接指定)}
:map = (文字列)|
mapファイルを直接指定します。
スタート地点、ゴール地点、宝箱、モンスターはmapファイルに直接配置します。
スタート地点、ゴール地点、宝箱は[[object構造体>http://www28.atwiki.jp/vahren_ency/pages/409.html]]で定義し、
MapMakerでその構造体名チップをmapファイルに配置します。


**&color(green){迷路の設定(自動生成)}
各データに&color(blue){@数値}の接尾辞を付けるとフロア別に設定できます。接尾辞が無いと全フロアの設定となります。
:floor = (文字列)|
床のfield構造体を指定します。
:wall = (文字列)|
壁のobject構造体を指定します。
:start = (文字列)|
スタート地点のobject構造体を指定します。
:goal = (文字列)|
出口地点のobject構造体を指定します。
:monster = (文字列*数値, 文字列, ‥)|
登場モンスター
:monster_num = (数値)|
上記のmonsterで列挙した中から登場させる数です。ランダム出現になります。
省略時は0ですが、0だと全部を登場させる事になります。
:box = (文字列)|
宝箱の外見を示すobject構造体を指定します。
:item = (文字列, 文字列, ‥)|
宝箱の中のアイテム
skill構造体の識別子だと取得スキルとなります。
先頭に@を付けるとアイテムウィンドウにストックされます。
(例)@a_sword
unit構造体、class構造体の識別子だと所属勢力に追加されるユニットとなります。
文字列が数値だと獲得資金となります。
:item_num = (数値)|
上記のitemで列挙した中から登場させる数です。ランダム出現になります。
省略時は0ですが、0だと全部を登場させる事になります。
:item_text = (on/off)|
省略時はonです。
onだと宝箱にカーソルを合わせると中味が表示されます。offだとされません。

:home = (横サイズ, 縦サイズ, 通路の間隔, 擬似乱数のシード値)|
迷路の自動生成に影響します。
通路の間隔はマス目(32ドット×32ドット)単位で指定します。
ステージの横サイズは、通路の間隔×横サイズとなります。
同じく縦サイズは、通路の間隔×縦サイズとなります。
&color(blue){(例)home = 20, 30, 6 だとステージサイズは横120マス縦180マスとなる。}
最大面積は約5万マスです。それ以上広くすると強制終了します。
擬似乱数のシード値は(-2億~+2億)の任意値を指定します。
数値によって迷路が変化しますので相応しい迷路が出るまで適当に数値を弄ってみてください。
0 にすると完全ランダムとなりプレイ毎に迷路が変化します。

:ray = (通過限度, 1way, 2way, 3way)|
迷路の自動生成に影響します。これについては適当に数値を弄ってみて御確認ください。
迷路はモグラ法で作成してます。
通過限度を増やすと広い空間が増えます。
1wayを増やすと長い通路が増えます。
2wayを増やすとT字路が増えます。
3wayを増やすと十字路が増えます。

.