【HoI4】MOD制作講座|第3回『指揮官/閣僚/設計社/国民精神』

こんにちは。

今回は指揮官(元帥/将軍/提督)・閣僚(政治顧問や陸軍長官)・設計社(戦車の設計社や工業会社)・国民精神の設定について解説します。

第1回で国家指導者を追加しましたが、これらも同じ要領で追加することが出来ます。


前回をご覧になっていない方はこちらをご覧下さい。

関連記事

こんにちは。 第2回は陸軍・海軍・空軍のユニットの追加について解説します。 前回をご覧になっていない方はこちらをご覧下さい。 [sitecard subtitle=関連記事 url=https://strateji[…]

動作環境

この記事は以下の条件で執筆しています。

  • Windows/Steam
  • バージョン:1.12.14
  • 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

指揮官の追加

国家指導者を追加する際に紹介した「charactersファイルの定義を呼び出す方法」にて追加します。

指揮官とは軍集団及び艦隊を指揮する将官のことで、例えばドイツなら元帥に「ゲルト・フォン・ルントシュテット」や将軍に「ハインツ・グデーリアン」、アメリカなら提督に「アーネスト・キング」や「チェスター・W・ニミッツ」が登録されています。

DLC「No Step Back」が登場する以前は国家ファイルに直接記述して指揮官が定義されていましたが、その方法は現行バージョンでは使用されていないため本講座でもそれに準拠します。

元帥・将軍・提督の追加

charactersファイルへの追加

  1. charactersファイルを開く
    …/common/characters/SAR.txt
  2. ファイルを編集する。

下記のサンプルは第1回で作成した国家指導者「Vyner Brooke」に元帥の定義を追加し、「Bertram Brooke」という将軍と「Anthony Brooke」という提督を新たに追加しています。

characters = {
	
	SAR_vyner_brooke = {
		name = "Vyner Brooke"								# 名前
		portraits = {										# ポートレート
			civilian = {									# 政治家用
				large = GFX_portrait_Vyner_Brooke
				small = GFX_portrait_Vyner_Brooke_small		# 閣僚用ポートレート
			}
		}
		country_leader = {									# 国家指導者
			ideology = despotism
			expire = "1965.1.1.1"
			id = -1
		}
		field_marshal = {									# 元帥
			traits = { politically_connected }				# 特性
			skill = 1										# スキル
			attack_skill = 1								# 攻撃スキル
			defense_skill = 1								# 防御スキル
			planning_skill = 1								# 計画スキル
			logistics_skill = 1								# 兵站スキル
			legacy_id = 0									# ID
		}
	}
	
	SAR_bertram_brooke = {
		name = "Bertram Brooke"
		portraits = {
			army = {
				large = GFX_portrait_Bertram_Brooke
			}
		}
		corps_commander = {									# 将軍
			traits = { politically_connected cavalry_officer }
			skill = 1
			attack_skill = 1
			defense_skill = 1
			planning_skill = 1
			logistics_skill = 1
			legacy_id = 0
		}
	}
	
	SAR_anthony_brooke = {
		name = "Anthony Brooke"
		portraits = {
			navy = {
				large = GFX_portrait_Anthony_Brooke
			}
		}
		navy_leader = {										# 提督
			traits = { politically_connected }				# 特性
			skill = 1										# スキル
			attack_skill = 1								# 攻撃スキル
			defense_skill = 1								# 防御スキル
			maneuvering_skill = 1							# 操艦スキル
			coordination_skill = 1							# 編成スキル
			legacy_id = 0									# ID
		}
	}
	
}
指揮官の種類を決定しているのが「field_marshal」と「corps_commander」と「navy_leader」の部分です。
元帥ならfield_marshal、将軍ならcorps_commander、提督ならnavy_leaderと記述して下さい。
項目 設定値 コメント
traits 特性ID 指揮官が所有する特性
※非常にたくさんの種類があるので以下のファイルを参考にして下さい
…/common/unit_leader/00_skills.txt
…/localisation/japanese/traits_l_japanese.yml
skill 1~9 スキル値
attack_skill 1~10 攻撃スキル値
defense_skill 1~10 防御スキル値
(元帥/将軍)planning_skill
(提督)maneuvering_skill
1~10 (元帥/将軍)計画スキル値
(提督)操艦スキル
(元帥/将軍)logistics_skill
(提督)coordination_skill
1~10 (元帥/将軍)兵站スキル値
(提督)編成スキル
legacy_id 数値 ID※自由に付けて大丈夫です

国家ファイルへの追加

国家ファイルに呼び出しを追加しましょう。

  1. 国家ファイルを開く
    …/history/countries/SAR – sawarak.txt
  2. ファイルを編集する。
recruit_character = SAR_bertram_brooke
recruit_character = SAR_anthony_brooke

画像ファイルの登録

ポートレートを呼び出せるように画像ファイルを登録しましょう。

  1. 画像登録ファイルを開く。
    …/interface/SAR_leader_portraits.gfx
  2. ファイルを編集する。
spriteTypes = {
	
	spriteType = {
		name = "GFX_portrait_Vyner_Brooke"
		texturefile = "gfx/leaders/SAR/Portrait_Sawarak_Vyner_Brooke.dds"
	}
	
	spriteType = {
		name = "GFX_portrait_Bertram_Brooke"
		texturefile = "gfx/leaders/SAR/Portrait_Sawarak_Bertram_Brooke.dds"
	}
	
	spriteType = {
		name = "GFX_portrait_Anthony_Brooke"
		texturefile = "gfx/leaders/SAR/Portrait_Sawarak_Anthony_Brooke.dds"
	}
	
}

これで指揮官追加の設定が完了しましたので、ゲームを起動して確認しましょう。

以下のように表示されていれば成功です。

閣僚の追加

閣僚とは政治顧問や陸軍大臣などの政府に雇用できる人物のことで、例えばイギリスなら「ウィンストン・チャーチル」や「オズワルド・モズレー」、ドイツなら「ヴィルヘルム・カイテル」や「カール・デーニッツ」が登録されています。

元々は国民精神と同じような扱いでしたが、DLC「No Step Back」の登場によって国家指導者や指揮官などと一緒に定義出来るようになりました。

charactersファイルへの追加

  1. charactersファイルを開く
    …/common/characters/SAR.txt
  2. ファイルを編集する。

下記のサンプルは国家指導者である「Vyner Brooke」に政治顧問の定義を追加しています。

characters = {
	
	SAR_vyner_brooke = {
		name = "Vyner Brooke"								# 名前
		portraits = {										# ポートレート
			civilian = {									# 政治家用
				large = GFX_portrait_Vyner_Brooke
				small = GFX_portrait_Vyner_Brooke_small		# 閣僚用ポートレート
			}
		}
		country_leader = {									# 国家指導者
			ideology = despotism
			expire = "1965.1.1.1"
			id = -1
		}
		field_marshal = {									# 元帥
			traits = { politically_connected }				# 特性
			skill = 1										# スキル
			attack_skill = 1								# 攻撃スキル
			defense_skill = 1								# 防御スキル
			planning_skill = 1								# 計画スキル
			logistics_skill = 1								# 兵站スキル
			legacy_id = 0									# ID
		}
		advisor = {											# 閣僚
			slot = political_advisor						# 政治顧問
			idea_token = SAR_vyner_brooke
			allowed  = {
				original_tag  = SAR							# 国家タグ
			}
			available = {									# 雇用条件
				always = yes
			}
			visible = {										# 表示条件
				always = yes
			}
			traits = {										# 特性
				popular_figurehead
			}
			cost = 150										# 必要政治力
			ai_will_do = {									# AIの優先度
				factor = 1
			}
		}
	}
閣僚を追加するには「advisor」の記述が必要で、政治顧問や理論家・軍最高司令部などを決定しているのが「slot」の部分です。
項目 設定値 コメント
slot 閣僚の種類 political_advisor:政治顧問
theorist:理論家
army_chief:陸軍長官
navy_chief:海軍長官
air_chief:空軍長官
high_command:軍最高司令部
idea_token XXXX characterIDと同じで大丈夫です。
※SAR_vyner_brookeの部分
allowed XXXX 有効となる条件
※サンプルでは国家タグがSARである国家で有効になります。
available XXXX 雇用可能になる条件
※サンプルでは常に可能としています。
visible XXXX 閣僚欄に表示される条件
※サンプルでは常に可能としています。
traits 特性ID 閣僚の特性
※非常にたくさんの種類があるので以下のファイルを参考にして下さい。
…/common/Hearts of Iron IV/common/country_leader/00_traits.txt
…/localisation/japanese/traits_l_japanese.yml
cost 数値 雇用に必要な政治力
ai_will_do 数値 AIの優先度

画像ファイルの作成

閣僚用の画像ファイルを作成しましょう。

  1. gfxフォルダの中にinterfaceフォルダを作成する。
    …/gfx/interface
  2. interfaceフォルダの中にideasフォルダを作成する。
    …/gfx/interface/ideas
  3. 作成した画像ファイルをideasフォルダの中に格納する。
閣僚用の画像ファイルはddsファイルです。サイズに規定はありませんが、オリジナルファイルと同じ65×67を推奨します。
運営者は「GIMP」というフリーソフトで作成しています。

画像ファイルの登録

作成した画像ファイルを登録しましょう。

  1. 画像登録ファイルを開く。
    …/interface/SAR_leader_portraits.gfx
  2. ファイルを編集する。
spriteTypes = {
	
	spriteType = {
		name = "GFX_portrait_Vyner_Brooke"
		texturefile = "gfx/leaders/SAR/Portrait_Sawarak_Vyner_Brooke.dds"
	}
	spriteType = {		# 閣僚用
		name = "GFX_portrait_Vyner_Brooke_small"
		texturefile = "gfx/interface/ideas/idea_SAR_Vyner_Brooke.dds"
	}

charactersファイルへの登録と画像ファイルが追加出来ました。

これで閣僚の登録が完了しましたのでゲームを起動して確認しましょう。

以下のように表示されていれば成功です。

設計社の追加

設計社とは研究と生産で雇用出来る会社のことで、研究速度にボーナスを得ることが出来るなどの恩恵があります。ドイツなら戦車の設計社に「ポルシェ」があったり、日本なら航空機の設計社に「三菱重工業」があります。

国民精神ファイルの作成

※当サイトでは国民精神ファイルと呼ばせて頂きます。

このファイルは各国独自の国民精神や設計社を定義するためのファイルです。

  1. commonフォルダの中にideasフォルダを作成する。
    …/common/ideas
  2. ideasフォルダの中に国別のファイルを作成する。
    …/common/ideas/sarawak.txt
    ※追加する国家名などで大丈夫です。
    ※他のファイルをコピーして編集しても大丈夫ですが、内容が被るとエラーになるので注意して下さい。
  3. ファイルを編集する。

まずは下記をご覧下さい。

一番上の行に記述されているideasの波括弧の中に複数の項目がありますが、国民精神ならcountry、戦車設計社ならtank_manufacturerの中にそれぞれ記述していきます。また設計社には「designer = yes」の記述が必要です。

ideas = {
	
	# 国民精神
	country = {
	}
	
	# 戦車設計社
	tank_manufacturer = {
		designer = yes
	}
	
	# 艦船設計社
	naval_manufacturer = {
		designer = yes
	}
	
	# 航空機設計社
	aircraft_manufacturer = {
		designer = yes
	}
	
	# 軍需品設計社
	materiel_manufacturer = {
		designer = yes
	}
	
	# 工業会社
	industrial_concern = {
	}
	
}

国民精神ファイルへの追加

それではサンプルとして戦車設計社を追加します。

※画像は事前に定義されているオリジナルファイルを使用します。

ゲームオリジナルの画像ファイルは非常にたくさんの種類が用意されています。
これらはgfxフォルダ内に配置されており、ゲーム内で使用するためにinterfaceファイルに定義されています。
もしこれらの画像ファイルを使用したい場合は、interfaceファイルを画像ファイル名で検索すると良いでしょう。
※運営者が使用しているサクラエディタでは「Grep」という機能で簡単に検索することが出来ます。
ideas = {
	
	# 国民精神
	country = {
	}
	
	# 戦車設計社
	tank_manufacturer = {
		
		designer = yes
		
		SAR_Sarawak_Government_Railway = {
			name = "Sarawak Government Railway"			# 名前
			picture = generic_tank_manufacturer_2		# 画像
			allowed = {
				original_tag = SAR						# 国家タグ
			}
			research_bonus = {							# 研究ボーナス
				armor = 0.05
			}
			equipment_bonus = {							# 装備品ボーナス
				light_tank_chassis_0 = {
					build_cost_ic = -0.1
					instant = yes
				}
			}
			modifier = {								# 補正効果
			}
			traits = { fast_tank_manufacturer }			# 特性ID
			cost = 100									# 必要政治力
			removal_cost = -1							# 削除に必要な政治力
			ai_will_do = {								# AIの優先度
				factor = 1
			}
		}
		
	}
項目 設定値 コメント
name XXXX 設計社の名前です。
※今回は直接記述する方法を紹介しますが、localisationファイルに定義する方法もあります。
その場合は国民精神用のlocalisationファイルを作成し、その定義を呼び出すように記述します。
picture XXXX interfaceファイルに定義した画像を呼び出します。
※サンプルでは下記に定義されている汎用の画像を引用しています。
※…/interface/ideas.gfx
allowed XXXX 有効となる条件
※サンプルでは国家タグがSARである国家で有効になります。
research_bonus XXXX 研究に対するボーナス効果
※サンプルでは戦車全体の研究に5%のボーナスを付与しています
equipment_bonus XXXX 装備品に対するボーナス効果
※サンプルでは戦間期型軽戦車車台の生産コストを10%下げています。
装備品はたくさんの種類があるので以下のテクノロジーファイルを参考にしてください
※…/common/technologies
modifier XXXX 有効になる補正効果
※非常にたくさんの種類があるので他のファイルを参考にして下さい。
traits 特性ID 設計社の特性
※非常にたくさんの種類があるので以下のファイルを参考にして下さい。
…/common/Hearts of Iron IV/common/country_leader/00_traits.txt
…/localisation/japanese/traits_l_japanese.yml
cost 数値 必要な政治力
removal_cost 数値 削除に必要な政治力※-1で削除不可
ai_will_do 数値 AIの優先度

設計社は国民精神ファイルへの記述だけで追加できます。

それではゲームを起動して確認しましょう。

以下のように追加されていれば成功です。

国民精神の追加

国家が所有するバフやデバフ、特別な制限などを国民精神と言います。国民精神はゲーム開始時から所有している場合や、国家方針やイベントなどで付与される場合があります。ドイツの「メフォ手形」やアメリカの「自由の故郷」などが分かりやすいでしょうか。

今回は以下のようにゲーム開始時に所有するように国民精神を追加します。

国民精神ファイルへの追加

まずは国民精神ファイルを開きましょう。設計者と同様の方法で追加します。

  1. ideasフォルダ内の国民精神ファイルを開く。
    …/common/ideas/sarawak.txt
  2. ファイルを編集する。

戦車設計社はtank_manufacturerの中に記述しましたが、国民精神はcountryの中に記述します。

※画像は事前に定義されているオリジナルファイルを使用します。

ideas = {
	
	# 国民精神
	country = {
		
		SAR_more_stability = {
			picture = generic_morale_bonus				# 画像
			allowed = {									# 有効となる条件
				original_tag = SAR
			}
			allowed_civil_war = {						# 内戦時に有効となるか
				always = yes
			}
			available = {								# 効果が有効となる条件
			}
			research_bonus = {							# 研究ボーナス
			}
			equipment_bonus = {							# 装備品ボーナス
			}
			removal_cost = -1							# 削除に必要な政治力
			modifier = {								# 補正効果
				stability_factor = 0.05
			}
		}
		
	}
項目 設定値 コメント
picture XXXX interfaceファイルに定義した画像を呼び出します。
※サンプルでは下記に定義されている汎用の画像を引用しています。
※…/interface/ideas.gfx
allowed XXXX 有効となる条件
※サンプルでは国家タグがSARである国家で有効になります。
allowed_civil_war XXXX 内戦が発生した際に有効となる条件
※サンプルでは常に有効にしています。
available XXXX 効果が有効となる条件
※国民精神が表示されていても条件を満たしていなければグレーアウトされて効果が発揮されなくなる
research_bonus XXXX 研究に対するボーナス効果
※サンプルでは戦車全体の研究に5%のボーナスを付与しています
equipment_bonus XXXX 装備品に対するボーナス効果
装備品はたくさんの種類があるので以下のテクノロジーファイルを参考にしてください
※…/common/technologies
modifier XXXX 有効になる補正効果
※サンプルでは安定度を+5%付与しています。
※非常にたくさんの種類があるので他のファイルを参考にして下さい。
removal_cost 数値 削除に必要な政治力※-1で削除不可

名前と説明の設定

localisationファイルに国民精神の名前と説明を追加しましょう。

  1. japaneseフォルダの中にファイルを作成する。
    …/localisation/japanese/SAR_ideas_l_japanese.yml
    ※XXXX_ideas_l_japanese.ymlなど。
  2. ファイルを編集する。
l_japanese:
SAR_more_stability:0 "安定的な政権"
SAR_more_stability_desc:0 "白人藩王の穏健的な政治によって被支配者層との人種的な歪みを上手く隠している。"

国家ファイルへの追加

最後に国家ファイルに記述して国民精神を追加しましょう。

  1. historyフォルダ内の国家ファイルを開く。
    /history/countries/SAR – sawarak.txt
  2. ファイルを編集する。

国民精神は「add_ideas」で追加できます。

# 国民精神
add_ideas = SAR_more_stability

それではゲームを起動して確認しましょう。

以下のように追加されていれば成功です。

 

最後に

今回の解説はこれで終了です。

追加した指揮官や閣僚がゲーム内で登場すると没入感が一気に増しますね。