如何评价钢铁雄心4新dlc众神的黄昏(Götterdämmerung)?
太长不看版:自动国策不是国策功能核心上的变动,而是纯粹的ui上的技巧。
冷知识:Hearts of Iron IV\events\WUW_Germany.txt文件现在是整个events文件夹里面else_if最多的事件文件。
简单来说,并不存在自动国策,p社仅仅提供了一个ui上的假象activate_shine_on_focus和has_shine_effect_on_focus效果,以及complete_national_focus 下面的use_side_message = yes(显示消息框)originator_name = XXX(假装由谁完成)。
核心圈子的第一个国策被点完后,会开启一个巨大的flag相关隐藏事件,从而在确定的时间点回收flag,并完成国策。
以下是Todt的核心圈子国策关联的隐藏事件。
country_event = {
id = GER_inner_circle_todt.01
hidden = yes
is_triggered_only = yes
trigger = {
has_completed_focus = GER_ascension_of_todt
OR = {
check_variable = { GER_ascended_advisor_1 = 1 }
check_variable = { GER_ascended_advisor_2 = 1 }
check_variable = { GER_ascended_advisor_3 = 1 }
}
}
immediate = {
if = {
limit = {
NOT = { has_completed_focus = GER_form_organization_todt }
}
activate_shine_on_focus = GER_form_organization_todt
set_country_flag = { flag = GER_form_organization_todt_in_progress_flag days = @inner_circle_time_tier_1_flag value = 1 }
country_event = { id = GER_inner_circle_todt.02 days = @inner_circle_time_tier_1 }
}
else_if = {
limit = {
NOT = { has_completed_focus = GER_autonomous_organization_todt }
NOT = { check_variable = { GER_industrialist_prevailed = 2 } } #Speer Prevailed in the Industrialist Intrigue
NOT = { check_variable = { GER_industrialist_prevailed = 3 } } #Göring Prevailed in the Industrialist Intrigue
}
activate_shine_on_focus = GER_autonomous_organization_todt
set_country_flag = { flag = GER_autonomous_organization_todt_in_progress_flag days = @inner_circle_time_tier_2_flag value = 1 }
country_event = { id = GER_inner_circle_todt.02 days = @inner_circle_time_tier_2 }
}
else_if = {
limit = {
NOT = { has_completed_focus = GER_wunderwaffe }
NOT = { has_shine_effect_on_focus = GER_wunderwaffe } #Speer is working on this already
NOT = { check_variable = { GER_industrialist_prevailed = 2 } } #Speer Prevailed in the Industrialist Intrigue
NOT = { check_variable = { GER_industrialist_prevailed = 3 } } #Göring Prevailed in the Industrialist Intrigue
}
activate_shine_on_focus = GER_wunderwaffe
set_country_flag = { flag = GER_wunderwaffe_in_progress_flag days = @inner_circle_time_tier_3_flag value = 1 }
country_event = { id = GER_inner_circle_todt.02 days = @inner_circle_time_tier_3 }
set_variable = { GER_wonder_weapons_focus_advisor = 1 }
}
else = { #Debug logs
#log = "SOMETHING WENT WRONG WITH TODT's FOCUS BRANCH - Cannot start new focus"
}
}
}
# TODT - Complete Focus
country_event = {
id = GER_inner_circle_todt.02
hidden = yes
is_triggered_only = yes
trigger = {
has_completed_focus = GER_ascension_of_todt
OR = {
check_variable = { GER_ascended_advisor_1 = 1 }
check_variable = { GER_ascended_advisor_2 = 1 }
check_variable = { GER_ascended_advisor_3 = 1 }
}
}
immediate = {
if = {
limit = {
has_shine_effect_on_focus = GER_form_organization_todt
}
complete_national_focus = {
focus = GER_form_organization_todt
use_side_message = yes
originator_name = GER_fritz_todt
}
clr_country_flag = GER_form_organization_todt_in_progress_flag
country_event = { id = GER_inner_circle_todt.01 days = GER_inner_circle_days_to_start_focus random_days = GER_inner_circle_random_days }
}
else_if = {
limit = {
has_shine_effect_on_focus = GER_autonomous_organization_todt
}
complete_national_focus = {
focus = GER_autonomous_organization_todt
use_side_message = yes
originator_name = GER_fritz_todt
}
clr_country_flag = GER_autonomous_organization_todt_in_progress_flag
country_event = { id = GER_inner_circle_todt.01 days = GER_inner_circle_days_to_start_focus random_days = GER_inner_circle_random_days }
}
else_if = {
limit = {
has_shine_effect_on_focus = GER_wunderwaffe
check_variable = { GER_wonder_weapons_focus_advisor = 1 } #It is Todt working on it
}
complete_national_focus = {
focus = GER_wunderwaffe
use_side_message = yes
originator_name = GER_fritz_todt
}
clr_country_flag = GER_wunderwaffe_in_progress_flag
}
else = { #Debug logs
#log = "SOMETHING WENT WRONG WITH TODT's FOCUS BRANCH - Cannot complete focus"
}
}
}
注意这里只是完成四个自动国策,其他每一个人的情况都是一样的。都有一个事件来判断自己是在进行国策1,else_if国策2,else_if国策3,else_if国策4。
按照p社的实现方法如果你要写一个更加巨大的国策树中的自动国策,除非和p社一样截短会触发自动国策的国策树分支长度(p社自动国策的每个分支长度实际上只有4个国策),并且这个方法也无法处理你自己想要点这个国策的情况(核心圈子国策会被锁住以防止可能的冲突,当然实际上也许可以用更复杂的方法绕过去,比如国策完成时取消相关flag并设置新的自动国策flag)。
当然啦,这个确实也适合用与一些小一些自动国策情况。
也许下一个dlc真的就能看到军部主动点一个进攻法属印支的国策了呢。