こんにちは。
第1回では国家を追加しましたね。
今回はユニットの設定について解説します。
動作環境
この記事は以下の条件で執筆しています。
- Windows/Steam
- バージョン:1.7.1
- DLC
- Together for Victory
- Death or Dishonor
- Waking the Tiger
- Man The Guns
- MOD
- Coloured Buttons
- Japanese Language mod
ユニットの追加
通常、陸空海のユニットを定義しているオリジナルファイルは「GER_1936.txt」など「国家タグ_シナリオ年.txt」といった名前で管理されています。DLCのMan The Gunsが登場してからは、海軍ユニットは別のファイルに分けられています。初期で登場しないユニット、例えばスペイン内戦が発生した時に出現する義勇兵ユニットなどは別のファイルに分けられていてイベント発生時などに呼び出されます。
陸軍ユニットの追加
第1回の国家ファイル作成で定義したファイル名で作成して下さい。
- historyフォルダの中にunitsフォルダを作成する。※…/kingdomofsarawak_jp/history/units
- unitsフォルダの中に、ユニットファイルを作成する。※…/kingdomofsarawak_jp/history/units/SAR_1936.txt
- ユニットファイルを編集する。
師団テンプレートの設定
ではユニットファイルを編集して、まずは師団テンプレートを追加してみましょう。
以下のサンプルコードだと、「Infantry Division」と「Sarawak Rangers」という2つの師団テンプレートが追加されます。※師団テンプレートの作成に当たって、「支援装備」と「偵察中隊」の研究を完了状態にしています。
division_template = {
name = "Infantry Division"
division_names_group = SAR_INF_01
regiments = {
infantry = { x = 0 y = 0 }
infantry = { x = 0 y = 1 }
infantry = { x = 0 y = 2 }
infantry = { x = 1 y = 0 }
infantry = { x = 1 y = 1 }
infantry = { x = 1 y = 2 }
}
}
division_template = {
name = "Sarawak Rangers"
division_names_group = SAR_INF_02
regiments = {
infantry = { x = 0 y = 0 }
infantry = { x = 0 y = 1 }
infantry = { x = 0 y = 2 }
}
support = {
recon = { x = 0 y = 0 }
}
priority = 2
}
項目 | 設定値 | コメント |
---|---|---|
name | XXXX | テンプレートの名前です。 |
division_names_group※省略可 | XXXX | 師団を徴兵した際に付けられる名前グループです。※後ほど解説します。 |
regiments |
|
師団を構成する戦闘大隊です。
左のリストは、使用頻度が高そうなものを抜粋しています。※研究が完了している必要があります。 |
support※省略可 |
|
支援中隊です。※研究が完了している必要があります。 |
priority※省略可 |
|
装備の補充優先度です。
省略した場合、標準になります。 |
regimentsを記述する際は以下を参考にして下さい。
このように追加出来ていれば大丈夫です。
師団名グループの設定
では次に師団を徴兵した時に各ユニットに付けられる名前を設定しましょう。
師団テンプレートに記述したdivision_names_groupで定義した所です。
- commonフォルダの中にunitsフォルダを作成する。※…/kingdomofsarawak_jp/common/units
- unitsフォルダの中にnames_divisionsフォルダを作成する。※…/kingdomofsarawak_jp/common/units/names_divisions
- names_divisionsフォルダの中に師団名ファイルを作成する。※…/kingdomofsarawak_jp/common/units/names_divisions/SAR_names_divisions.txt※他のファイルをコピーして名前を変更して編集した方が楽です。
- 師団名ファイルを編集する。
では師団名ファイルを編集してみましょう。
以下のサンプルコードは2つ目の師団テンプレートに定義される名前グループです。
師団名ファイルの編集は少し分かりにくいです。ドイツやイギリスなどのオリジナルファイルを開いたら先頭に(英語ですが)解説が書いてあるので参考にしつつ編集することをおススメします。
SAR_INF_02 =
{
name = "Sarawak Rangers"
for_countries = { SAR }
can_use = { always = yes }
division_types = { "infantry" }
#link_numbering_with = { SAR_INF_01 }
fallback_name = "%d Sarawak Rangers"
ordered =
{
1 = { "%dst Sarawak Rangers" }
2 = { "%dnd Sarawak Rangers" }
3 = { "%drd Sarawak Rangers" }
4 = { "%dth Sarawak Rangers" }
5 = { "%dth Sarawak Rangers" }
6 = { "%dth Sarawak Rangers" }
7 = { "%dth Sarawak Rangers" }
8 = { "%dth Sarawak Rangers" }
9 = { "%dth Sarawak Rangers" }
10 = { "%dth Sarawak Rangers" }
100 = { "(SR) Kuching Defense Force" }
}
}
項目 | コメント |
---|---|
name | 師団名グループの名前です。 |
for_countries | この師団名グループを使用できる国家を国家タグで定義します。※for_countries = { ENG AST NZL }というふうに複数の国家を定義することもできます。 |
can_use | この師団名グループがいつ使用できるか定義します。※always=yesでいつでも。 |
division_types | どの兵種で使用するかどうか?※解説にAIの自動判別用との記載有 |
link_numbering_with | 他の師団名グループと師団番号(%dの部分)を共有するかどうか定義します。※使用しないならコメントアウトで大丈夫です。 |
fallback_name | orderedで定義した師団名を使い切った後で使用されます。 |
ordered | 師団を徴兵した際に、ここで定義した師団名が先頭の番号順に割り当てられます。 |
このままでは確認が出来ないので、次で実際にユニットを配置して確認します。
ユニットの配置
師団テンプレートと師団名グループの設定が完了したので、次はユニットを配置してみましょう。
通常の場合、師団テンプレートがあるファイルに記述します。
- unitsフォルダの中の、ユニットファイルを開く。※…/kingdomofsarawak_jp/history/units/SAR_1936.txt
- ユニットファイルを編集する。
units = {
division = {
name = "(SR) Border Garrison"
location = 1335
division_template = "Sarawak Rangers"
start_experience_factor = 0.2
start_equipment_factor = 0.3
}
division = {
division_name = {
is_name_ordered = yes
name_order = 100
}
location = 1208
division_template = "Sarawak Rangers"
start_experience_factor = 0.2
start_equipment_factor = 0.3
}
}
項目 | コメント |
---|---|
name | 師団名を直接入力する場合はこちらを記述します。 |
division_name | 師団名グループを使用する場合はこちらを記述します。 |
location | ユニットを配置するプロヴィンスIDです。※自国領か通行権があるプロヴィンスを指定しましょう。 |
division_template | どの師団テンプレートを指定してユニットを作成するか指定します。 |
start_experience_factor※省略可 | 初期練度です。0~1.0で指定します。※省略した場合は練度1の新兵です。※0.1で練度2の訓練済み※0.2で練度2の訓練済み+経験50% |
start_equipment_factor※省略可 | 初期充足率です。0~1.0で指定します。※省略した場合は100%の充足率です。※0.3で30%の充足率 |
このようにエラーも無く出現していれは大丈夫です。
空軍ユニットの追加
空軍ユニットを追加してみましょう。こちらも陸軍ユニットを追加したファイルに記述します。※空軍ユニットの追加に当たって、「戦間期型戦闘機」の研究を完了状態にしています。
- unitsフォルダの中の、ユニットファイルを開く。※…/kingdomofsarawak_jp/history/units/SAR_1936.txt
- ユニットファイルを編集する。
air_wings = {
333 = {
fighter_equipment_0 = {
owner = "SAR"
creator = "ENG"
amount = 10
}
}
}
項目 | コメント |
---|---|
XXX(ステートID)※333の部分 | ユニットを配置するステートIDです。※自国領か通行権があるステートを指定しましょう。 |
航空機定義名※fighter_equipment_0の部分 | どの航空機を指定してユニットを作成するか指定します。※研究が完了している必要があります。
定義名はこちらを参考にして下さい。 |
owner | ユニットの所有国です。 |
creator※省略可 | 航空機がどこの国のものか指定できます。※省略した場合は自国のです。 |
amount | 航空機の数を指定します。 |
ややこしいのは定義名ぐらいです。
海軍ユニットの追加
最後に海軍ユニットの追加ですが、海軍ユニットファイルは別に作成しましょう。DLCに配慮する場合は、呼び出すファイルを2つ(DLC有りとDLC無し)指定する必要があります。※海軍ユニットの追加に当たって、「初期型駆逐艦」「初期型巡洋艦」「初期型潜水艦」の研究を完了状態にしています。
- history/unitsフォルダの中に、ユニットファイルを作成する。※…/kingdomofsarawak_jp/history/units/SAR_1936_naval_legacy.txt(DLC無し用)※…/kingdomofsarawak_jp/history/units/SAR_1936_naval_mtg.txt(DLC有り用)
- 国家ファイルにユニットファイルの呼び出しを記述する。
- ユニットファイルを編集する。
まずは国家ファイルに海軍ユニットファイルの呼び出しを記述しましょう。
下はDLCのMan the Gunsが有れば「SAR_1936_naval_mtg」を無ければ「SAR_1936_naval_legacy」を呼び出すコードです。
if = {
limit = { has_dlc = "Man the Guns" }
set_naval_oob = "SAR_1936_naval_mtg"
else = {
set_naval_oob = "SAR_1936_naval_legacy"
}
}
では海軍ユニットファイルを編集しましょう。
サンプルコードとして、一つの艦隊に二つの任務部隊(タスクフォース)を作成しています。
#DLC無し
units= {
fleet = {
name = "Royal Sarawak Navy"
naval_base = 1208
task_force = {
name = "1st Destroyer Flotilla"
location = 1208
ship = { name = "RSN CL TestShip" pride_of_the_fleet = yes definition = light_cruiser equipment = { light_cruiser_1 = { amount = 1 owner = SAR version_name = "Sarawak Test Class" } } }
ship = { name = "RSN DD TestShip 1" definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = SAR } } }
ship = { name = "RSN DD TestShip 2" definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = SAR } } }
}
task_force = {
name = "1st Submarine Flotilla"
location = 1208
ship = { name = "RSN SS TestShip 1" definition = submarine equipment = { submarine_1 = { amount = 1 owner = SAR } } }
ship = { name = "RSN SS TestShip 2" definition = submarine equipment = { submarine_1 = { amount = 1 owner = SAR } } }
}
}
}
#DLC有り
units= {
fleet = {
name = "Royal Sarawak Navy"
naval_base = 1208
task_force = {
name = "1st Destroyer Flotilla"
location = 1208
ship = { name = "RSN CL TestShip" pride_of_the_fleet = yes definition = light_cruiser equipment = { ship_hull_cruiser_1 = { amount = 1 owner = SAR version_name = "Sarawak Test Class" } } }
ship = { name = "RSN DD TestShip 1" definition = destroyer equipment = { ship_hull_light_1 = { amount = 1 owner = SAR } } }
ship = { name = "RSN DD TestShip 2" definition = destroyer equipment = { ship_hull_light_1 = { amount = 1 owner = SAR } } }
}
task_force = {
name = "1st Submarine Flotilla"
location = 1208
ship = { name = "RSN SS TestShip 1" definition = submarine equipment = { ship_hull_submarine_1 = { amount = 1 owner = SAR } } }
ship = { name = "RSN SS TestShip 2" definition = submarine equipment = { ship_hull_submarine_1 = { amount = 1 owner = SAR } } }
}
}
}
それぞれの艦種は国家ファイルに記述します。
こちらもDLC有りとDLC無しで分けて指定しましょう。
if = {
limit = { has_dlc = "Man the Guns" }
create_equipment_variant = {
name = "Sarawak Test Class"
type = ship_hull_cruiser_1
name_group = SAR_CL_HISTORICAL
parent_version = 0
modules = {
fixed_ship_battery_slot = empty
fixed_ship_anti_air_slot = empty
fixed_ship_fire_control_system_slot = empty
fixed_ship_radar_slot = empty
fixed_ship_engine_slot = empty
fixed_ship_armor_slot = empty
mid_1_custom_slot = empty
mid_2_custom_slot = empty
rear_1_custom_slot = empty
}
obsolete = yes
}
else = {
create_equipment_variant = {
name = "Sarawak Test Class"
type = light_cruiser_1
parent_version = 0
upgrades = {
ship_reliability_upgrade = 0
ship_engine_upgrade = 0
ship_gun_upgrade = 0
ship_anti_air_upgrade = 0
}
obsolete = yes
}
}
}
1つの艦隊には1つ以上の任務部隊が割り当てられます。艦隊名、所属基地(プロヴィンスID)、任務部隊名、任務部隊の現在地(プロヴィンスID)、艦名、艦種、艦隊の誇り(pride_of_the_fleet)などの設定を行います。DLC有りの場合は各モジュールに注意して下さい。項目が多いので細かな解説は省略させて頂きますが、このサンプルコードとオリジナルファイル(イギリスやフランスが特に参考になります)を参考にして記述すれば難しくはないはずです。
海軍についてはMan the Gunsで大幅な変更がありました。それはMod開発も同じで特にモジュールがややこしくなったと思います。エラーが出ても落ち着いてエラーログファイルを確認して下さい。
装備品の生産
何れかの国家でゲームを開始して生産画面を開くと、歩兵装備や野戦砲などの装備品が生産されています。
これもModで設定が可能で、通常はユニットファイルに記述します。※下の画像は1936年イギリスでゲームを開始した直後の生産画面です。
- unitsフォルダの中の、ユニットファイルを開く。※…/kingdomofsarawak_jp/history/units/SAR_1936.txt
- ユニットファイルを編集する。
下は「基本的歩兵装備」と「支援装備」を生産に追加したサンプルコードです。
instant_effect = {
add_equipment_production = {
equipment = {
type = infantry_equipment_0
creator = "ENG"
}
requested_factories = 1
progress = 0.28
efficiency = 100
}
add_equipment_production = {
equipment = {
type = support_equipment_1
creator = "SAR"
}
requested_factories = 1
progress = 0.50
efficiency = 10
}
}
項目 | コメント |
---|---|
type | 生産する装備品の定義名です。※研究が完了している必要があります。
定義名はこちらを参考にして下さい。 |
creator※省略可 | どこの国の装備品か指定できます。※省略した場合は自国のです。※サンプルコードの「基本的歩兵装備」はイギリス製をサラワクで生産するということです。 |
requested_factories | 軍需工場の割り当て数を指定します。 |
progress | 装備品の初期進捗度です。 |
efficiency | 装備品の初期生産効率です。 |
上のサンプルコードでゲームを開始すると以下のようになります。イギリス製の歩兵装備が生産効率50%で生産されています。これは生産効率(efficiency)で100を指定してもゲーム開始時の生産効率の上限(100/50)に達するからです。生産効率で10を指定した支援装備では上限(10/50)に達していないことが分かります。