こんにちは。
今回は「国家方針」の作成方法について解説します。
国家方針はHoI4から登場した新しいシステムで、初期バージョンから実装されています。
国家が採用するべき方針を直観的に選択することが出来るシステムであり、アメリカなら「レンドリース法」、ドイツなら「ラインラント」などの史実的なものから、「ヒトラーへの反抗」「ドゥーチェへの反抗」などの仮想的な要素も用意されています。
動作環境
この記事は以下の条件で執筆しています。
- Windows/Steam
- バージョン:1.14.2
- DLC
- Together for Victory
- Death or Dishonor
- Waking the Tiger
- Man The Guns
- La Résistance
- Battle for the Bosporus
- No Step Back
- By Blood Alone
- Arms Against Tyranny
- Trial of Allegiance
国家方針の設定
国家方針は基本的に国家タグに基づいて作成します。ドイツの国家方針は国家タグ「GER」に対して紐付けされているということです。
国家方針ファイルの作成
最初に国家方針ファイルを作成しましょう。
- commonフォルダの中にnational_focusフォルダを作成する。
…/national_focus - national_focusフォルダの中に国家方針ファイルを作成する。
…/national_focus/sarawak.txt
※UTF-8 BOM付で保存しましょう。
※オリジナルファイルをコピーして名前を変更してもOKですが、最初は中身を全て消した方が良いです。
次に下記のコードを参考に基本的な定義を記述します。
focus_tree = {
id = sarawak_focus # 他の国家方針ツリーIDと重複しないように記述
country = { # 国家方針が有効となる条件
factor = 0
modifier = {
add = 10
tag = SAR
}
}
default = no # 汎用の国家方針であるかどうか
}
項目 | 設定値 | コメント |
---|---|---|
id | 国家方針ツリーID | 他と重複しないように記述。 |
country | 条件 | 国家方針が有効となる条件。 ※サンプルコードは全国家で無効(factor = 0)だが、SARのみ有効(add = 10)となる。 |
default | yes/no | 汎用の国家方針かどうか(yesにすると専用の国家方針が無い国家に対して有効となる)。 |
ゲームを起動して国家方針ツリーを開くと以下の画像のように空っぽのツリーが表示されているはずです。
これで作成する準備が出来ました。
国家方針の作成
それでは国家方針を作成していきましょう。
まずは下記のコードを参考に国家方針を一つ追加してみて下さい。
focus_tree = {
id = sarawak_focus # 他の国家方針ツリーIDと重複しないように記述
country = { # 国家方針が有効となる条件
factor = 0
modifier = {
add = 10
tag = SAR
}
}
default = no # 汎用の国家方針であるかどうか
focus = {
id = SAR_political_effort # 他の国家方針IDと重複しないように
icon = GFX_goal_generic_demand_territory # アイコン
x = 0 # 表示位置(横軸)
y = 0 # 表示位置(縦軸)
cost = 10 # 完了時間(10で70日)
search_filters = { FOCUS_FILTER_POLITICAL } # フィルター
available_if_capitulated = yes # 降伏している時に実行可能かどうか
completion_reward = { # 完了時に発生する内容
add_political_power = 100
}
}
}
項目 | 設定値 | コメント |
---|---|---|
id | 国家方針ID | 他と重複しないように記述。 |
icon | 画像 | 国家方針のアイコン |
x | 数値 | 国家方針の表示位置(横軸) |
y | 数値 | 国家方針の表示位置(縦軸) |
cost | コスト | 完了時間(10:70日) |
search_filters | フィルター | フィルター |
available_if_capitulated | yes/no | 降伏している時に実行可能かどうか |
completion_reward | 完了時に発生する内容 |
localisationファイルも忘れずに作成しましょう。国家方針には名前と説明を付けることが出来ます。
- localisation/japaneseフォルダの中にファイルを作成する。
…/localisation/japanese/SAR_focus_l_japanese.yml
※UTF-8 BOM付で保存しましょう。
※XXXX_focus_l_japanese.ymlなど。 - ファイルを編集する。
l_japanese:
SAR_political_effort:0 "王国の政治的課題"
SAR_political_effort_desc:0 "我が国の王権を守るためには何が必要だろうか?"
起動して確認しましょう。
前提が必要な国家方針
国家方針「ツリー」と名前が付けられている通り、「国家方針A」が完了したら「国家方針B」が選択可能になるという仕組みがあります。下記の画像ですと、「陸軍改革」が完了すると「ソ連との条約」が選択可能になります。
下記のコードを参考に国家方針を追加してみましょう。
prerequisiteというコードで前提となる国家方針を指定しています。
※localisationファイルは説明を省略します。
focus = {
id = SAR_administrative_agency
icon = GFX_focus_generic_treaty
prerequisite = { focus = SAR_political_effort } # 前提の国家方針
x = 0
y = 1 # 表示位置に注意
cost = 10
search_filters = { FOCUS_FILTER_POLITICAL }
available_if_capitulated = yes
completion_reward = {
add_political_power = 100
}
}
項目 | 設定値 | コメント |
---|---|---|
prerequisite | 国家方針ID | 前提となる国家方針を記述。 |
以下のように2つに分けて記述するとAとB両方の完了が必要です。
prerequisite = { focus = A }
prerequisite = { focus = B }
1つの中で記述するとAかBのどちらかの完了が必要です。
prerequisite = { focus = A focus = B }
※上記の例は2つですが、2つ以上指定することも可能です。
起動して確認しましょう。
択一的な国家方針
この国家方針を選択すると、この国家方針が選択出来なくなるという仕組みがあります。下記の画像を見てみると、「中国との友好」と「日本との友好」が択一的として設定されているのが分かります。
下記のコードを参考に国家方針を追加してみましょう。
mutually_exclusiveコードで設定しています。択一的にしたい両方の国家方針に記述します。また、縦軸(y=0の所)を合わせましょう。合わせなくても設定は出来ますが、見た目で分かりやすくなります。
※localisationファイルは説明を省略します。
focus = {
id = SAR_political_effort # 他の国家方針IDと重複しないように
icon = GFX_goal_generic_demand_territory # アイコン
mutually_exclusive = { focus = SAR_if_scenario } # 択一的にする相手の国家方針IDを指定する
x = 0 # 表示位置(横軸)
y = 0 # 表示位置(縦軸)
cost = 10 # 完了時間(10で70日)
search_filters = { FOCUS_FILTER_POLITICAL } # フィルター
available_if_capitulated = yes # 降伏している時に実行可能かどうか
completion_reward = { # 完了時に発生する内容
add_political_power = 100
}
}
focus = {
id = SAR_if_scenario
icon = GFX_goal_generic_political_pressure
mutually_exclusive = { focus = SAR_political_effort } # 択一的にする相手の国家方針IDを指定する
x = 4
y = 0 # 縦軸を合わせる
cost = 10
search_filters = { FOCUS_FILTER_POLITICAL }
available_if_capitulated = no
completion_reward = {
add_stability = -0.05
}
}
項目 | 設定値 | コメント |
---|---|---|
mutually_exclusive | 国家方針ID | 択一的にする相手先の国家方針を記述。 |
以下のように記述すると複数の国家方針を択一的にすることができます。
mutually_exclusive = { focus = A focus = B focus = C }
起動して確認しましょう。
トリガー設定
この条件を満たすと利用可能になったり、自動的に達成されたり、キャンセルされたりするように設定することが出来ます。設定したら以下のように表示されます。
下記のコードを参考に国家方針を追加してみましょう。
focus = {
id = SAR_constitution_of_sarawak
icon = GFX_focus_generic_improve_the_administration
prerequisite = { focus = SAR_administrative_agency }
available = { # 前提条件
date > 1939.1.1
has_government = neutrality
}
bypass = { # 自動達成条件
has_ideas = SAR_constitution_of_sarawak
}
cancel = { # キャンセル条件
NOT = { has_government = neutrality }
}
x = 0
y = 2
cost = 10
search_filters = { FOCUS_FILTER_POLITICAL }
cancel_if_invalid = yes
continue_if_invalid = no
available_if_capitulated = yes
completion_reward = {
add_ideas = SAR_constitution_of_sarawak
}
}
項目 | 設定値 | コメント |
---|---|---|
available | 前提条件 | 条件を満たすと国家方針が利用可能になります。 |
bypass | 自動達成条件 | 条件を満たすと国家方針が自動的に達成されます。 |
cancel | キャンセル条件 | 条件を満たすと国家方針がキャンセルされます。 |
cancel_if_invalid | yes/no | 国家方針実行中にavailableの条件を満たさなくなった場合にキャンセルされるかどうか。※省略時はyes |
continue_if_invalid | yes/no(省略時) | cancelとcancel_if_invalidを無視するかどうか。※省略時はno |
起動して確認しましょう。
効果設定
国家方針が完了した際の効果はcompletion_rewardの中に記述することで設定できます。サンプルでは政治力を追加したり、国民精神を追加したりしていますが、その他にも様々な効果を設定することが出来ます。全て説明することは出来ませんが代表的な効果をご紹介します。
項目 | サンプル | コメント |
---|---|---|
add_political_power | add_political_power = 100 | 政治力を追加する。 |
add_stability | add_stability = 0.1 | 安定度を追加する。 |
add_war_support | add_war_support = 0.1 | 戦争協力度を追加する。 |
add_command_power | add_command_power = 50 | 指揮力を追加する。 |
add_manpower | add_manpower = 10000 | 人的資源を追加する。 |
army_experience | army_experience = 10 | 陸軍経験値を追加する。 |
navy_experience | navy_experience = 10 | 海軍経験値を追加する。 |
air_experience | air_experience = 10 | 空軍経験値を追加する。 |
add_ideas | add_ideas = XXX | 国民精神を追加する。 |
remove_ideas | remove_ideas = XXX | 国民精神を削除する。 |
add_tech_bonus | add_tech_bonus = { name = industrial_bonus bonus = 1.0 uses = 1 category = industry } |
研究ボーナスを追加する。 |
country_event | country_event = XXX | 国家イベントを発生させる。 |
news_event | news_event = XXX | ニュースイベントを発生させる。 |
表示位置(ポジション)s設定
これまでのサンプルコードにてご存じの通り、国家方針の表示位置はXとYで定義されています。左上を0,0として1の単位ずつ上下左右に遷移します。ただし注意が必要なのが横軸の表示位置です。上下が1ずつなのに対して、左右は2ずつであることが分かります。
ある国家方針に対して相対的に表示位置を設定することも出来ます。下記のサンプルコードは「王権への是非を問う」は「王国の政治的課題」から4単位だけ右に表示されます。
focus = {
id = SAR_if_scenario
icon = GFX_goal_generic_political_pressure
mutually_exclusive = { focus = SAR_political_effort }
x = 4 # 相対的な表示位置(横軸)
y = 0 # 相対的な表示位置(縦軸)
relative_position_id = SAR_political_effort # 相対的な位置に指定する国家方針
cost = 10
search_filters = { FOCUS_FILTER_POLITICAL }
available_if_capitulated = no
completion_reward = {
add_stability = -0.05
}
}
設定先となる「王国の政治的課題」の表示位置を変更してみましょう。今回は横軸を3単位右にずらします。
focus = {
id = SAR_political_effort
icon = GFX_goal_generic_demand_territory
mutually_exclusive = { focus = SAR_if_scenario }
x = 3 # 横軸をずらしてみると……
y = 0
cost = 10
search_filters = { FOCUS_FILTER_POLITICAL }
available_if_capitulated = yes
completion_reward = {
add_political_power = 100
}
}
「王権の是非を問う」の表示位置が自動的に変更されました。設定していない「サラワク行政庁」と「サラワク王国憲法」はそのままの位置であることが分かります。
継続方針の表示位置
継続方針の表示位置を設定することが出来ます。省略した場合は初期位置(50,1000)に表示されます。
※今回は継続方針の作成方法については省略します。
focus_tree = {
id = sarawak_focus
country = {
factor = 0
modifier = {
add = 10
tag = SAR
}
}
default = no
continuous_focus_position = { x = 100 y = 800 } # 継続方針の表示位置
初期表示位置設定
国家方針ツリーを最初に開いた時の表示位置を設定することが出来ます。省略した場合は初期位置(0,0)が表示されます。
focus_tree = {
id = sarawak_focus
country = {
factor = 0
modifier = {
add = 10
tag = SAR
}
}
default = no
initial_show_position = { x = 50 y = 0 } # 国家方針ツリーを最初に開いた時の表示位置
AIの設定
例えばAIドイツは史実プレイだと必ず「ラインラント」から国家方針を取得します。このような国家方針の取得順はai_will_doを追加すれば設定出来ますが、いつのバージョンからかAIの設定方法が追加され、AIが取得する国家方針は以下のフォルダにも定義出来るようになりました。今回は両方の設定方法を説明します。
AI戦略ファイルの作成
AI戦略ファイルを作成しましょう。
- commonフォルダの中にai_strategy_plansフォルダを作成する。
…/ai_strategy_plans - ai_strategy_plansフォルダの中にAI戦略ファイルを作成する。
…/ai_strategy_plans/SAR.txt
※UTF-8で保存しましょう。
※オリジナルファイルをコピーして名前を変更してもOKです(中身は削除しましょう)。
以下のサンプルコードを参考に基本的な定義を記述します。
完了したらゲームが正常に起動することを確認しておきましょう。
SAR_historical = { # AI戦略ファイルの定義
name = "Sarawak Historical Plan" # 名前
desc = "" # 説明
allowed = { # 有効となる国家
original_tag = SAR
}
enable = { # 有効となる条件
is_historical_focus_on = yes
}
abort = { # 無効になる条件
}
ai_national_focuses = { # 国家方針取得順
}
weight = { # 戦略の重さ
factor = 1.0
modifier = {
factor = 1.0
}
}
}
項目 | 設定値 | コメント |
---|---|---|
name | 名前 | AI戦略名。表に出ることは無い(多分)ので分かりやすいように。 |
desc | 説明 | AI戦略の説明。 |
allowed | 条件 | 有効となる国家。 |
enable | 条件 | 有効となる条件。 |
abort | 条件 | 無効となる条件。 |
ai_national_focuses | 国家方針ID | 取得する国家方針。 |
weight | 重さ | AI戦略の重さ。※ややこしいのでよく分からない場合はサンプルの通り最小の1を設定しておきましょう。 |
国家方針取得順の設定
それではAIが取得する場合の、国家方針の順番を設定しましょう。以下のコードの通り、ai_national_focusesに国家方針IDを記述します。この鍵括弧の中に記述した国家方針が上から順番に実行されます。国家方針が既に実行されていたり、条件を満たさないため実行できない場合は、その下の国家方針を実行します。下記のサンプルの場合、「王国の政治的課題」→「サラワク行政庁」→「サラワク王国憲法」の順番で国家方針が実行されます。
ai_national_focuses = { # 国家方針取得順
SAR_political_effort
SAR_administrative_agency
SAR_constitution_of_sarawak
}
国家方針個別のAI設定
AI戦略ファイルでの定義が存在しない、もしくは条件を満たさない場合は国家方針ファイルに定義した個別の設定に従って国家方針が実行されます。これはai_will_doを使用して設定します。
focus = {
id = SAR_political_effort
icon = GFX_goal_generic_demand_territory
mutually_exclusive = { focus = SAR_if_scenario }
x = 0
y = 0
cost = 10
search_filters = { FOCUS_FILTER_POLITICAL }
available_if_capitulated = yes
completion_reward = {
add_political_power = 100
}
ai_will_do = { factor = 10 } # AI設定
}
focus = {
id = SAR_if_scenario
icon = GFX_goal_generic_political_pressure
mutually_exclusive = { focus = SAR_political_effort }
x = 4
y = 0
relative_position_id = SAR_political_effort
cost = 10
search_filters = { FOCUS_FILTER_POLITICAL }
available_if_capitulated = no
completion_reward = {
add_stability = -0.05
}
ai_will_do = {
factor = 0
modifier = {
factor = 10
is_historical_focus_on = no
}
}
}
項目 | 設定値 | コメント |
---|---|---|
ai_will_do | 条件 | AIが取得する優先度。デフォルトは1。 |
最後に
国家方針はシンプルですが奥が深いです。政治力や研究ボーナスの獲得といったシンプルなものからディシジョンやイベントチェーンの起点となるような重要なものまで幅広く作成することができ、非常に楽しい作業です。既に大量の国家方針がDLCによって提供されていますので、作成したい国家方針があったら、似たようなものを探して参考にするのが良いでしょう。