附庸系统不同变种在/Hearts of Iron IV/common/autonomous_states/*.txt路径下定义,允许自定义新变种。
参数
- id 是附庸状态的键值,不能重复。所有附庸状态的键值均不可和另一附庸状态的键值重复。
- default: 如果为真,则游戏将尝试使和平谈判中的 '傀儡' 选项以及 '傀儡' 效果在其他默认附庸状态中使用此附庸状态。默认状态下为 no。
- is_puppet 用来检测该国是否是傀儡国。若需要该国为傀儡国,则
is_puppet
或者is_puppet_of
条件将会返还真值。默认状态下为 no。 - use_overlord_color 使附庸国使用和宗主国相同的颜色。
- min_freedom_level 决定了自治领的等级。当游戏使自治领作为一个降级或升级时的主体时,级别较低的自治领的自治程度,比级别较高的自治领的自治程度低。这同样也决定了主体提升或降低等级所需的多少自治点数,即等级间的差值乘以5000. 如前所述,吞并一个
min_freedom_level
为0.1的自治领需要花费500点数。 - manpower_influence附庸国人力要求,决定了宗主国的殖民地军队中能使用多大比例的殖民地人力。 需要共赴胜利 DLC.
- rule 给主体设定“是”或“否”的游戏规则
游戏规则列表 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
以下游戏规则作为可选择选项:
|
- modifier :给附庸国添加修正所有国家修正均可以应用。
- ai_subject_wants_higher :决定了ai国家是否专注于获得更高的自治程度。如果设置为0,AI永远不会在自治度系统中提升自治等级。
- ai_overlord_wants_lower :决定了AI宗主国是否专注于降低附庸国的自治等级。如果设置为0,AI永远不会在自治度系统中降低自治等级。
- ai_overlord_wants_garrison: 决定了AI宗主国是否愿意像卫戍自己的领土一样给附庸国的领土派遣卫戍部队
- allowed: 所对应主体必须满足必要的触发条件,以使游戏中的自治状态生效。可以使用 OVERLORD 作用域来作用于 overlord(宗主国)。
- use_for_peace_conference_weight :决定了潜在的宗主国在和平谈判中附庸某国家的机会。此处ROOT是附庸国,FROM是宗主国。
- can_take_level :决定了附庸国能够在自治度系统中提升等级所必须满足的条件。
- can_lose_level :决定了只有附庸国满足了一些条件,宗主国才能够在自治度系统中降低附庸国等级。
- peace_conference_initial_freedom :是和平会议后给自治领设定的初始自治等级,其范围是0到1。如果不特别指明,则设定为0.5。
- allowed_levels_filter :决定一个自治领能到达哪些自治等级。如果不特别指明,所有的等级都是可以的。
图标
Sprite系统概述 |
---|
游戏使用Sprite类代码加载图形文件(如.GFX)。Sprite是指那些将名称附加到图像文件的定义类代码,同时还可以选择性地添加额外的信息,例如动画、帧数、图像的加载方式等等。综上所述,仅仅将所使用的图像文件放入gfx文件夹中是不够的,还必须有图像对应的sprite代码来调用它。
Sprite类代码可在任意/Hearts of Iron IV/interface/*.gfx文件中进行定义(这与/Hearts of Iron IV/gfx/interface/是不同的), 并可以通过文本编辑器打开。若要建一个新的 spriteTypes = { spriteType = { name = GFX_first_sprite # In some cases, beginning with GFX_ is mandatory for it to work. texturefile = gfx/interface/folder/filename.dds # The folder and filename don't matter, as long as they are correct } # Only the forward slash '/' (can be doubled as '//') can be used to separate folders. spriteType = { # The image doesn't have to be .dds, as .tga and .png are acceptable. name = GFX_second_sprite texturefile = gfx/interface/folder2/filename2.dds noOfFrames = 2 # Splits the image into 2 halves, which may be switched between dynamically in GUI } } 在这种情况下,系统会生成一个名为 若想添加动画效果,需要使用frameAnimatedSpriteType 如需对sprite类文件小改不必复制原版游戏文件。倘若因相同名字的sprite在不同文件中导致了重复定义,游戏将会根据文件名称优先调用后面被定义的Sprite,旧定义会被无视。可以通过重命名文件以ASCII表靠后的字符开头来确保正确调用新的自定义内容,通常情况下使用小写字母“z”开头来实现这一点。例:要将 由于大多数 .gfx 文件定义了用户界面的关键部分,复制它们可能会导致模组在游戏大更新后缺失新版本的sprite类代码,进而显示为错误图像,通常是“错误小狗”的图标。除非在某些迫不得已的时候,(例:添加的文件可能会对模组功能造成损害,如/Hearts of Iron IV/interface/subuniticons.gfx)为了减少检查文件的麻烦,尽可能不要复制 |
游戏将使用格式为GFX_<autonomy state>_icon
的sprite类作为图标。包含此类定义的一个 /Hearts of Iron IV/interface/*.gfx 文件可能是这样的:
spriteTypes = { spriteType = { name = "GFX_autonomy_mod_new_icon" textureFile = "gfx/interface/autonomy/autonomy_mod_new_icon.dds" } spriteType = { name = "GFX_example_icon" texturefile = "another_folder/image_name.dds" } }
本地化
本地化文件位置在/Hearts of Iron IV/localisation/ 文件夹的 .yml
文件中。对前面的例子autonomy_mod_new
而言,文件本地化样式大概是 autonomy_mod_new:0 "Mod's new autonomy state"
我们可以设置关于一个特定国家的项目,如GER_autonomy_mod_new:0 "New mod Germany"
将使德国的名字在其自治水平为 autonomy_mod_new
时变成它。相似的,ENG_FRA_autonomy_mod_new:0 "New mod French UK"
会使不列颠在其宗主国为法国且在自治状态为 autonomy_mod_new
时拥有这个名字。
代码示例
autonomy_state = { id = autonomy_example default = yes #Will be a possible option for peace deals is_puppet = yes use_overlord_color = yes min_freedom_level = 0.2 #Puts it as 0.2 on the autonomy level scale, which is the same as an integrated puppet. peace_conference_initial_freedom = 0.9 #Close to independence manpower_influence = 0.9 rule = { can_not_declare_war = yes can_decline_call_to_war = no units_deployed_to_overlord = yes can_be_spymaster = no contributes_operatives = no can_create_collaboration_government = no } modifier = { autonomy_manpower_share = 1.0 can_master_build_for_us = 1 extra_trade_to_overlord_factor = 1.0 overlord_trade_cost_factor = -0.9 cic_to_overlord_factor = 0.75 mic_to_overlord_factor = 0.75 research_sharing_per_country_bonus_factor = -0.5 } ai_subject_wants_higher = { factor = 0.0 } ai_overlord_wants_lower = { factor = 0.0 } allowed = { has_dlc = "Together for Victory" OVERLORD = { tag = FRA } } allowed_levels_filter = { autonomy_example autonomy_example_1 autonomy_example_2 } use_for_peace_conference_weight = { base = 0 modifier = { add = 10 FROM = { has_wargoal_against = { target = ROOT type = puppet_wargoal_focus } } # Adds 10 to the chance if the overlord has a wargoal to puppet the country. } modifier = { factor = 2 tag = ENG # Multiplies the chance by 2 if the subject is UK. } } can_take_level = { OVERLORD = { NOT = { controls_state = 123 } # If the overlord does not control state 123, the subject can gain a level. } } can_lose_level = { OVERLORD = { controls_state = 123 } # If the overlord controls state 123, it can decrease the subject's autonomy level. } }
相关定义
一些定义通过特殊的方式影响自治领系统,它们是:
- RESOURCE_SENT_AUTONOMY_DAILY_BASE这是宗主国购买资源时自治领获得的基础独立倾向增长。
- RESOURCE_SENT_AUTONOMY_DAILY_FACTOR 这是宗主国购买资源时自治领获得的独立增益因子。(用于调整自治增长速度)
- WAR_SCORE_AUTONOMY_BASE 自治领在战争中获得战争积分所带来的基础独立倾向增长。
- WAR_SCORE_AUTONOMY_FACTOR 自治领在战争中获得战争积分所带来的独立增益因子。(用于调整其自治增长速度)
- LL_TO_OVERLORD_AUTONOMY_DAILY_BASE 自治领向宗主国起草租借法案所获得的基础独立倾向增益。
- LL_TO_OVERLORD_AUTONOMY_DAILY_FACTOR 自治领向宗主国起草租借法案的独立增益因子。(用于调整自治增长速度)
- LL_TO_PUPPET_AUTONOMY_DAILY_BASE 宗主国向自治领起草租借法案所获得的基础独立倾向压制。(基础独立压制必须为负值才能减少自治增长)
- LL_TO_PUPPET_AUTONOMY_DAILY_BASE 宗主国向自治领起草租借法案所获得的独立压制因子。(基础独立压制必须为负值才能减少自治增长)
- AUTONOMY_FREEDOM_FROM_CAPITULATE 在宗主国投降后,自治领的独立倾向将大幅上升。
- ATTACHE_TO_SUBJECT_EFFECT 宗主国向自治领派遣军事顾问所获得的基础独立倾向压制。(基础独立倾向压制必须为负值才能减少自治增长)
- ATTACHE_TO_OVERLORD_EFFECT宗主国向自治领派遣军事顾问所获得的独立压制因子。(基础独立倾向压制必须为负值才能减少自治增长)
- AUTONOMY_LEVEL_CHANGE_PP_COST_BASE 在不同自治状态下进行转换所需要的政治点数。
- AUTONOMY_LEVEL_CHANGE_PP_ANNEX宗主国吞并半吞并傀儡国所需要花费的政治点数。
- AUTONOMY_LEVEL_CHANGE_PP_FREE 作为附庸获得独立所需要的政治点数。
- MAX_SCORE_DIFF_TO_CHANGE_AUTONOMY 自治领当前独立点数与升级或降级点数的最大差值。
- MASTER_BUILD_AUTONOMY_FACTOR 宗主国向自治领进行援建所获得的独立倾向压制因子。(基础独立倾向压制必须为负值才能减少自治增长)
- AUTONOMOUS_TOTAL_SCORE 自治领国家被吞并与独立间的总自治点数。
- AUTONOMOUS_SPILLOVER 各自治等级间可保存的自治点数上限。
额外说明
在对国家历史文件中的自治等级进行设置时,可能会使对应国家的政党受支持度和当前执政党等数据遭到覆盖后丢失。以防万一,建议将作用域(scope)设置为宗主国,如
TAG = { if = { limit = { has_dlc = "Together for Victory" } set_autonomy = { target = TAG2 autonomy_state = autonomy_mod_new } } else = { puppet = TAG2 } }
在自治领的历史文件中,也可以将其放在定义执政党和对应支持度之前。另一种方法是可以更改 /Hearts of Iron IV/common/country_tags/中标签的顺序,使得宗主国在自治领之前被定义。
若决定创建一个类似于日本独特自治的新自治系统,则需要禁用默认的自治省份,以防新系统下的自治领中出现调用allowed = {}
或allowed_levels_filter = {}
的情况。如果选择第二个选项,需注意的是仍需禁用默认的自治省份,以确保它们在新建傀儡国家时不出现。
新的自治等级应当只能通过 set_autonomy
效果手动分配,那么可以这样设置允许状态,使用 ID 为 autonomy_my_state
的自治领:
allowed = { OR = { is_subject = no has_autonomy_state = autonomy_my_state } }
通过对自治等级进行升降级改动是无法实现目标国际自治状态的,因为若目标国家具有其他自治状态,则allowed
将为假。这确保只要目标国家在被命令执行时是独立的,就可以安全执行set_autonomy
,并且一旦被赋予该自治状态,该状态在存在时不会被清除。
在创建自治系统时,避免两个不同的省份具有相同的min_freedom_level。
文件 | 效果 • 条件 • 定义 • 修正 • 修正列表 • 作用域 • 本地化 • on action • 数据结构 (标记, 临时标记, 国家别名, 变量, 数组) |
脚本 | 成就修改 • AI修改 • AI focuses • 自治领修改 • 权力平衡修改 • 剧本/标签 (游戏规则)• 建筑修改 • 人物修改 • 修饰性TAG修改 • 国家创建 • 军队修改 • 决议制作 • 装备修改 • 事件修改 • Idea修改 • 意识形态修改 • 军工商修改 • 国策制作 • 资源修改 • Scripted GUI • 科技制作 • 单位修改 |
地图 | 地图 • 省份 • 补给区域 • 战略区域 |
图形图像 | 界面 • 图形资产 • 实体模型 • 后期特效 • 离子效果 • 字体 |
装饰性 | 肖像 • 命名列表 • 音乐 • 音效 |
其他 | 控制台指令 • 故障排除 • 模组结构 • 成就代码分析 • Mod相关 • Nudger修改 |