map_data
マップ関連
MAP情報を格納する配列の中に格納されている。
ワールドマップ上に存在するマップオブジェクトの一覧
adata.s1
dim adata, 40, 200 ~Version 1.16 reloaded fix 3(2009 Christmas Edition)
40要素 × 200オブジェクト分
dim adata, 40, 500 Version 1.17(開発版)~Version 1.22(開発版)
40要素 × 500オブジェクト分
adata(00, マップNo) |
マップタイプ |
01:ワールドマップ |
・ノースティリス |
02:アクリ・テオラ、ラーナ、工房ミラル・ガロク、パルミア大使館 |
03:街 |
・ヴェルニース |
・ヨウィン |
・パルミア |
・ダルフィ |
・ポート・カプール |
・ノイエル |
・ルミエスト |
04:野外 |
05:プレイヤー物件 |
・わが家 |
・シェルター(プレイヤー物件) |
・牧場 |
・博物館 |
・店 |
・畑 |
・倉庫 |
06:ルミエスト墓所、神々の休戦地、妹の館、 |
混沌の城《獣》、混沌の城《機甲》、混沌の城《奇形》、実験場、シェルター(各街) |
07:ハウスドーム、闘技場、コロシアム、即時依頼時マップ |
20:ダンジョン(洞窟) |
・レシマス |
・死者の洞窟 |
・竜窟 |
・山道 |
・子犬の洞窟 |
・ミノタウロスの巣 |
・イークの洞窟 |
・ピラミッド |
21:ダンジョン(塔) |
・灼熱の塔 |
22:ダンジョン(森) |
23:ダンジョン(砦) |
・古城 |
adata(1, マップNo) |
マップオブジェクトが存在するワールドマップ上のX座標 |
adata(2, マップNo) |
マップオブジェクトが存在するワールドマップ上のY座標 |
adata(3, マップNo) |
マップ進入時の配置(map_placecharaonentrance) |
adata(4, マップNo) |
マップの描画に使用するマップチップセットの指定 ⇒mdata(02) |
adata(5, マップNo) |
ランダムダンジョン接続語タイプ |
0:typeA |
1:typeB |
危険度 |
typeA : typeB |
危険度1~4 |
はじまりの : 安全な |
危険度5~9 |
時めきの : 冒険者の |
危険度10~14 |
迷いの : 勇者の |
危険度15~15 |
死の : 闇の |
危険度20以上 |
混沌の : 不帰の |
adata(6, マップNo) |
マップの到達最深階 |
|
|
adata(9, マップNo) |
ターンコスト |
マップ上に存在する全ユニットに速度を加算 |
mdata(9)のターンコスト値以上になると行動 |
マップ上に存在する全ユニットに対し、cdata(10)がmdata(9)以上かを判定。 |
判定が真ならcdata(10)からmdata(9)を減算 |
判定が偽となるまでそのユニットのターンを繰り返す。 |
判定が偽なら次のユニットの判定へ |
adata(10, マップNo) |
マップの最深階 |
adata(11, マップNo) |
マップ再生成フラグ ⇒mdata(07) |
adata(12, マップNo) |
マップのユニット標準位置が参照されるフラグ(再配置・aiDull) ⇒mdata(8) |
|
|
adata(15, マップNo) |
マップオブジェクトのチップ番号 |
adata(16, マップNo) |
マップオブジェクト識別番号 |
マップNoとは必ずしも対応しない(特に複数建てられる物件)が、多くの場合は一致している。 |
002:野外 |
003:レシマス |
004:ノースティリス |
005:ヴェルニース |
006:闘技場 |
007:わが家 |
008:ランダムダンジョン |
009:実験場 |
010:ルミエスト墓所 |
011:ポート・カプール |
012:ヨウィン |
013:即時依頼時マップ |
・街近辺 |
・市街地 |
・パーティー会場 |
・※依頼内容によって変化 |
014:ダルフィ |
015:パルミア |
016:灼熱の塔 |
017:死者の洞窟 |
018:古城 |
019:竜窟 |
020:神々の休戦地 |
021:アクリ・テオラ |
022:混沌の城《獣》 |
023:混沌の城《機甲》 |
024:混沌の城《奇形》 |
025:ラーナ |
026:山道 |
027:子犬の洞窟 |
028:イークの洞窟 |
029:妹の館 |
030:シェルター |
031:牧場 |
032:パルミア大使館 |
033:ノイエル |
034:工房ミラル・ガロク |
035:ハウスドーム |
036:ルミエスト |
037:ピラミッド |
038:ミノタウロスの巣 |
040:コロシアム |
041:牢獄 |
042:すくつ |
043:ノースティリス南関所 |
044:サウスティリス |
045:サウスティリス北関所 |
046:煙とパイプ亭 |
047:テストワールド |
048:テストワールド北関所 |
101:博物館 |
102:店 |
103:畑 |
104:倉庫 |
adata(17, マップNo) |
マップの開始階層(=危険度) |
adata(18, マップNo) |
マップで使用するタイル種類(map_tileset) ⇒mdata(12) |
|
|
adata(20, マップNo) |
ダンジョンの主討伐フラグ |
-1:討伐済み |
adata(21, マップNo) |
屋内フラグ(天候の影響に使用 1:屋内 2:屋外) |
adata(22, マップNo) |
アリーナ連勝数 |
adata(23, マップNo) |
ペットアリーナ連勝数 |
adata(24, マップNo) |
アリーナの対戦相手(決闘)用乱数種? |
adata(25, マップNo) |
次のアリーナの乱数種初期化日時 |
%s < 現在時刻なら挑戦できない。 |
adata(26, マップNo) |
アリーナの対戦相手(ランブル)用乱数種? |
次の決闘の開始日時。 |
adata(27, マップNo) |
次のランブルの開始日時。 |
adata(28, マップNo) |
街フラグ(タウンデータ用) |
adata(29, マップNo) |
聖夜祭フラグ |
adata(30, マップNo) |
脱出先マップNo? ⇒gdata(850) |
Version 1.02(開発版)~Version 1.16 reloaded fix 3(2009 Christmas Edition)
Version 1.02(開発版)以前は未確認
マップNo100~149はプレイヤーが建設する我が家以外の建物用、マップNo150~199はランダムダンジョン用。
Version 1.17(開発版)~Version 1.22(開発版)
マップNo300~449はプレイヤーが建設する我が家以外の建物用、マップNo450~499はランダムダンジョン用。
どちらも使用されていない領域(adata(16, マップNo) == 0)に新しく作られる。
使用されていない領域が無ければ生成に失敗する。
ワールドマップ上に存在する各マップオブジェクトの詳細?(目次みたいなもの?)
mdata_????.s2
dim mdata, 100
mdata(0) |
現在いるマップのX方向の大きさ |
mdata(1) |
現在いるマップのY方向の大きさ |
mdata(2) |
現在いるマップの描画に使用するマップチップセットの指定 |
※Version 1.22(開発版)時点では単純にgraphicフォルダ内のmap?.bmpの ?部分をあらわす整数値 |
mdata(3) |
次回マップ再生成年月日時?(未生成なら0 再生成したら現在日時+120) |
(年 * 24 * 30 * 12) + (月 * 24 * 30) + (日 * 24) + (時) |
(例)0=0年0月0日 744=0年1月1日 |
mdata(4) |
現在いるマップの降り階段のX座標 + Y座標 * 1000 |
mdata(5) |
現在いるマップの昇り階段のX座標 + Y座標 * 1000 |
mdata(6) |
現在いるマップのタイプ |
1:ワールドマップ |
3:街(依頼掲示板有り)(?) |
5: |
mdata(7) |
マップ再生成フラグ(?) |
0:強制新規再作成 |
マップデータ(mdata_xxx.s2)が存在していても必ず新規作成 |
ビッグダディが出現しない |
1:任意再生成 |
mdata(8) |
現在いるマップでユニット標準位置が参照されるフラグ |
mdata(9) |
現在いるマップのターンコスト |
mdata(10) |
ランダム生成係数(固定でないキャラ・アイテムの初期生成とキャラの再沸きに使用) |
mdata(12) |
マップで使用するタイル種類(map_tileset) |
mdata(13) |
BGM番号 |
mdata(14) |
現在のマップの屋内フラグ(天候の影響に使用 1:屋内 2:屋外) |
mdata(15) |
ユーザーマップフラグ? |
mdata(16) |
次回NPCアイテム補充年月日時(補充したら現在日時+24) |
(年 * 24 * 30 * 12) + (月 * 24 * 30) + (日 * 24) + (時) + 24 |
(例)24=0年0月0日 768=0年1月1日 |
mdata(17) |
クエストマップフラグ? |
mdata(18) |
マップに置けるアイテムの最大数? |
mdata(19) |
バージョン番号(1.12なら1120)+マップ再生成回数 |
mdata(20) |
焚き火音フラグ |
mdatan_????.s2
sdim mdatan, 20, 2
改行付きテキストファイル
2行
1:マップ名?
2:?
※mdata_????.s2とセット
3次元配列
map(X座標, Y座標, 0) = マップチップ番号(表示・未探索のときはそのマップの汎用チップ)
map(X座標, Y座標, 1) = ユニット番号+1
map(X座標, Y座標, 2) = マップチップ番号(設定)
map(X座標, Y座標, 3) = 未使用
map(X座標, Y座標, 4) = アイテム情報(設定)
1個なら上位2バイトにアイテムチップ番号 下位2バイトにアイテム色番号
4個以上なら上位2バイトに363:袋のチップ番号 下位2バイトに0:無色
2個なら上のアイテムから順に(-1) * ((アイテムNo - 5080) + (アイテムNo - 5080) * 1000 + 999 * 1000000)
3個なら上のアイテムから順に(-1) * ((アイテムNo - 5080) + (アイテムNo - 5080) * 1000 + (アイテムNo - 5080) * 1000000)
map(X座標, Y座標, 5) = アイテム情報(表示)
map(X座標, Y座標, 6) = マップフィート情報(罠・階段など)
feat + feat(1) * 1000 + feat(2) * 100000 + feat(3) * 10000000
map(X座標, Y座標, 7) = 血飛沫レベル + 破片レベル *10
map(X座標, Y座標, 8) = マップ効果番号+1
map(X座標, Y座標, 9) = 光源情報 ⇒lightdata,ilight
※mdata_???_???.s2とセット
マップフィート情報
dim feat, 5
feat = チップ番号(表示)
feat(1) = マップフィート種類
10:昇り階段
11:降り階段
14:罠
15:マップオブジェクト(マップNo = feat(2) + feat(3) * 100)
20:開いた扉
21:閉じた扉
22:隠し通路
23:依頼掲示板
24:探索スポット
25:採掘スポット
26:釣りスポット
27:残骸スポット
28:採取スポット
29:種を植えた場所
30:壷
31:投票箱
32:小さなメダル
33:街掲示板
34:建物(炭鉱・灯台等)
feat(2) = 付加情報1(階段先の階層・罠番号・開錠難度・種の種類)
feat(3) = 付加情報2(地雷設置ユニット・栽培日数)
feat(4) = 未使用
マップ効果情報
mef_???_???.s1
dim mef, 9, 200
マップ効果数が200超えたらランダムな番号の効果を消す
mef(0, 効果番号) = マップ効果種類
1:蜘蛛の巣 2:闇の霧 3:酸の海 4:エーテルの海 5:火柱 6:ポーション類 7:原子爆弾
mef(1, 効果番号) = アイテムチップ番号 + 色番号 *10000
mef(2, 効果番号) = X座標
mef(3, 効果番号) = Y座標
mef(4, 効果番号) = 持続ターン(-1でターンによる消滅なし)
mef(5, 効果番号) = スペルパワー
mef(6, 効果番号) = 効果元ユニット(hostileactionやcheck_killで使用)
mef(7, 効果番号) = ポーション類ならアイテムID ⇒inv(03,アイテムNo)
mef(8, 効果番号) = ポーション類なら祝呪状態 ⇒inv(17,アイテムNo)
※mdata_???_???.s2とセット
マップチップ情報
dim chipm, 8, 33 * 25
mdata(2):map?.bmpの種類 によって同じマップチップ番号でも効果は変わるので注意
chipm(0, チップ番号) = マップ種類
1:日干し岩 2:畑 3:水 4:雪原 6:収容所の壁 7:砂漠 8:荒野 10:浅瀬
chipm(1, チップ番号) = マップ種類2
5:温泉 9:境界
chipm(2, チップ番号) = 壁種類
1:壁下端 2:壁内部
chipm(3, チップ番号) = アニメコマ数(連番のチップをアニメに使う)
chipm(4, チップ番号) = 未使用
chipm(5, チップ番号) = 上にずらすピクセル数
6:砦 8:森 16:塔・灼熱の塔・混沌の城 56:ムーンゲート?
chipm(6, チップ番号) = 下も描画するピクセル数
48:ムーンゲート?
chipm(7, チップ番号) = 効果
1:射線を遮る 4:通行不可(視界○) 5:通行不可
縦 = チップ番号 / 33
横 = チップ番号 \ 33
最終更新:2014年04月22日 10:20