特质模组制作

本页面所适用的版本可能已经过时,最后更新于1.0

特质被游戏内的角色持有,可以修正他们的属性、好感、性格和其他参数。

创建一个特质[编辑 | 编辑源代码]

特质在common/traits中的txt文件中定义。

举例:

my_new_trait = {
	index = 0 # 特质的唯一数字标识符
	education = yes #yes或no,定义这个特质是否是教育特质
	# 旗标和修正
        ... # 旗标和修正
        ... # 旗标和修正
        
}

特殊特质旗标[编辑 | 编辑源代码]

名称 描述 用法
index 用于保存文件的数字标识符(索引值)。最多可以是65535。 index = X
health 改变实际健康值。 health = X.X
fertility 生育力百分比修改器。 fertility = X.X
inherit_chance 遗传给子女的几率。 inherit_chance = X
birth 100个角色中,有多少个角色天生就有这个特质(不遗传时)。可以有小数。 birth = X
random_creation 在100个角色中,有多少角色是带着这个特质被创造出来的?(相对于实际出生而言,这是对生成角色、剧本角色等而言的。) random_creation = X
triggered_opinion 如果相关条件得到满足,则适用
triggered_opinion = {
	opinion_modifier = opinion_modifier_key	

	# 以下所有参数是可选的
	parameter = doctrine_parameter_key 	
	check_missing = yes			
	
	same_faith = yes			
	same_dynasty = yes			
	ignore_opinion_value_if_same_trait = yes	
	male_only = yes	
	female_only = yes
}
compatibility 这不是一个好感修正,但可以被'compatibility_modifier'和'trait_compatibility'触发使用。Compatibility是检查特质持有者与所列(另一个角色的)特质的相性。
compatibility = {
	gluttonous = 20
	drunkard = @pos_compat_low
}
parent_inheritance_sex 指定该特质是否可以从男性/女性/所有父母那里继承(默认为全部)。 parent_inheritance_sex = male/female/all
child_inheritance_sex 指定该特质是否可以由男性/女性/所有子代继承(默认为全部)。 child_inheritance_sex = male/female/all
genetic 如果设置为“yes”(默认为“no”),继承将遵循以下规则。特质可以是隐性的。子女可以从显性和隐性的父母特质中继承该特质。

显性有100%的机会被继承,隐性的特质有50%的机会被继承。如果该特质从父母双方成功继承,它就会变成显性的。 如果只从父母一方继承,则为隐性特质。

genetic = yes/no
inherit_from_real_father 该特质是否应该从亲生(生)父亲那里继承?(默认为“yes”)。 inherit_from_real_father = yes/no
enables_inbred 这个特质可以让角色的子女被考虑为近亲繁殖(默认为“no”)。

只有在父母有共同祖先的情况下,它才会启用近亲繁殖概率,所以如果父母没有关系,就不会有'近亲繁殖'的风险。 如果近亲繁殖没有被父母的特质启用,但是他们有共同的祖先,那么有机会(和近亲繁殖特质启用时一样),孩子会得到一个随机的特质,该特质enabling_inbred = yes。

enables_inbred = yes/no
good 标记该特质为好的good(默认为no)。 good = yes/no
genetic_constraint_all 当获得特质时,将采用这种遗传约束(genetic constraint)。为了添加新的遗传约束,在common\ethnicities中设置范围前,需要在gfx\portraits\trait_portrait_modifiers中进一步修改。 genetic_constraint_all = beauty
forced_portrait_age_index 角色将使用这个肖像年龄索引值index,而不是标记为“通用generic”的某个年龄子基因。如果你想在它们之间随机化,你可以指定多个这样的索引值index。如果多个特征被强制索引,则会在所有的索引值index之间随机化。 forced_portrait_age_index = 1
forced_portrait_age_index 显示你可以定义不止一个索引值index的例子。 forced_portrait_age_index = 2
portrait_extremity_shift 获得该特质时,每个形态基因morph gene将以这个百分比向0或1(中最近的一个)移动;例如,0.4将向0移动25%,结果为0.3。 portrait_extremity_shift = 0.25
immortal 将阻止视觉上的衰老,并使角色免疫自然死亡。仍可被脚本杀死。生育力将与视觉上的年龄相匹配。你可以使用set_immortal_age来改变视觉上的年龄。 immortal = yes
physical 将该特质标记为身体特质 physical = yes
health_trait 将该特质标记为与健康有关 health_trait = yes
fame 标记该特质为名誉相关 fame = yes
trait_exclusive_if_realm_contains 将领特质随机分配给将领时考虑的地形类型列表。只有当将领的文化中包含一个具有列表中指定地形类型之一的省份时,才会分配/考虑这些特质。 trait_exclusive_if_realm_contains = {}

创建永生特质[编辑 | 编辑源代码]

如同上一代游戏,授予永生属性的特质在游戏发布时未出现,但已经编写好了程序,可以轻易被创建。只需要在特质中加入以下参数:immortal = yes

为了让你的永生者看起来永远年轻,你可以设置永生年龄。例如,set_immortal_age = 30

本地化[编辑 | 编辑源代码]

默认情况下,名称键值是trait_<key>,描述键值是trait_<key>_desc。

图标[编辑 | 编辑源代码]

默认的图标路径位于gfx/interface/icons/traits/<trait>.dds

这些可以用动态描述进行覆盖。 例如:

name = some_loc_key

或者

name = {
	first_valid = { ... }
}

参数是:name,desc,icon

Root作用域是该角色。注意,某些情况下可能没有Root,所以如果你在添加动态名称、描述和图标,确保你的第一个检查是“NOT = { exists = this }”作为fallback回退。 举例:

icon = {
	first_valid = {
		triggered_desc = {
			trigger = { NOT = { exists = this } }
			desc = "gfx/interface/icons/traits/diligent.dds"
		}
		
		triggered_desc = {
			trigger = { gold > 1000 }
			desc = "gfx/interface/icons/traits/diligent.dds"
		}
		
		desc = "gfx/interface/icons/traits/deceitful.dds"
	}
}