概要

戦場マップはMapMakerで作成します。
MapMakerはfieldフォルダのマップチップ名(拡張子無し)を識別子としてmapファイルに埋め込みます。
ゲーム内では識別子と同名のfield構造体が該当チップになります。

エッジングについて(マップチップの境界線処理)

エッジングとは周囲に合わせて自身を派生チップに置き換える事です。
エッジングをするには、N, NW, W, SW, S, SE, E, NE が末尾に付いた8個の派生チップを用意します。
grass なら以下の8個が必要となります。
grassN (上の荒地チップと隣接)
grassNW(左上の荒地チップと隣接)
grassW (左の荒地チップと隣接)
grassSW(左下の荒地チップと隣接)
grassS (下の荒地チップと隣接)
grassSE(右下の荒地チップと隣接)
grassE (右の荒地チップと隣接)
grassNE(右上の荒地チップと隣接)

コンテンツ

type = (文字列)
省略 普通の地形
coll 通行不可になる
wall 通行不可になる。飛び道具も貫通不可
wall2 通行不可になる。攻撃側の飛び道具のみ貫通不可
attr = (文字列)
この地形の種類です(草原、海、山地など)。movetype構造体の識別子を記します。
color = (R, G, B)
ミニマップ上での表示カラーです。

id = (文字列)
エッジングの為の識別子です。省略時は構造体名になります。
エッジングはこのidで判定します。
少し違う草原チップ(grass1、grass2)をidでひとくくりにする為です。
edge = (on/off)
省略時はoff。
onでエッジングする。
エッジングとは周囲に合わせて自身をN,NW,W,SW,S,SE,E,NEの派生チップに置き換える事です。
joint = (隣接id)
指定したidを持つ地形チップと接した時にエッジングするようになる。
省略すると全ての異なる地形チップとの間でエッジングするようになる。
joint = (隣接id, 描画field構造体, 隣接id, 描画field構造体, ‥)
joint = grass, seaGrass、sand, seaSand、snow, seaSnow
こうすると海チップの周囲に合わせて草境界、砂境界、雪境界のfieldが自動的に描画されます。
seaGrass、seaSand、seaSnowにはN, NW, W, SW, S, SE, E, NE の派生チップが必要です。

image = (文字列)
画像。image.datにあるイメージ名を指定する。省略時は構造体名になります。
add2 = (文字列, 文字列*数値, ‥)
列挙されたイメージがランダムに表示されます。
member = (文字列, 文字列*数値, ‥)
このマップチップの上に乗せるobject構造体。列挙された中からランダムに表示されます。
空の識別子(object構造体名に無い適当な名前)を列挙する事で表示確率の調整も出来ます。
木や草をバラけさせたい時に有効です。
(例)member = wood*7, none*3 木を70%の確率で表示する。

alt = (数値)
地形の高さ。低くする時は負の値を指定する。
(例)デフォルトシナリオでは、山岳 128、高い山岳 160、海 -48、となってます。
alt_max = (数値)
地形をでこぼこにする為のデータです。
0以外の数値を記述すると高さが alt~alt_max 間のランダムになります。
smooth = (on/off/step)
on 地形の高低を滑らかに描画します(デフォルト)
off 少し段差がつきます
step 周囲の高さに影響されずに正確にaltの数値の高さになります
step は城壁の天井部分を作る時に必ず用います。城壁オブジェクトと組み合わせて用います。
.