0からのHOI4 ModdingドリルPart.3.5

< part.3 part.4 >


NFの細かい設定

ここではNFに関連した詳細な設定について解説します。


目次

1.1.NFの位置_絶対座標

1.2.NFの位置_相対座標

2. 大粛清からNFのオプションを学ぶ

2.1.大粛清で使われていないオプション

2.2.NFの進捗を条件としたいとき


NFのオプションについてはParadox wikiのNational Focus moddingが詳しいです。


1.1.NFの位置_絶対座標

NFの位置の左上原点で、右向きにx、下向きにy軸となっています。

NFの位置はx, y に数値を入れることで指定します。

次の相対座標を使わない場合(?)には、マイナスの値も指定することが可能です。

ただし、yが0でxを0以下にすると左上の飾りにかぶり、しかもFocusTreeManager(FTM)上でx=0,y=0のNFともかぶります。

したがってマイナスの値は基本的に使わないほうがよいでしょう。


1.2.NFの位置_相対座標

相対座標:指定したNFからの距離で、NFの位置を指定可能


# 根(原点となるTtV版インドのNF)
focus = {
id = RAJ_provincial_elections
icon = GFX_goal_generic_forceful_treaty
x = 6
y = 0
(中略)

# 相対座標で位置を決めるNF
focus = {
id = RAJ_swaraj
icon = GFX_goal_generic_political_pressure
prerequisite = { focus = RAJ_provincial_elections }
mutually_exclusive = { focus = RAJ_indian_national_congress }
x = -1
y = 1
relative_position_id = RAJ_provincial_elections # ここで元の位置となるNFを指定
(以下略)



x = -1, y = 1 なので、元のNFから左に1つ、下に1つの位置になります。

FTMでは相対位置の関係にある[ALT]キー長押しで確認できます。

縦線は見えないことがありますが、公式のNFはほぼすべて相対位置で管理しているようです。

NFの位置で値が小さいときは相対位置と思ってよいでしょう。


2.大粛清からNFのオプションを学ぶ


大粛清を例にして、はじめからcompletion_reward の冒頭までを見てみます。


available = {
    NOT = {
        has_country_flag = counter_purge
      }
    has_government = communism
  }
ai_will_do = {
    factor = 10
    modifier = {
        factor = 0
        any_claim = yes
        has_war = yes
      }
  }
bypass = {
    custom_trigger_tooltip = {
        tooltip = SOV_great_purge_bypass_tt
        has_country_flag = counter_purge
      }
  }
select_effect = {
    country_event = {
        id = soviet.24
        days = 1
      }
    set_country_flag = SOV_purge_started
  }
completion_reward = {
    custom_effect_tooltip = SOV_great_purge_tt
     
(以下略)


前回と重複する内容もありますが、順に説明します。


available はNFが実行可能となる条件です。

ai_will_do はAIが選択する度合いとなっており、modifierブロック内の条件を満たすと、factor(=10)が0されます。

bypass は条件を満たすとNFが(途中であっても)スキップされます。スキップされるとNFは完了した扱いとなり、completion_reward は実行されません

select_effect は滅多に見かけませんが、NFを開始したときにエフェクトが実行されるブロックです。


tooltip 関連: (NF以外でも使用できます)

custom_trigger_tooltip はトリガーブロックに任意の文を表示させることができます。

custom_effect_tooltip はエフェクトブロックに…。

文法も若干異なるので注意してください。 

右辺の文字列(SOV_great_purge_xxx_tt)はユーザーが任意に決めることができます。

その後はlocalisation に表示させたい文を用意してください。


2.1.大粛清で使われていないオプション

complete_tooltip について

complete_tooltip = {
  <エフェクトor[custom_effect_tooltip]>
}

のように使用します。completion_reward が一意に決まらないときや、任意の文を使用するときに使います。

また、completion_reward の中身をそのままコピペしておくと、完了後もNFの効果が閲覧できる(?)模様です。


cancel_if_invalid = yes 

available を満たさないときにNFをキャンセルするか?というオプションです。

この文を書かなくてもデフォルトでyesとなっています。逆にキャンセルしたくないときは

cancel_if_invalid = no

とすればよいです。


continue_if_invalid = no

available を満たさないときにNFを継続するか?でしょうか(?)。前の逆なだけな気がします…


available_if_capitulated = yes

降伏した状態で実行できるか?を決めます。デフォルトではyesとなっています。


will_lead_to_war_with = <tag>

他国に戦争目標を作成するNFで使用します。関係各国にアラートが届き、AIは戦争の準備を行います。



2.2.NFの進捗を条件としたいとき

大粛清といえば途中で発生するイベントですよね。

NFの進行状況を参照するにはfocus_progress コンディションを使用します。

focus_progress = {
  focus = <my_focus>
  progress > 0.5
}


<my_focus>の部分は置き換えてください。


あとはイベントファイルで、

# Great Purge - Trial of the Anti-Soviet Trotskyist Center
country_event = {
	id = soviet.25
	title = soviet.25.t
	desc = soviet.25.d
	picture = GFX_report_event_soviet_purge_trial

	fire_only_once = yes
	
	trigger = {
		tag = SOV
		NOT = { has_completed_focus = SOV_great_purge }
		focus_progress = {
			focus = SOV_great_purge
			progress > 0.25
		}
	}
(以下略)


のように使用することで、NFの進行に合わせてイベントを発生させることができます。


< part.3 part.4 >