物种特质与领袖特质

common/traits 中物种特质和领袖特质的写法、可用性条件、修正块与图标

同一个文件夹,两类特质

物种特质和领袖特质都放在 common/traits/,键名没有强制前缀,区分它们的是字段:领袖特质有 leader_class、leader_trait_type,物种特质有 allowed_archetypes、species_possible_add 之类。原版习惯是物种特质用 trait_,领袖特质用 leader_trait_。

原版说明文件:

文件内容
000_documentation_species_traits.txt物种特质字段
000_documentation_leader_traits.txt领袖特质字段与修正块
000_documentation_autmodding_species_traits.txt机器人自动改造相关

物种特质

原版“聪慧”(common/traits/04_species_traits.txt):

Clausewitz 脚本
trait_intelligent = {
	cost = 2
	category = normal
	species_possible_add = {
		can_add_genetic_traits = yes
	}
	species_possible_remove = {
		OR = {
			can_remove_beneficial_genetic_traits = yes
			can_remove_vocational_genetic_traits = yes
		}
	}
	species_possible_merge_remove = {
		always = yes
	}
	opposites = { "trait_nerve_stapled" "trait_erudite" "trait_enigmatic_intelligence_poor" }
	allowed_archetypes = { BIOLOGICAL LITHOID }
	tags = { organic positive pop_output research }
	modifier = {
		researcher_jobs_bonus_workforce_mult = 0.10
	}
	slave_cost = {
		trade = 500
	}
}

谁能拥有这个特质

字段说明
cost特质点;负数表示负面特质(返还点数)
categorynormal(默认)、cyborg、robotic、psionic、advanced_genetic、overtuned、malleable、mutation
allowed_archetypes允许的物种原型:BIOLOGICAL、LITHOID、ROBOT、MACHINE
archetype_override触发器;成立时无视上一项
allowed_planet_classes / allowed_planet_classes_override按母星类型限制
species_class / species_class_override按物种类别限制
opposites互斥特质
allowed_origins / forbidden_origins、allowed_civics / forbidden_civics、allowed_ethics / forbidden_ethics只影响帝国创建界面
hidden = yes在模板修改界面里隐藏

注意 文档特别提醒:新增正面特质时,要把它加进 trait_invasive 的 opposites。

基因改造相关的触发器

以下都是物种作用域,from 是进行改造的国家,默认都是 always = yes:

字段控制的是
species_potential_add改造/随机时是否显示
species_possible_add新建模板时能否加上
species_possible_merge_add把模板应用到现有物种时能否加上
species_possible_remove能否去掉
species_possible_merge_remove应用模板时能否去掉

物种特质的修正块

modifier 是最常用的。另外几种在文档里各有作用域和显示规则:

字段作用对象提示框
triggered_species_modifier该物种的人口,作用域为物种生效时显示
triggered_pop_group_modifier人口组,作用域为人口组不显示
triggered_planet_growth_habitability_modifier增长与宜居度类修正,作用域为行星不显示
triggered_planet_pop_group_modifier_for_all / _for_species同建筑中的同名字段不显示

“不显示”的修正请用 custom_tooltip 或 custom_tooltip_with_modifiers 自己补说明。

cost 也可以写成带 base 与 modifier 的块。文档提醒:没有国家作用域时(例如帝国创建界面、银河生成)只取 base,所以 base 一定要设成合理值。

领袖特质

原版科学家特质“专长:材料科学”(common/traits/00_scientist_traits.txt,略有删减):

Clausewitz 脚本
leader_trait_expertise_materials = {
	force_councilor_trait = yes
	leader_trait_type = veteran
	inline_script = {
		script = trait/icon_engineering
		CLASS = scientist
		ICON = "GFX_leader_trait_expertise_materials"
		RARITY = free_or_veteran
		COUNCIL = yes
		TIER = 1
	}
	councilor_modifier = {
		category_materials_research_speed_mult = @expertise_tier_1_mult
		category_materials_draw_chance_mult = 0.25
	}
	leader_class = { scientist }
	ai_weight = 100
}

获得方式

字段说明
leader_class = { ... } 或 all哪些领袖职业能获得
leader_trait_typebasic(默认)、veteran、subclass、destiny、negative
randomized = no不参与生成、升级和每年负面特质的随机
starting_ruler_trait = yes帝国创建时可选给统治者,cost 为点数
leader_potential_add触发器,this 为领袖、from 为国家
prerequisites / requires_traits / requires_governments前置科技、物种特质、政体
opposites / replace_traits互斥;获得时替换掉旧特质(用来做升级链)
selectable_weight升级时出现在候选中的权重,默认 100
on_gained_effect获得时执行的效果

修正加在哪里

领袖特质的修正块决定修正作用于谁:

字段作用对象
modifier领袖所在的对象(舰队、星球……)
self_modifier领袖本人
planet_modifier担任总督时的殖民地
sector_modifier担任总督时整个星区(不含有总督的星球)
fleet_modifier / army_modifier指挥的舰队、陆军
system_modifier所在星系
councilor_modifier进入议会时给国家
background_planet_modifier领袖的出身星球
galcom_modifier / federation_modifier担任银河议会、联邦代表时

每种都有 triggered_ 版本,this 是领袖,from 是修正作用的对象。

图标

文档说明领袖特质图标用分层格式 icon = { layer = { icon = "GFX_…" color = … visible = { … } } };原版用 trait/icon 等 inline_script 统一生成,参数 CLASS、ICON、RARITY、COUNCIL、TIER 的取值见 000_documentation_leader_traits.txt 末尾。ICON 是一个 sprite 名,原版定义在 interface/icons/traits/leader_traits.gfx:

Clausewitz 脚本
spriteType = {
	name = "GFX_leader_trait_expertise_materials"
	texturefile = "gfx/interface/icons/traits/leader_trait_icons/expertise_materials.dds"
}

sprite 的写法见 GFX 与 Sprite。

物种特质不需要 sprite,按键名读取 gfx/interface/icons/traits/<特质键>.dds,例如原版的 trait_intelligent.dds。

本地化

两类特质都是 <键> 加 <键>_desc:

本地化 YML
l_simp_chinese:
 trait_mymod_nocturnal: "夜行"
 trait_mymod_nocturnal_desc: "这个物种在黑暗中最为活跃。"

在脚本里增删特质

写法作用域说明
add_trait = <键>领袖也可写成块,带 consume_selection、show_message
remove_trait = <键>领袖all_negative 去掉全部负面特质
modify_species = { species = this add_trait = <键> }物种、人口组、行星等生成一个修改后的新物种
has_trait = <键>国家、人口、人口组、领袖、物种触发器

modify_species 默认 change_scoped_species = yes,会把当前作用域的物种换成新物种;完整参数见 effects.log。