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