决议模组制作:修订间差异

本页面所适用的版本可能已经过时,最后更新于1.1
(翻译部分内容)
(只改了保留英文文本的机翻,剩下的机翻等去英文版上对比着看)
第4行: 第4行:


== 位置 ==
== 位置 ==
Decisions belong in .txt files in the mod's {{cite file|common\decisions}} folder. Each text file may contain multiple decisions.
决议代码要写在mod目录中,{{cite file|common\decisions}} 文件夹的.txt文件里。每个文本文件可包含多个决议。


== 结构 ==
== 结构 ==
第16行: 第16行:
</pre>
</pre>


=== Keys/blocks ===
=== 键值/ 区块 ===


The table below shows keys and blocks that may be defined. "Boolean" values may be either yes or no.
下表列举出可以使用的键值和区块。布尔值可以是yes或no。


{| class="wikitable"
{| class="wikitable"
! Key/block
! 键值/
! Type
! 数据类型
! Description
! 描述
! Example
! 示例
|-
|-
| title
| title
第35行: 第35行:
|-
|-
| picture
| picture
| String (file name)
|字符串(文件名称)
字符串(文件名称)
|设置决议的图像
| Sets the image of the decision.
设置决议的图像
|
|
<pre>
<pre>
第52行: 第50行:
| ai_goal
| ai_goal
| 布尔值
| 布尔值
|<small>If set, the AI will consider the decision a "goal" and consider it alongside major costs like title creation and holding construction. It will ignore ai_check_interval. Should only be used for things with such major costs that budgeting for it is important, as it is less performant than using a high ai_check_interval</small>
| 如果设置,则AI将把此决议视为“目标”,并将其与例如头衔创建和地产建设之类的主要花销放同等地位考虑。


  如果设置,则AI将把该决定视为“目标”,并将其与诸如头衔创建和所有权建设之类的主要成本一起考虑。 它将 忽略ai_check_interval。 只 用于预算 如此 重要 的主 成本 的事务, 与使用高ai_check_interval 相比,其性能较低
  此项会 忽略ai_check_interval。 
 
  此项 用于预算 十分 重要 ,需 大宗花费 的事务 。原因是 与设置 高的ai_check_interval 相比,其性能较低
|
|
  ai_goal = yes/no 
  ai_goal = yes/no 
第60行: 第60行:
| ai_check_frequency
| ai_check_frequency
| 整数
| 整数
| How many months to go between each check of this decision. Has to be set, except if ai_goal = yes is set. An interval of 0 means the AI will never check this decision
设置ai 检查 此项 议的 隔,以 数表示
  每次 检查 这个 定之 要多少个 月。 必须设置, 非ai_goal=yes 设置 。0 间隔意味 着 AI  永远不会检查此决
非决议里已写入ai_goal=yes ,否则必须 设置
 
 间隔 为0 意味 着AI 永远不会检查此决 议。
|
|
  ai_check_frequency = 42
  ai_check_frequency = 42
第108行: 第110行:
|-
|-
| cost
| cost
| Block
|区块
区块
| 设置决议花费的 、虔诚和威望。
| Sets the cost of the decision in terms of gold, piety and prestige. The default value for each resource is zero. Not every resource has to be defined.
 
以黄 金、虔诚和威望 来设定决策的成本 。每 资源的默认值为零。 并非 资源都 必须 定义。
资源的默认值为零。
 
不用将 资源都定义 出来
|
|
<pre>
<pre>
第145行: 第149行:
|}
|}


