本稿ではMOD作成の前提として、xmlに書かれた情報を解析していきます。
今回はマップを構成するhexの設定を行うhextypesテーブルです。
※多分にネタバレを含みます。ご注意ください。
サンプルデータ
データの参照元はhextypes.xmlです。
今回のサンプルは森の小屋があるhexです。
<table name="hextypes">column解析
<column name="id">11</column>
<column name="strName">forest shack</column>
<column name="strDesc">secluded shack in the woods</column>
<column name="nTerrainCost">2</column>
<column name="nVizLimiter">2</column>
<column name="nVizIncrease">0</column>
<column name="nTreasureID">7</column>
<column name="bPassable">1</column>
<column name="nScavengeInitialID">580</column>
<column name="nScavengeItemsIDPerHour">30</column>
<column name="nCampItems">5</column>
<column name="vLightLevels">0.25,1.0,1.0,1.0,0.25,0.15</column>
<column name="nDefaultCampID">525</column>
<column name="nMinRange">3</column>
<column name="nMaxRange">5</column>
<column name="vCondIDs"></column>
</table>
公式forumのこちらのスレッドでも少し解説されています。
vLightLevelsに関してはこちらを参照してください。
strNameは定義名です。
strDescはどこかで表示されている様子もないので、
メモ程度のものだと考えても良さそうです。
nTerrainCostは、そのhexに侵入するために必要な行動力です。
nVizLimiterはそのhexが外からの視界を制限する度合いで、
nVizIncreaseはそのhexに立った時に増える視界の長さ…だと思います。
nTreasureIDは、treasuretableテーブルのIDで、
そのhexに初期配置されるアイテムが指定されています。
bPassableに"1"が指定されていた場合、その上を通過することが出来ます。
"0"なら通過することは出来ません。
nScavengeInitialIDもtreasuretableテーブルのIDで、
こちらはそのhexに初期配置されるScavenge可能な場所が指定されています。
nScavengeItemsIDPerHourも同様にtreasuretableテーブルのIDで、
そのhexにおいて時間で追加されるScavenge可能な場所です。
nCampItemsは、そのhexに生成されるキャンプの最大数です。
vLightLevelsは、時間帯によるそのhexの"明るさ"です。
明かりのついた都市部などでは夜間も明るく、森では昼間も暗く設定されています。
nDefaultCampIDはtreasuretableテーブルのIDで、
そのhexに初期配置されるキャンプ地のリストが指定されています。
nMinRange/nMaxRangeは、
そのhexで戦闘を開始した際、決定される最小/最大のRangeだと思われます。
屋内や見通しの悪い場所では、比較的小さく設定されているようです。
vCondIDsは、そのhexに立っているときに付与されるconditionのIDです。
積極的に使われていない項目ですが、複数IDの指定も出来そうです。
MODの仕様上、hexの追加・変更はかなり手間のかかる作業ですが、
このテーブルの改変だけならあまり難しくありません。
移動時のコストや明るさなど、地味ながらに細かい調整が可能なテーブルなので、
難易度調整や、overhaul系のMOD作成で活用できそうです。
0 件のコメント:
コメントを投稿