头衔模组制作

(重定向自Title modding

头衔是定义好的,对于3.3.X版本来说,头衔文件存放在/common/landed_titles/。盾形徽章(CoA)文件存放在/gfx/flags/,历史文件存放在/history/titles/.

基础的名誉头衔

制作一个名誉头衔非常简单。首先你要决定这个头衔的级别,然后选择正确的前缀。但记住,你不能创造一个男爵级别的荣誉头衔。

等级 前缀
男爵领 b_
伯爵领 c_
公国 d_
王国 k_
帝国 e_

接着,你必须选择一个颜色。颜色的定义详见RGB. 你可以在Wikipedia上查看尽可能遍历过后的颜色列表。记住此时你要使用十进制编码而非十六进制编码。每个头衔可以拥有两个颜色值,colorcolor2。当然后者不是必须的。 color2 会修改the secondary color of your border.[1]

比如,创造一个需要在地图显示为黄色的王国级头衔, 你需要用以下代码:

k_mytitle = {
    color={ 255 255 0 }
}

这个代码你可以添加到默认的 landed_titles.txt 或者另外解释在 /common/landed_titles/

做这些之后,虽然已经足够将自定义头衔加入到游戏当中,它可以通过控制台命令授予给一个角色。但是,这个头衔的名称会直接显示你代码中的那样“k_mytitle”而且盾牌徽章(CoA)可能会和叛军的盾牌一样,其他的盾牌徽章也可能不能被正确分配。

添加一个盾牌徽章

男爵级别以上头衔的盾牌徽章不会像家族徽章那样在游戏中生成。不过,你可以在 /gfx/flags/ 里预先制作。自定义的盾牌徽章必须保存为一个24bit的、128×128分辨率的TGA图像文件,然后将这个照片命名为你自定义的头衔名称。按照上面的代码范例,此时应该保存一张叫k_mytitle.tga的照片。如果你不想创造一个自定义的盾牌徽章。你也可以复制另一个图像文件。如果游戏启动时一个男爵领以上的头衔没有盾牌徽章文件,其他盾牌徽章文件就会被分配到错误的头衔中。

男爵领

男爵级头衔的盾牌徽章图案是游戏自动生成的。自定义的男爵级徽章可能和家族徽章共用一个系统。coat_of_arms tag被用于这些头衔的tag,这个tag可能以两种方式来定义。第一种方式(明确的形状格式设定)看以下的代码:

coat_of_arms = {
	template = 0
	layer = {
		texture = 2
		texture_internal = 9
		emblem = 0
		color = 3
		color = 1
		color = 2
	}
	religion = "catholic"
}

当然上面的代码也可以用数组的方式来更简单地书写:

coat_of_arms = {
	data = {
		#template texture emblem texture_internal color1 color2 color3
		0 2 0 9 3 1 2
	}
	religion = "catholic"
}

数组数字的顺序是:

template, texture, emblem, texture_internal, color1, color2, color3

对于每个数值对应的图案细节,详见Dynasty modding § Coat of Arms。religion值将定义会使用哪一种盾牌徽章的样式。

即使有一个自定义图片与男爵领地头衔相匹配了,男爵领也不会使用你的自定义文件作为盾牌徽章。但是,类似于伯爵及以上等级头衔使用的全彩纹章可以通过使用Coats of arms.txt里面的专门条目来实现。 (使用color = 0 阻止其被分配颜色), 这种方法类似于 Dynasty Shields DLC 中包含的家族徽章和原始宗教角色持有的某些头衔的徽章(见下文)。

当一个头衔被原始宗教角色持有时,该头衔会使用另一个盾牌徽章代替其主要使用的盾牌徽章。这些徽章处于原始宗教持有时启用pagan_coa tag,“正常持有”时启用coat_of_arms tag。这个方式在男爵级头衔上也有类似的等价物。例如,一个属于Isles (d_western_isles) 的公国(王国)使用以下代码:

d_western_isles = {
	color = { 6 42 127 }
	color2 = { 255 255 255 }
	capital = 35 # Inse Gall
	
	norwegian = "Søreyar"
	danish = "Søreyar"
	swedish = "Söröarna"
	norse = "Suðreyjar"
	pictish = "Insee Hilth"
	welsh = "Ynysoedd Heledd"
	irish = "Dál Riata"
			
	pagan_coa = {
		template = 0
		layer = {
			texture = 2
			texture_internal = 8
			emblem = 0
			color = 0
			color = 0
			color = 0
		}
		religion = "norse_pagan"
	}

	[sub-holdings go here]

}

这些代码告诉游戏:如果一个原始宗教角色拥有了这个头衔,此时盾牌徽章将不会显示“正常持有的情况”,texture值的2,以及诺斯多神教的8号徽章(实际上是9号徽章,因为编号从0开始。)将会替代这个“正常持有”的情况。此处的其他值设置为0,因为这是全彩徽章,不使用分配的颜色。但如果有需要,可以按照与“正常持有”coat_of_arms相同的方式使用它们。(详见Dynasty modding § Coat of Arms.)

本地化

很显然,你不希望你的k_mytitle王国直接显示这个名字。所以要进行本地化。在/localisation/建立一个新的文件。该文件一定是CSV格式的文件, 你可以给这个文本文件起名mymod.csv。编辑文本时,作为参考,你可以写注释,以便你知道每种语言的位置,。然后是新头衔的代码和名称,以及该头衔的形容词。以下是创造新王国级荣誉头衔的代码示例:

#CODE;ENGLISH;FRENCH;GERMAN;;SPANISH;;;;;;;;;x
k_mytitle;Paradox;Paradox;Paradox;;Paradox;;;;;;;;;x
k_mytitle_adj;Paradoxian;Paradoxien;Paradoxier;;Paradoxiano;;;;;;;;;x

现在你的头衔可以在游戏里显示正确的名称了。

头衔层级

所有能取得的实地头衔按照等级制度被组织起来。每个王国级头衔包含它们下面的法理公国,以此类推,其他级别头衔也是。 创建新的伯爵领需要modifying the map(修改地图),但王国可能会被分割,或者,伯爵领很容易被移至到不同的公国。例如,假设我们想建立一个法理上包含英格兰北部的Northumbria王国,如果我们希望我们的新王国成为不列颠尼亚帝国法理上的一部分,那么,我们就会去landed_titles.txt找到这一段:

e_britannia = {
       ...
       k_england = {

接着,我们立刻将我们创造的新王国头衔插入进去,然后找到这个新王国级头衔中我们希望拥有的公国。然后一顿剪切、粘贴,把这个新的王国放在不列颠尼亚帝国的下面:

e_britannia = {
       ...
       k_northumbria = {
           capital = 57 #York 
           color = { 185 25 51 }
           d_northumbria = {
            ...
           }
           d_york = {
           ...
           }
           d_lancaster = {
           ...
           }
       }
       k_england = {
       [southern duchies]

同样,如果我们想改变一个伯爵领所在的公国,我们可以删减该伯爵领的条目并将其置于另一个公国下。

特殊的flags

每个头衔都可能会被添加好几个修正,所有可能的修正如下图所示。其中,Boolean(布尔值)类型的修正效果 (也就是只有true或false两个值), 在表格中缩写为bool。

变量名 变量类型 变量效果 代码示例
capital provinceID 列出的省份必须被控制才能创建一个规则上的名誉头衔。这还,影响招募雇佣兵的能力。统治者前不受限制地把capital搬到这里. capital = 80 #Holland
has_top_de_jure_capital bool has_top_de_jure_capital = yes
top_de_jure_capital bool top_de_jure_capital = yes
allow conditions 创建头衔或招募雇佣兵公司的特殊条件。不能与男爵领一起使用。
allow = {
  OR = {
    ai = no
    culture = dutch
  }
}
religion religion 随机生成的持有者将拥有这种宗教。对于圣职人员,雇主的宗教信仰必须匹配才能招聘。 religion = catholic
culture culture 随机生成的持有者将拥有这种文化,对于王国,该条件将作用于liberation revolt. culture = frankish
graphical_culture 用于神权统治 graphical_culture = holygfx
landless bool 就算头衔持有者没有控制实地,该头衔还是会存在 landless = yes
primary bool 该头衔将总是作为首要头衔展示 primary = yes
title key 如果这个头衔并非“标准头衔”,给予localisationkey作为统治者的头衔 (比如"船长、队长") title = "TITLEKEY"
title_female key 如果这个头衔并非“标准头衔”,给予localisationkey作为统治者的头衔 (比如"船长、队长") title_female = "QUEEN"
foa key 如果“非标准”,则为持有者的地址形式提供本地化键 (比如 "我的队长、我的船长") foa = "FOAKEY"
title_prefix key 如果“非标准”,则为持有者的地址形式提供本地化键 (比如 "XX大公") title_prefix = "PREFIXKEY"
short_name bool 跳过title_prefix.被用于类似拜占庭帝国持有者的头衔,避免出现拜占庭皇帝,而不是叫做"巴西琉斯" short_name = yes
name_tier tier 帝国可以称为王国,或者其他情况。 name_tier = king
coat_of_arms coat_of_arms = { data= {0 4 12 45 2 2 2 0 0 19 2 1 3 0 0 19 2 1 3 0 0 19 2 1 3} religion="catholic" }
pagan_coa
mercenary bool 将头衔标记为雇佣兵 mercenary = yes
mercenary_type mercenaryType 链接到雇佣兵或神圣骑士团的部队组成定义。 mercenary_type = knights_templar_composition
independent bool 这个雇佣兵头衔不能被附庸。(如果您不希望出现这种情况,请省略此行) independent = yes
holy_order bool 标记该头衔为一个圣职者头衔。 holy_order = yes
modifier modifiers 链接到common/static_modifiers.txt中的修正,该修正为雇佣兵和神圣骑士团提供部队类型。 modifier = this_title_modifier
strength_growth_per_century double 雇佣兵和神圣骑士团的规模每个世纪都会以这个百分比增长。 strength_growth_per_century = 0.25
[religion_group] int 给定宗教组中,AI对于这个王国级头衔的十字军东征目标权重。 christian = 500
[religion] int 给定宗教中,AI对于这个王国级头衔的十字军东征目标权重。 catholic = 500
male_names list<string> 随机生成的统治者将从此列表获取头衔,而不是其文化的通常列表 male_names = {name1 name2 ... }
female_names list<string> 随机生成的统治者将从此列表获取头衔,而不是其文化的通常列表
controls_religion religion 头衔持有者是特定宗教的首领 controls_religion = catholic
tribe bool 将头衔标记为部落,若获得同等物的非部落头衔则该头衔被销毁。、 tribe = yes
creation_requires_capital bool 即使统治者没有定义上的首都省份,该头衔仍然可以设立。 creation_requires_capital = no
caliphate bool 将该头衔标记为哈里发 caliphate = yes
dynasty_title_names bool 禁止用家族名称来命名这个头衔 dynasty_title_names = no
used_for_dynasty_names bool 对于这个男爵领,禁止用家族名称命名该头衔 b_roma = { dynasty_title_names = no }
purple_born_heirs bool 激活Born in the purple.png机制 purple_born_heirs = yes
[culture] string 对于给定的文化,该头衔将获得可选择的称号 german = "Zürich"
location_ruler_title bool 头衔中将出现首都的名字 (比如 '罗马教皇') location_ruler_title = yes
dignity int 该头衔被认为拥有比实际多得多的省份,以确定头衔的相对声望。AI 将永远使最负盛名的头衔成视为主要目标。如果设置为非常高的值或负值,则可能会导致有关等级统治者的奇怪行为。不能在伯爵及以下级别使用该变量。 dignity = 200
holy_site religion 将此地设定为宗教圣地 holy_site = catholic
pentarchy bool/religion 将头衔(男爵领)设定为Pentarch。适用于启用自主教会autocephaly或者其他类似机制的宗教.[2] Note that it can also be configured dynamically via the set_pentachy_title command. pentarchy = yes

or

b_jerusalem = {
    pentarchy = orthodox
    pentarchy = miaphysite
}
assimilate bool 如果值为no,则停止头衔同化或被同化 assimilate = no
duchy_revokation bool 皇帝可以不付出声望代价撤销公国,也不会与其他封臣一起受到好感度惩罚 duchy_revokation = yes
gain_effect commands
monthly_income int 在神圣之怒DLC时启用,必须是1到152中的一个整数值。 银行业务月收入增加,以及其他效果。
can_be_claimed bool 决定该头衔可否被宣称。如果值为"no"(默认为"yes"), 即便用控制台或者其他脚本宣称了该头衔也宣称无效。 can_be_claimed = no
can_be_usurped bool 决定该头衔可否被篡夺,默认为"yes". can_be_usurped = no
extra_ai_eval_troops int AI 应该假设以此为主要头衔的人拥有多少部队。 只影响AI。数字越高意味着其他人不太愿意攻击该头衔持有者,而AI更愿意攻击其他人。 extra_ai_eval_troops = 10000
hire_range int 可以雇佣多远的雇佣兵,如果没有设定,则按照MERCENARY_HIRE_DISTANCE_THRESHOLD的默认值。 hire_range = 1000

相关链接

References