=== Basic example 基本示例 ===
=== 基本示例 ===
<pre>
<pre>
custom_decision = {
custom_decision = {
第169行: 第173行:
</pre>
</pre>


== Decision ID 决议ID ==
== 决议ID ==
Each decision uses an internal ID for reference within the game's files. The internal name of a decision in the game's files can be found by following these steps:
Each decision uses an internal ID for reference within the game's files. The internal name of a decision in the game's files can be found by following these steps:


 每个决议都使用 一个内部名称来在 游戏文件中引用。游戏文件中决 议的内部名称 以通过 以下步骤确定:
 每个决议都使用游戏文件中 的内部ID来 引用。游戏文件中决 议ID 以下步骤确定:
* Take the decision's name. 写出 事件 名称
* 写出 决议 名称
* Turn all letters into lowercase (<code>A...Z->a...z</code>).把所有字母都改为小写形式
* 把所有字母都改为小写形式(<code>A...Z->a...z</code>)
* Replace spaces (<code> </code>) with underscores (<code>_</code>).将空格以下划线代替
* 用下划线(<code>_</code>) 代替空格 (<code> </code>)
* Add <code>_decision</code> to the end. 在名字末尾添加 <code>_decision</code> 
* 在名字末尾添加 <code>_decision </code>


Decisions with in-game names that do not match their internal name are included in the table below:
Decisions with in-game names that do not match their internal name are included in the table below:


 游戏 名称 与其 部名称 的决议 在以 下表
 游戏 内决议 名称 部ID 一致 的决议 下表 所示
<!-- Generated by script: https://github.com/SaucyPigeon/ck3_mapdata -->
<!-- Generated by script: https://github.com/SaucyPigeon/ck3_mapdata -->
{| class="mildtable"
{| class="mildtable"
! Decision 决议
! 决议 名称
! Internal name内部名称
! 决议ID
|-
|-
| Call Hunt || start_hunt
| Call Hunt || start_hunt

2022年6月2日 (四) 11:04的版本

决议可以修改进游戏中。他们是伯爵及以上的统治者可以选择的行动。

位置

决议代码要写在mod目录中,common\decisions文件夹的.txt文件里。每个文本文件可包含多个决议。

结构

决议可以这样定义:

my_decision = {

	# 把键值等放在这里

}

键值/区块

下表列举出可以使用的键值和区块。布尔值可以是yes或no。

键值/块 数据类型 描述 示例
title 覆盖标题,默认值:“ <key>”; 支持事件中的动态描述(first_valid,...); 范围:字符
title = <key> 
title = { ... }
picture 字符串(文件名称) 设置决议的图像
picture = "image_name.dds"
major 布尔值(yes/no) 重要;默认值为no。当设置为yes时,该决议将视为重要决议
major = yes/no
ai_goal 布尔值 如果设置,则AI将把此决议视为“目标”,并将其与例如头衔创建和地产建设之类的主要花销放同等地位考虑。

此项会忽略ai_check_interval。

此项只能用于预算十分重要,需要大宗花费的事务。原因是,与设置为高的ai_check_interval相比,其性能较低。

ai_goal = yes/no 
ai_check_frequency 整数 设置ai检查此项决议的间隔,以月数表示。

除非决议里已写入ai_goal=yes,否则必须设置。

间隔为0意味着AI永远不会检查此决议。

ai_check_frequency = 42
selection_tooltip 从决策列表中选择决策时,覆盖工具提示,默认值:“ <key> _tooltip”; 支持事件中的动态描述(first_valid,...); 范围:字符
selection_tooltip = <key> 
selection_tooltip = { .. }
desc 覆盖描述,默认值:“ <key> _desc”; 支持事件中的动态描述(first_valid,...); 范围:字符
desc = <key> 
desc = { ... }
confirm_text 覆盖确认文本,默认值:“ <key> _confirm”; 支持事件中的动态描述(first_valid,...); 范围:字符
confirm_text = <key> 
confirm_text = { ... }
is_shown 角色是否看得见决定; 范围:字符; 默认值:{always = yes}
is_shown = { ... }
is_valid_showing_failures_only 可以执行决定; 如果它们失败,这些将显示在确认按钮工具提示中; 范围:字符; 默认值:{always = yes}
is_valid_showing_failures_only = { ... }
is_valid 可以执行决定; 这些将显示在“需求”下的详细视图中; 范围:字符; 默认值:{always = yes}
is_valid = { ... }
cost 区块 设置决议花费的金钱、虔诚和威望。

每项资源的默认值为零。

不用将每项资源都定义出来。

cost = {
	gold = 42
	piety = 42
	prestige = 42
}
effect 区块 作出决定时执行的效果; 范围:字符
effect = { ... }
ai_potential 触发AI是否应该看见它
ai_potential = { ... }
ai_will_do 返回执行决策的机会百分比。 0将永远不会执行它,100将永远执行它
ai_will_do = { ... }
widget 指定最多一个Custom Widgets以嵌入到决策中。 请参阅下面有关Custom Widgets的部分。

基本示例

custom_decision = {
	picture = "custom_decision.dds"
	
	desc = custom_decision_desc
	selection_tooltip = custom_decision_tooltip

	is_shown = {

		# Put conditions for the decision to show up here.

	}

	effect = {

		# Add effects of the decision here.

	}

	ai_check_frequency = 0 # Change this value if you want the AI to consider this decision.
}

决议ID

Each decision uses an internal ID for reference within the game's files. The internal name of a decision in the game's files can be found by following these steps:

每个决议都使用游戏文件中的内部ID来引用。游戏文件中决议ID可用以下步骤确定:

  • 写出决议名称。
  • 把所有字母都改为小写形式(A...Z->a...z)。
  • 用下划线(_)代替空格 ( ) 。
  • 在名字末尾添加 _decision。

Decisions with in-game names that do not match their internal name are included in the table below:

游戏内决议名称同内部ID不一致的决议如下表所示:

决议名称 决议ID
Call Hunt start_hunt
Search for Physician hire_physician
Borrow Gold from Holy Order borrow_from_holy_order
Challenge the Ruler tribal_challenge_ruler
Stop Gaining Weight stop_gain_weight
Stop Losing Weight stop_lose_weight
Attempt Suicide commit_suicide
Return Roma return_rome
Determine Bhakti select_personal_deity
Give Your Ancestor a Sky Burial give_sky_burial
Raise a Runestone raise_runestone
Found Holy Order create_holy_order
Revoke Holy Order Lease cancel_holy_order_lease
Go on a Pilgrimage go_on_pilgrimage
Undertake the Hajj go_on_hajj
Restore the Kingdom of Cornwall restore_dumnonia
Reclaim Constantinople set_capital_constantinople
Reclaim Rome set_capital_rome
Restore the Papacy restore_papacy
Form the Swiss Confederation form_switzerland_kingdom
Form Archduchy of Austria form_austria_kingdom
Dismantle the Papacy dismantle_papacy
Restore Carolingian Borders reform_carolingian_empire
Unify the Burgundies unify_burgundy_kingdom
Unify Italy unify_italian_empire
Adopt Feudalism (unused) convert_to_feudalism
Adopt Feudal / Clan Ways through Liege convert_to_feudalism_liege_converted
Adopt Feudal / Clan Ways convert_whole_realm_to_feudalism
Form the Outremer Empire create_outremer_empire
Sell Minor Titles sale_of_titles
Restore the Ash'ari Caliphate restore_sunni_caliphate
Restore Israel create_israel_kingdom
Restore the Faith High Priesthood jewish_restore_high_priesthood
Restore the Faith High Priesthood zoroastrian_restore_high_priesthood
Become the Saoshyant become_saoshyant
Dismantle German Pretenders dismantle_holy_pretender
Dismantle Greek Pretenders dismantle_byz_pretender
Form the Sultanate of Rum form_rum_sultanate
Revive Greater Armenia create_armenian_empire
Consecrate Bloodline declare_bloodline_holy
Build a Grand Church build_grand_church
Faith Cannibalism accept_cannibalism
Request Claim on Ireland england_request_laudabiliter
Inspire Opus Francigenum promote_gothic_innovations
Build a Glass Monument lunatic_building
Promote Christian Settlements promote_hungarian_settlement
Revive Táltosism revive_magyar_paganism
Unite the West Slavs unite_the_western_slavs
Unite the South Slavs unite_the_southern_slavs
Defenders of High God defenders_of_highgod
Found a New Kingdom found_kingdom
Found a New Empire found_empire
Amnesty for False Conversions encourage_confession_of_false_conversions
Restore the Holy Roman Empire restore_holy_roman_empire
Adopt Special Succession Type adopt_special_succession
Found the Kingdom of Aragon form_the_kingdom_of_aragon
Indulge in Drink stress_loss_drunkard
Consume Hashish Cakes stress_loss_hashishiyah
Visit a Brothel stress_loss_rakish
Seclude Yourself stress_loss_reclusive
Lash Out stress_loss_irritable
Flagellate stress_loss_flagellant
Visit the Market stress_loss_profligate
Donate to Charity stress_loss_improvident
Confess stress_loss_contrite
Indulge in Food stress_loss_comfort_eater
Shun Food stress_loss_inappetetic
Write Thoughts Down stress_loss_journaller
Talk to Confidant stress_loss_confider
Work off Some Stress stress_loss_athletic
Accuse the Krstjani of Heresy accuse_krstjani_of_heresy
Prepare to Cross the Carpathians launch_hungarian_migration
Restore the Roman Empire restore_roman_empire (as Byzantine Emperor)
restore_roman_empire_holy (as Holy Roman Emperor)
restore_roman_empire_italian (as Emperor of Italia)
Host Grand Rite host_witch_ritual_decision

Custom Widgets

A custom widget can be embedded into a decision.

GUI files must be placed at the decision_view_widgets path (see paths.settings). The name of the file must match the widget name.

Usually these widgets require a custom controller. This should be documented in the widget's GUI file.

The data context type available in the GUI depends on the controller type.

Available controllers:

Controller Type | Data Context Name   | Notes

-------------------+------------------------------------+-----------------------------------------------------------

default | EventWindowWidget | Default controller, no special behavior

create_holy_order  | DecisionViewWidgetCreateHolyOrder  | Show GUI to customize the new holy order.