m (文本替换 - 替换“Category:Modding]]”为“Category:模组制作]]”) |
m (文本替换 - 替换“Relevant Dynamic Modding Statements”为“相关的动态修改语句”) |
||
| Line 106: | Line 106: | ||
} | } | ||
== | == 相关的动态修改语句 == | ||
Conditions: | Conditions: | ||
* <code>has_policy_flag = <policy flag key></code> - Checks if the empire has any active policy option with this policy flag. | * <code>has_policy_flag = <policy flag key></code> - Checks if the empire has any active policy option with this policy flag. | ||
Latest revision as of 07:11, 16 March 2022
This page is about how to modify existing and how to create new Policies.
Policies are defined at "common/policies/xxx.txt".
Data Structure[edit | edit source]
- potential - A block of Conditions to determine is an empire able to see this policy. If an empire can't see a policy, it won't have any of its options active. (Country scope)
- allow - A block of Conditions to determine is an empire able to change this policy. Vanilla use this to prevent switching diplomatic stance and war philosophy during a war. (Country scope)
- option - An instance that adds an option to this policy. Multiple allowed. A policy should have at least one valid option for each empire.
- name - A localisation key that determines the name and description of this option.
- icon - A reference to a GFX entry that determines the icon of this option. Only diplomatic stance has this. Other policy options will never have their icons displayed.
- potential & valid - Blocks of Conditions to determine is an empire able to see / choose this option. If either is rendered false while the empire have this option active, the empire will be forced out of it and switched to a valid choice of highest
ai_weight, even for players. (Country scope) - policy_flags = { flag_xxx flag_yyy } - A list of strings to be checked by the condition
has_policy_flag. A policy option without any policy flags can't be checked by Conditions. - modifier - A block of Modifiers that applies to the empire with this option active.
- on_enabled & on_disabled - Blocks of Effects to be executed to the empire when this option is selected / switched out. (Country scope)
- AI_weight - The AI will always choose a option of highest weight for each policy. The player will also have each policy fall into an option of highest
ai_weightby default.
Vanilla Example[edit | edit source]
This is the Diplomatic Stance policy.
diplomatic_stance = {
potential = {
OR = {
is_country_type = default
is_country_type = fallen_empire
is_country_type = awakened_fallen_empire
is_country_type = primitive
is_country_type = awakened_marauders
}
}
option = {
name = "diplo_stance_belligerent"
icon = "GFX_diplomatic_stance_belligerent"
potential = {
OR = {
is_country_type = default
is_country_type = awakened_fallen_empire
}
is_homicidal = no # They have their own variants of this
NOT = { has_valid_civic = civic_inwards_perfection }
}
policy_flags = {
diplo_stance_belligerent
}
modifier = {
country_war_exhaustion_mult = -0.1
country_naval_cap_mult = 0.1
country_claim_influence_cost_mult = -0.1
}
ai_weight = {
weight = 10
modifier = {
factor = 0
NOT = { has_country_flag = has_encountered_other_empire }
}
...
}
}
option = {
name = "diplo_stance_cooperative"
icon = "GFX_diplomatic_stance_cooperative"
potential = {
OR = {
is_country_type = default
is_country_type = awakened_fallen_empire
}
is_unfriendly = no # Not homicidal or barbaric despoilers
NOT = { has_valid_civic = civic_inwards_perfection }
}
policy_flags = {
diplo_stance_cooperative
}
modifier = {
diplo_weight_mult = 0.25
envoy_improve_relations_mult = 0.5
country_border_friction_mult = -0.5
}
ai_weight = {
weight = 10
modifier = {
factor = 0
NOT = { has_country_flag = has_encountered_other_empire }
}
...
}
}
...
}
相关的动态修改语句[edit | edit source]
Conditions:
has_policy_flag = <policy flag key>- Checks if the empire has any active policy option with this policy flag.last_changed_policy = <policy key>- Checks if the last policy the empire has changed was the specified policy. Used for on_action events.
Effects:
# changes an empire's policy
set_policy = {
policy = <policy key>
option = <policy option name>
cooldown = <yes/no> # determines should this effect set a 10-year cooldown of policy change
}
| 帝国 | 帝国 • 思潮 • 政府 • 国民理念 • 起源 • 承诺 • 议程 • 传统 • 飞升天赋 • 法令 • 政策 • 遗珍 • 科技 • 自定义帝国 |
| 人口 | 岗位 • 派系 |
| 领袖 | 领袖 • 领袖特质 |
| 物种 | 物种 • 物种特质 |
| 行星 | 行星 • 行星特征 • 轨道矿藏 • 建筑 • 区划 • 行星决议 |
| 星系 | 星系 • 恒星基地 • 巨型结构 • 虫洞 • 星门 • 地图 |
| 舰队 | 舰队 • 舰船 • 部件 |
| 地面战 | 陆军 • 轰炸姿态 |
| 外交 | 外交 • 联邦 • 星海共同体 • 评价修正 • 宣战理由 • 战争目标 |
| 事件 | 事件 • 异常现象 • 特殊项目 • 考古遗址 |
| 游玩 | 游玩 • 定义 • 研究 • 经济 • 游戏开局 |
| 动态修改 | 动态 • 指令效果 • 触发条件 • 作用域 • 修正 • 变量 • AI |
| 媒体/本地化 | Maya 导出器 • 图形 • 肖像 • 旗帜 • 事件图片 • 界面 • 图标 • 音乐 • 本地化 |
| Other | 控制台命令 • 存档编辑 • Steam 创意工坊 • 模组制作教程 |