如何评价钢铁雄心4新dlc众神的黄昏(Götterdämmerung)?

发布时间:
2024-11-20 18:03
阅读量:
2

太长不看版:自动国策不是国策功能核心上的变动,而是纯粹的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真的就能看到军部主动点一个进攻法属印支的国策了呢。

END