國策模改

本頁面所適用的版本可能已經過時,最後更新於1.8

國策的定義在/Hearts of Iron IV/common/national_focus/*.txt

國策

單個國策被捆綁於國策樹上。

屬性

id

(變量類型: 字符串string) 國策的獨一無二的標識符。

文本id(text)

(變量類型: 字符串string, 默認: id) 一個可替換的文本標識符。這允許多個國策使用同一個名稱和描述。

動態(dynamic)

(變量類型: 布爾boolean, 默認: no) 如果為真,本地化的字符串可以包括占位符,例如可以允許國策名字根據意識形態改變。

花費時間(cost)

(變量類型: number (three decimal places precision), 默認: 0) 國策將要花費多長時間(乘以7天)。

允許國策支(allow_branch)

(變量類型: AND trigger, 默認: { }) 如果這個trigger非空,它就可以專有地決定一個國策是否可用。如果這個trigger為假,這個國策及其依賴項都不可用且不可見。

前提條件(prerequisite)

定義一系列作為該國策前提條件的國策(至少一個)。前提國策的id可以由focusOR給出。可以出現多次,在這種情況下每一個prerequisite都需要滿足。例如:

prerequisite = { focus = GER_kdf_wagen OR = GER_synthetic_rubber }
prerequisite = { focus = GER_important_focus }

在上面的例子中,GER_kdf_wagenGER_synthetic_rubber中的一個完成了,就是滿足了國策的第一個前提條件,但是GER_important_focus也需要完成。第一行也可以等效地寫成prerequisite = { focus = GER_kdf_wagen focus = GER_synthetic_rubber }.

互斥(mutually_exclusive)

定義一系列國策,每個國策都和該國策互斥。語法規則和prerequisites相同。可以出現多次,以使該國策與其他多個國策互斥。

可用(available)

(變量類型: AND trigger, 默認: { }) 當allow_branch不存在時,若這個trigger為假,國策將不可用。

投降後可用(available_if_capitulated)

(變量類型: 布爾boolean, 默認: no) 如果為假,這個國策對已投降的國家將不可用,如果國策正在進行,國家投降時國策將會取消。

可取消(cancelable)

(變量類型: 布爾boolean, 默認: yes) 如果為假,國策將不能手動取消。

取消(cancel)

(變量類型: AND trigger, 默認: { }) 當國策進行中而取消觸發器變為真時,國策將會取消。與普通的AND觸發器不同,一個空的取消觸發器被視為假。

無效時取消(cancel_if_invalid)

(變量類型: 布爾boolean, 默認: yes) 如果為真,當available變為假時正在進行的國策會被取消。

無效時繼續(continue_if_invalid)

(變量類型: 布爾boolean, 默認: no) 如果為真,cancelcancel_if_invalid會被忽略

開始效果(select_effect)

(變量類型: effect) 當國策被選中開始時,效果將會實施。

完成獎勵(completion_reward)

(變量類型: effect) 當國策完成時,效果將會實施。

完成提示(complete_tooltip)

(變量類型: effect) 國策的完成提示將會顯示這裡面的效果而不是真正的完成獎勵completion_reward

跳過(bypass)

(變量類型: AND trigger, 默認: { }) 當跳過觸發器為真時,任意當前正在進行中或者可用的國策都會跳過。與普通的AND觸發器不同,一個空的跳過觸發器被視為假。Bypassing ignores the available trigger. 當一個國策有互斥選項時,玩家需要手動選擇跳過。otherwise the bypass happens automatically as soon as the conditions are fulfilled.

圖標(icon)

(變量類型: 字符串string) 圖形圖標名,一般是在/Hearts of Iron IV/interface/goals.gfx中定義。

x坐標(x)

(變量類型: 整數integer, 默認: 0) 國策的水平坐標,網格行。

y坐標(y)

(變量類型: 整數integer, 默認: 0) 國策的垂直坐標,網格列。

坐標移動(offset)

一個對xy坐標屬性的額外轉換,以一個觸發器為條件。xy坐標屬性是整數integers,其中的觸發器是一個AND觸發器。例子如下:

offset = {
	x = -1
	y = 0
	trigger = {
		NOT = { has_dlc = "Man the Guns" }
	}
}

相對位置id(relative_position_id)

(變量類型: 字符串string) 此國策的圖形坐標將相對於參考原點國策的位置生成。通常來說參考原點國策會是該國策的前置國策,這樣就可以做到移動根國策就可以移動整棵國策樹。在編輯國策樹時推薦使用相對位置。代碼樣例如下:

focus = {
	id = root_focus
	x = 2
	y = 0
}
focus = {
	id = branch_focus
	relative_position_id = root_focus
	x = -1
	y = 1
}

在這種情況下,root_focus的坐標為(2,0),而branch_focus的實際坐標為(1,1),可以通過移動root_focus來一起移動其後的整個國策樹。

historical

(變量類型: 布爾boolean, 默認: no) 從未使用

歷史AI(historical_ai)

(變量類型: AND trigger, 默認: { }) 如果歷史AI國策是開啟狀態,AI只會當這個觸發器為真時才會選擇這個國策。

is_historical_focus_on

(變量類型: 布爾boolean, 默認: no) 當歷史AI國策為啟用時,這個布爾值為真。 使用例:

ai_will_do = {
        modifier = {
	        factor = 0
	        is_historical_focus_on = yes
	        date < 1145.1.4
        }
}

AI意願(ai_will_do)

(變量類型: MTTH, 默認: { base = 1 }) 定義AI選擇這個國策的可能性。The value is further modified by +50% if the focus is not at the root of a branch, proportionately reduced if a mutually exclusive choice, as well as multiplied by any focus_factors in AI strategy plans. For each available focus, the AI generates a random number between 0 and the calculated value. It chooses the focus with the highest resulting number.

For example if two focuses are available with calculated values of 1.5 and 3 respectively, the former has a chance of 1-in-6 to be picked and the latter 5-in-6.

導致與某國的戰爭(will_lead_to_war_with)

(變量類型: country tag) 當該國策進行時,這個國家會收到提示警告,告知本國正在被正當化戰爭藉口。可以出現多次。

本地化(Localization)

國策的本地化鍵值以國策的id(或文本id)作為前綴。例如,有一個國策id = XYZ,那麼本地化鍵值應該為:

  • XYZ:名稱
  • XYZ_desc:描述

國策樹

每一個國家都有一個包括許多國策的國策樹。並且還可以加入持續性國策和共享國策。

屬性

id

(變量類型: 字符串string) 國策樹的獨一無二的標識符。

國家(country)

(變量類型: MTTH, 默認: { base = 1 })國家(tag)適用這個國策的分數。一個國家會使用相應分值最高的國策樹。為了把國策樹給到相應國家上,這個值應該高於默認的0,為目標國家添加一個較高的修正值。

默認(default)

(變量類型: 布爾boolean, 默認 no) 如果為yes,這個國策樹會給所有沒有比0更高的分值的國策樹的國家。只有一個國策樹應該設為默認,在原版遊戲中是generic_focus。

在內戰中重設(reset_on_civil_war)

(變量類型: 布爾boolean, 默認: yes) 如果為no,當內戰中新出現的國家獲得相同的國策樹時,它會自動繼承原國家的所有國策進度。否則,內戰出現的國家會從頭開始進行國策。

持續性國策位置(continuous_focus_position)

(變量類型: point, 默認: { x = 0, y = 0 }) 持續性國策面板的視覺位置。

國策(focus)

(變量類型: national focus) 以上文中所說的方式定義和添加一個國策。可以出現多次。

共享國策(shared_focus)

(變量類型: 字符串string) 使得該國策及它的依賴項可以被植入其他國策樹。可以出現多次。一個共享國策必須在任何國策樹之外用shared_focus定義,否則它的含義和普通國策相同。

例子

shared_focus = {
    id = shared_1
    x = 10
    offset = {
        x = 10
        trigger = {
            tag = LIT
        }
    }
    completion_reward = {
        army_experience = 10
    }
}
focus_tree = {
    id = lithuania_focus
    country = {
        base = 0
        modifier = {
            add = 10
            tag = LIT
        }
    }
    shared_focus = shared_1

    focus = {
        id = LIT_focus_1
        x = 10
        completion_reward = {
            navy_experience = 10
        }
    }
    focus = {
        id = LIT_focus_2
        prerequisite = { focus = LIT_focus_1 }
        relative_position_id = LIT_focus_1
        y = 10
        completion_reward = {
            navy_experience = 10
        }
    }
}
focus_tree = {
    id = basic_focus
    country = {
        base = 1
    }
    shared_focus = shared_1
}