小 (文本替换 - 替换“Category:Modding]]”为“Category:模组制作]]”) |
无编辑摘要 |
||
(未显示另一用户的1个中间版本) | |||
第1行: | 第1行: | ||
{{Version|3.3}} | {{Version|3.3}} | ||
这个界面是关于制作 [[Warfare|Casus Belli (宣战理由) and War Goal (战争目标)]]. | |||
== Casus Belli == | == Casus Belli (宣战理由) == | ||
宣战理由的定义文件在 "common/casus_belli/xxx.txt". | |||
=== | === 数据结构 === | ||
* '''show_in_diplomacy = <yes/no>''' – | * '''show_in_diplomacy = <yes/no>''' – 决定这个宣战理由是否在外交中表现出来。 | ||
* '''show_notification = <yes/no>''' – | * '''show_notification = <yes/no>''' – 确定这个宣战理由是否在得到时生成通知消息。 | ||
* '''aggregated_message_key''' – Localisation key <small>(e.g. = "MESSAGE_NEW_CASUS_BELLI_TRIAL_OF_ADVANCEMENT_TARGET")</small> | * '''aggregated_message_key''' – Localisation key (本地化条目) <small>(e.g. = "MESSAGE_NEW_CASUS_BELLI_TRIAL_OF_ADVANCEMENT_TARGET")</small> | ||
* '''potential''' – | * '''potential''' – 决定这个宣战理由是否有效的条件块。如果条件块判定为假(false),这个宣战理由不会被给予。 (<small>[[Scopes|范围]] : <code>ROOT</code>/<code>THIS</code> = casus belli owner, <code>FROM</code> = casus belli target country )</small> | ||
* '''is_valid''' – | * '''is_valid''' – 一个每天要检查的[[Conditions|条件块]] 。 如果条件块判定为真(true),则自动启用这个宣战理由,否则禁用这个。如果这个宣战理由是由脚本(script)添加的,那么此属性无关紧要。 | ||
* '''destroy_if''' – | * '''destroy_if''' – 一个每天要检查的[[Conditions|条件块]] 。如果条件块判定为真(true),则自动禁用这个宣战理由,只影响脚本(script)添加的战争原因。 | ||
=== | === 宣战理由例子 === | ||
要求臣服(subjugation)宣战理由 | |||
<syntaxhighlight lang="Haskell"> | <syntaxhighlight lang="Haskell"> | ||
cb_subjugation = { | cb_subjugation = { | ||
第34行: | 第34行: | ||
} | } | ||
}</syntaxhighlight> | }</syntaxhighlight> | ||
只有'''觉醒的堕落帝国'''才会自动授予这种理由。普通帝国必须通过脚本授予它: <code>add_casus_belli = { type = cb_subjugation who = from days = 360 }</code> | |||
本地化必须使用这个条目来定义: "<code>casus_belli_xxx:</code>". | |||
== War | == War Goals(战争目标) == | ||
战争目标的定义文件在"common/war_goals/xxx.txt". | |||
=== | === 数据结构 === | ||
* '''casus_belli = <casus belli key>''' – | * '''casus_belli = <casus belli key>''' – 必须。决定对目标使用此站长目标的宣战理由。 | ||
* '''hide_if_no_cb = <yes/no>''' – | * '''hide_if_no_cb = <yes/no>''' – 如果判定为是,则若没有必要的战争理由,这个战争目标是隐藏的。 | ||
* '''total_war = <yes/no>''' – | * '''total_war = <yes/no>''' – 决定这场战争目标是否是一场全面战争。 | ||
** | ** 被这一方面占领的星系将立即被割让, 让<code>cede_claims</code> 和<code>release_occupied_systems_on_status_quo</code> 字段变得无关紧要。 | ||
** | ** 如果另一方投降,他们所有的星系都将被放弃。即使被允许,AI也不会向全面战争的战争目标投降。 | ||
** | ** 由于领土主张在全面战争中没有意义,如果一个帝国只能对另一个帝国使用全面战争的战争目标,那么普通游戏规则将阻止领土索赔,例如 {{iconify|Fanatic Purifiers}} 。 | ||
* '''set_defender_wargoal = <war goal key>''' – | * '''set_defender_wargoal = <war goal key>''' – 可选。防御方将被迫使用指定的战争目标 | ||
* '''defender_default = <yes/no>''' – | * '''defender_default = <yes/no>''' – 如果防御方没有及时选择战争目标,它将让防御方默认战争目标( 默认为羞辱wg_humiliation) 。如果多个战争目标被设置为默认防御方,则选择文件中脚本化的第一个。 | ||
* '''threat_multiplier = <float>''' – | * '''threat_multiplier = <float>''' – 征服星系和行星所产生的威胁会在此战争目标的战争中乘以这个数值。 | ||
* '''cede_claims = <yes/occupied_only/no>''' – | * '''cede_claims = <yes/occupied_only/no>''' – 确定进攻方是否应该从防御方手中割让已宣称的星系。 | ||
** | ** 如果yes,当赢得了战争时,这个战争目标的使用者将放弃来自另一方的所有主张,并且只有在战争以现状结束时才会放弃完全占领的领土宣称。 | ||
** | ** 如果occupied_only,这个战争目标的使用者只有在没有输掉这场战争的情况下才会放弃完全占领的领土。 | ||
** | ** 如果no,这个战争目标的使用者永远不会放弃领土宣称。 | ||
* '''release_occupied_systems_on_status_quo = <yes/no>''' – | * '''release_occupied_systems_on_status_quo = <yes/no>''' – 如果是,在维持现状之后,当那个星球上有至少一个非机器人的智慧生命pop存在,被占领的星系将作为一个独立的帝国被释放。 | ||
** | ** 这个战争目标的使用者总是首先放弃完全占领的领土。如果所有殖民地都以这种方式割让,被占领的星系将不会被释放。 | ||
* '''surrender_acceptance = <int>''' – | * '''surrender_acceptance = <int>''' – 决定AI投降的接受程度。 | ||
* '''war_exhaustion = <float>''' – | * '''war_exhaustion = <float>''' – 在这场战争中产生的厌战度乘以这个值。 | ||
* '''show_claims_in_description = <yes/no>''' – | * '''show_claims_in_description = <yes/no>''' – 确定是否应该在描述中显示声明。 | ||
* '''potential''' & '''possible''' – | * '''potential''' & '''possible''' – 触发条件块来检查这个战争目标是否列出/ 可用于对抗目标帝国。 <small>([[Scopes]]: <code>ROOT</code>/<code>THIS</code> = war goal country <code>FROM</code> = war goal target country)</small> | ||
* '''on_accept''' & '''on_status_quo''' – [[Effects| | * '''on_accept''' & '''on_status_quo''' – [[Effects| 效果]] 块,在这个战争目标达成后执行(因为对手投降了)或当战争以现状结束时。 | ||
*: <small>([[Scopes]]: <code>ROOT</code>/<code>THIS</code> = war goal country, <code>FROM</code> = war goal target country)</small> | *: <small>([[Scopes]]: <code>ROOT</code>/<code>THIS</code> = war goal country, <code>FROM</code> = war goal target country)</small> | ||
** | ** 使用以下条件检查是否有帝国以这种方式释放: | ||
exists = last_created_country | exists = last_created_country | ||
last_created_country = { has_country_flag = released_empire } | last_created_country = { has_country_flag = released_empire } | ||
* '''on_wargoal_set''' – | * '''on_wargoal_set''' – 效果块,当这个战争目标被接受时执行。 <small>([[Scopes]]: <code>ROOT</code>/<code>THIS</code> = war goal country, <code>FROM</code> = war goal target country)</small> | ||
* '''allowed_peace_offers = { … }''' – | * '''allowed_peace_offers = { … }''' – 决定使用此战争目标时允许什么样的和平提议。可以由以下任意数组成: status_quo, surrender, demand_surrender. “Total War (全面战争)”的战争目标使用这一点来防止在全面战争期间投降,使他们只能以维持现状或完全摧毁任何一方结束。 | ||
* '''ai_weight = <int>/{ … }''' – | * '''ai_weight = <int>/{ … }''' – 一个权重数或一个块,包含:modifier_rule 字段。 <small>([[Scopes]]: <code>ROOT</code>/<code>THIS</code> = the acting country, <code>FROM</code> = the targeted country)</small> | ||
* '''galactic_empire_joins_defender''' – | * '''galactic_empire_joins_defender''' – 可选,触发[[Conditions|条件块]] 来检查[[Galactic Imperium|银河帝国]] 的成员是否加入战争。 <small>([[Scopes]]: <code>ROOT</code>/<code>THIS</code> = war goal country, <code>FROM</code> = war goal target country)</small> | ||
另外,还有一个图标 (at /interface with "GFX_xxx") 并且应该定义本地化(with keys "war_goal_xxx:", "war_goal_xxx_desc:"). | |||
=== | === 战争目标的例子 === | ||
征服战争的目标: | |||
<syntaxhighlight lang="Haskell"> | <syntaxhighlight lang="Haskell"> | ||
wg_subjugation = { | wg_subjugation = { | ||
第190行: | 第190行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
在胜利时,胜利国将放弃所有要求,而主要的失败国将成为主要胜利国的附庸。 | |||
* | * 如果胜利国将割让主要失败国的所有殖民地,使它们不存在,这个战争目标就不能在一开始就被使用。然而,攻击者可以在宣战后提出进一步的要求。 | ||
在维持现状下,这一方的帝国将放弃所有完全占领的领土,然后从所有剩余的完全占领的敌人系统中创建一个独立的帝国,它成为主要胜利国的附庸。 | |||
{{ModdingNavbox}} | {{ModdingNavbox}} | ||
[[Category:模组制作]] | [[Category:模组制作]] |
2023年8月2日 (三) 18:04的最新版本
这个界面是关于制作 Casus Belli(宣战理由) and War Goal(战争目标).
Casus Belli(宣战理由)[编辑 | 编辑源代码]
宣战理由的定义文件在 "common/casus_belli/xxx.txt".
数据结构[编辑 | 编辑源代码]
- show_in_diplomacy = <yes/no> – 决定这个宣战理由是否在外交中表现出来。
- show_notification = <yes/no> – 确定这个宣战理由是否在得到时生成通知消息。
- aggregated_message_key – Localisation key(本地化条目) (e.g. = "MESSAGE_NEW_CASUS_BELLI_TRIAL_OF_ADVANCEMENT_TARGET")
- potential – 决定这个宣战理由是否有效的条件块。如果条件块判定为假(false),这个宣战理由不会被给予。 (范围:
ROOT
/THIS
= casus belli owner,FROM
= casus belli target country) - is_valid – 一个每天要检查的条件块。 如果条件块判定为真(true),则自动启用这个宣战理由,否则禁用这个。如果这个宣战理由是由脚本(script)添加的,那么此属性无关紧要。
- destroy_if – 一个每天要检查的条件块。如果条件块判定为真(true),则自动禁用这个宣战理由,只影响脚本(script)添加的战争原因。
宣战理由例子[编辑 | 编辑源代码]
要求臣服(subjugation)宣战理由
cb_subjugation = { show_in_diplomacy = yes show_notification = yes potential = { OR = { is_country_type = default is_country_type = awakened_fallen_empire } NOT = { is_in_federation_with = from } is_subject = no } is_valid = { NOT = { is_overlord_to = FROM } is_country_type = awakened_fallen_empire NOT = { has_authority = auth_machine_intelligence } } }
只有觉醒的堕落帝国才会自动授予这种理由。普通帝国必须通过脚本授予它: add_casus_belli = { type = cb_subjugation who = from days = 360 }
本地化必须使用这个条目来定义: "casus_belli_xxx:
".
War Goals(战争目标)[编辑 | 编辑源代码]
战争目标的定义文件在"common/war_goals/xxx.txt".
数据结构[编辑 | 编辑源代码]
- casus_belli = <casus belli key> – 必须。决定对目标使用此站长目标的宣战理由。
- hide_if_no_cb = <yes/no> – 如果判定为是,则若没有必要的战争理由,这个战争目标是隐藏的。
- total_war = <yes/no> – 决定这场战争目标是否是一场全面战争。
- set_defender_wargoal = <war goal key> – 可选。防御方将被迫使用指定的战争目标
- defender_default = <yes/no> – 如果防御方没有及时选择战争目标,它将让防御方默认战争目标(默认为羞辱wg_humiliation)。如果多个战争目标被设置为默认防御方,则选择文件中脚本化的第一个。
- threat_multiplier = <float> – 征服星系和行星所产生的威胁会在此战争目标的战争中乘以这个数值。
- cede_claims = <yes/occupied_only/no> – 确定进攻方是否应该从防御方手中割让已宣称的星系。
- 如果yes,当赢得了战争时,这个战争目标的使用者将放弃来自另一方的所有主张,并且只有在战争以现状结束时才会放弃完全占领的领土宣称。
- 如果occupied_only,这个战争目标的使用者只有在没有输掉这场战争的情况下才会放弃完全占领的领土。
- 如果no,这个战争目标的使用者永远不会放弃领土宣称。
- release_occupied_systems_on_status_quo = <yes/no> – 如果是,在维持现状之后,当那个星球上有至少一个非机器人的智慧生命pop存在,被占领的星系将作为一个独立的帝国被释放。
- 这个战争目标的使用者总是首先放弃完全占领的领土。如果所有殖民地都以这种方式割让,被占领的星系将不会被释放。
- surrender_acceptance = <int> – 决定AI投降的接受程度。
- war_exhaustion = <float> – 在这场战争中产生的厌战度乘以这个值。
- show_claims_in_description = <yes/no> – 确定是否应该在描述中显示声明。
- potential & possible – 触发条件块来检查这个战争目标是否列出/可用于对抗目标帝国。 (Scopes:
ROOT
/THIS
= war goal countryFROM
= war goal target country) - on_accept & on_status_quo – 效果块,在这个战争目标达成后执行(因为对手投降了)或当战争以现状结束时。
- (Scopes:
ROOT
/THIS
= war goal country,FROM
= war goal target country)
- 使用以下条件检查是否有帝国以这种方式释放:
- (Scopes:
exists = last_created_country last_created_country = { has_country_flag = released_empire }
- on_wargoal_set – 效果块,当这个战争目标被接受时执行。 (Scopes:
ROOT
/THIS
= war goal country,FROM
= war goal target country) - allowed_peace_offers = { … } – 决定使用此战争目标时允许什么样的和平提议。可以由以下任意数组成: status_quo, surrender, demand_surrender. “Total War(全面战争)”的战争目标使用这一点来防止在全面战争期间投降,使他们只能以维持现状或完全摧毁任何一方结束。
- ai_weight = <int>/{ … } –一个权重数或一个块,包含:modifier_rule字段。 (Scopes:
ROOT
/THIS
= the acting country,FROM
= the targeted country) - galactic_empire_joins_defender – 可选,触发条件块来检查银河帝国的成员是否加入战争。 (Scopes:
ROOT
/THIS
= war goal country,FROM
= war goal target country)
另外,还有一个图标 (at /interface with "GFX_xxx")并且应该定义本地化(with keys "war_goal_xxx:", "war_goal_xxx_desc:").
战争目标的例子[编辑 | 编辑源代码]
征服战争的目标:
wg_subjugation = { casus_belli = cb_subjugation hide_if_no_cb = no release_occupied_systems_on_status_quo = yes allowed_peace_offers = { status_quo surrender demand_surrender } surrender_acceptance = -100 potential = { NOR = { has_valid_civic = civic_inwards_perfection has_authority = auth_corporate } has_total_war_cb = no NAND = { is_galactic_emperor = yes from = { is_galactic_community_member = yes } } } possible = { custom_tooltip = { fail_text = has_claimed_all_systems from = { is_country_type = default any_owned_planet = { is_colony = yes root = { NOT = { has_claim = prev.solar_system } } } } } custom_tooltip = { fail_text = cannot_subjugate_empire_member NAND = { has_galactic_emperor = yes is_galactic_community_member = no from = { is_galactic_community_member = yes } } } custom_tooltip = { fail_text = "cannot_use_against_custodian" from = { is_galactic_custodian = no } } custom_tooltip = { fail_text = "cannot_use_against_emperor" from = { is_galactic_emperor = no } } custom_tooltip = { fail_text = "cannot_use_against_btc" from = { has_been_declared_crisis = no } } custom_tooltip = { fail_text = pax_galactica_active NAND = { is_active_resolution = resolution_emperor_pax_galactica is_galactic_community_member = yes from = { is_galactic_community_member = yes } } } } on_accept = { hidden_effect = { from = { add_threat = { who = root amount = 0.5 } } } if = { limit = { from = { has_been_declared_crisis = no } } from = { set_subject_of = { who = root subject_type = vassal } } } } on_status_quo = { if = { limit = { exists = last_created_country last_created_country = { has_country_flag = released_empire } } last_created_country = { set_subject_of = { who = root subject_type = vassal } } } } ai_weight = { weight = 10 modifier = { factor = 0 has_ai_personality_behaviour = wants_tribute } } }
在胜利时,胜利国将放弃所有要求,而主要的失败国将成为主要胜利国的附庸。
- 如果胜利国将割让主要失败国的所有殖民地,使它们不存在,这个战争目标就不能在一开始就被使用。然而,攻击者可以在宣战后提出进一步的要求。
在维持现状下,这一方的帝国将放弃所有完全占领的领土,然后从所有剩余的完全占领的敌人系统中创建一个独立的帝国,它成为主要胜利国的附庸。
帝国 | 帝国 • 思潮 • 政府 • 国民理念 • 起源 • 承诺 • 议程 • 传统 • 飞升天赋 • 法令 • 政策 • 遗珍 • 科技 • 自定义帝国 |
人口 | 岗位 • 派系 |
领袖 | 领袖 • 领袖特质 |
物种 | 物种 • 物种特质 |
行星 | 行星 • 行星特征 • 轨道矿藏 • 建筑 • 区划 • 行星决议 |
星系 | 星系 • 恒星基地 • 巨型结构 • 虫洞 • 星门 • 地图 |
舰队 | 舰队 • 舰船 • 部件 |
地面战 | 陆军 • 轰炸姿态 |
外交 | 外交 • 联邦 • 星海共同体 • 评价修正 • 宣战理由 • 战争目标 |
事件 | 事件 • 异常现象 • 特殊项目 • 考古遗址 |
游玩 | 游玩 • 定义 • 研究 • 经济 • 游戏开局 |
动态修改 | 动态 • 指令效果 • 触发条件 • 作用域 • 修正 • 变量 • AI |
媒体/本地化 | Maya 导出器 • 图形 • 肖像 • 旗帜 • 事件图片 • 界面 • 图标 • 音乐 • 本地化 |
Other | 控制台命令 • 存档编辑 • Steam 创意工坊 • 模组制作教程 |