文化模组制作

本页面所适用的版本可能已经过时,最后更新于1.1
咯咯炀讨论 | 贡献2020年11月23日 (一) 16:46的版本

得益于游戏的高度模块化设计,可以轻松地将新文化,革新和时代添加到游戏中。 本文涵盖common/culture 路径下的每个子文件夹。

文化组

每个文化都隶属于一个文化组。

name_of_culture_group = {
	graphical_cultures = {
		first_culture_group_coa_gfx
		second_culture_group_coa_gfx
		culture_group_building_gfx
		culture_group_clothing_gfx
		culture_group_unit_gfx
	}
	mercenary_names = {
		{ name = "mercenary_company_name1" coat_of_arms = "mercenary_company_coa1" }
		{ name = "mercenary_company_name2" coat_of_arms = "mercenary_company_coa2" }
		...
	}
	first_culture = {
		...
	}
	second_culture = {
		...
	}
}

以下就是文化组可以设置的所有参数。

属性 类型 说明 举例
name List<culturegfx> 用于文化的盾徽、建筑、服饰和单位图像列表。每种类型可以给出不止一个图像,所有图像都将被使用。 graphical_cultures = { steppe_coa_gfx }
mercenary_names List<complex> 此文化组的雇佣兵可以使用的名称和盾徽列表。
参数 类型 描述
name localization key 雇佣兵名称的本地化键值。
coat_of_arms coat of arm 可选。此名称的雇佣兵的盾徽。
mercenary_names = {
	{ name = "mercenary_company_ghilman" coat_of_arms = "mc_ghilman" }
}

文化

每种文化属于一个文化组。

name_of_culture_group = {
		...

	first_culture = {
		# graphical_cultures = { ... }
		
		mercenary_names = {			# 此文化的雇佣兵可以使用的名称和盾徽
			{ name = "mercenary_company_name1" coat_of_arms = "mercenary_company_coa1" }
			{ name = "mercenary_company_name2" coat_of_arms = "mercenary_company_coa2" }
			...
		}
		
		color = { 1 0.5 0.2 }	# 文化的颜色,例如在地图上使用

		character_modifier = {	# 作用于此文化所有角色的修正
			diplomacy = 1
		}

		male_names = {
			10 = {	// 此组名字的权重。权重越高,名字越常见。 
				commonNameA commonNameB_baseA commonNameC commonNameD_baseA	// 名字列表,nameX_baseY是指nameX是基础名称baseY的变体(例如 John_John Jan_John Ian_John)
			}
			1 = {
				rareNameA rareNameB
			}
		}
		
		female_names = {	// 名字也可以定义为没有权重的单一列表
			nameA_baseB nameB nameC_baseB
		}

		dynasty_names = {	// 宗族名(姓)列表,类似于male_names/female_names,只是没有权重
			{ dynnp_von dynn_Pommern }	// 但它支持在基础名前定义前缀。因此需要{}
			{			dynn_Orsini }	// 前缀是可选的
						dynn_Fournier	// 不使用前缀的{}也是如此
		}
		dynasty_of_location_prefix = "dynnp_von" // 基于头衔生成宗族名时,添加此前缀

		# 男性孩子以(外)祖父或父亲的名字命名的概率。总和不得超过100。
		pat_grf_name_chance = 50
		mat_grf_name_chance = 5
		father_name_chance = 10
		
		# 女性孩子以(外)祖母或母亲的名字命名的概率。总和不得超过100。
		pat_grm_name_chance = 10
		mat_grm_name_chance = 50
		mother_name_chance = 5
		
		# 父名(Patronyms)。因父亲/母亲的名字得名。可以同时使用前缀和后缀(“McDavidson”麦克大卫逊)。 _vowel用于父名的名字以元音开头时。
		patronym_prefix_male = "dynnpat_pre_mac"
		patronym_prefix_male_vowel = "dynnpat_pre_vow_mag"
		patronym_prefix_female = "dynnpat_pre_nic"
		patronym_prefix_female_vowel = "dynnpat_pre_vow_nig"
		
		patronym_suffix_male = "dynnpat_suf_son"
		patronym_suffix_female = "dynnpat_suf_sdaughter"
		
		# 父名(Patronyms)会在名字中显示,如果:
		# - 角色的文化有“always_use_patronym = yes”,或
		# - 角色的政体有“always_use_patronym = yes”,或
		# - 角色领主的政体有“always_use_patronym = yes”
		# 默认是否(no)
		always_use_patronym = yes	
		
		ethnicities = {
			10 = german		// 此权重表明该文化内此种族(ethnicity)有多常见
			10 = caucasian
		}
	}
	
	second_culture = {
		...
	}
}

下表列出了可用于设置文化的所有参数。

属性 类型 描述 举例
mercenary_names List<complex> 此文化的雇佣兵可以使用的名称和盾徽列表
参数 类型 描述
name localization key 雇佣兵名称的本地化键值。
coat_of_arms coat of arm 可选。此名称的雇佣兵的盾徽。
mercenary_names = {
	{ name = "mercenary_company_1" coat_of_arms = "coa_1" }
}
graphical_cultures List<culturegfx> 用于文化的盾徽、建筑、服饰和单位图像列表。每种类型可以给出不止一个图像,所有图像都将被使用。 graphical_cultures = { english_coa_gfx }
Color Decimal RGB Values 文化的颜色。 color = { 0.1 0.75 0.1 }
character_modifier List<character_modifiers> 作用于此文化所有角色的修正。
character_modifier = {
     diplomacy = 1
}
cadet_dynasty_names List<localization> 宗族支系的名称列表。
cadet_dynasty_names = {
     "dynasty_loc"
     "dynasty2_loc"
}
dynasty_names List<localization> 宗族名称列表。
dynasty_names = {
     "dynasty_loc"
     "dynasty2_loc"
}
male_names List<localization> List of cultural names for male characters. Names with spaces need enclosing quotation marks. ("Name name2")
Parameter Type Description
# name group weight The weight for this group of names, the higher, the more common the name is.
male_names = {
     male_name_1 male-name-2 maleName3 "Male Name 4"
}
female_names List<localization> List of cultural names for male characters. Names with spaces need enclosing quotation marks. ("Name name2")
Parameter Type Description
# name group weight The weight for this group of names, the higher, the more common the name is.
female_names = {
     female_name_1 female-name-2 femaleName3 "Female Name 4"
}
dynasty_of_location_prefix Localization Cultural equivalent of 'of', e.g - Joan of Arc/Joan D'Arc dynasty_of_location_prefix = "prefix"
bastard_dynasty_prefix Localization Optional, Prefix for bastard dynasties bastard_dynasty_prefix = "snow"
Male Ancestor Name Chance Integer Chance of male children being named after their paternal or maternal grandfather, or their father. Sum must not exceed 100.
Parameter Type Description
pat_grf_name_chance integer Chance of male being named after Paternal Grandfather.
mat_grf_name_chance integer Chance of male being named after Maternal Grandfather.
father_name_chance integer Chance of male being named after their father.
pat_grf_name_chance = 50 #50% chance of being named after Paternal Grandfather
mat_grf_name_chance = 5  #5% chance of being named after Maternal Grandfather
father_name_chance = 10  #10% chance of being named after Father
Female Ancestor Name Chance Integer Chance of female children being named after their paternal or maternal grandmother, or their mother. Sum must not exceed 100.
Parameter Type Description
pat_grm_name_chance integer Chance of male being named after Paternal Grandmother.
mat_grm_name_chance integer Chance of male being named after Maternal Grandmother.
mother_name_chance integer Chance of female being named after their mother.
pat_grm_name_chance = 10 #10% chance of being named after Paternal Grandmother
mat_grm_name_chance = 50 #50% chance of being named after Maternal Grandmother
mother_name_chance = 5   #5% chance of being named after Mother
patronym_prefix_male Localization Names after the primary male parent patronym_prefix_male= "patronym"
patronym_prefix_male_vowel Localization Names after the primary male parent whose name starts with a vowel patronym_prefix_male_vowel = "v_patronym"
patronym_suffix_male Localization Names after the primary male parent but adds a suffix, e.g- Erikson patronym_suffix_male = "patronym_s"
patronym_prefix_female Localization Names after the primary female parent patronym_prefix_female = "f_patronym"
patronym_prefix_female_vowel Localization Names after the primary female parent whose name starts with a vowel patronym_prefix_female_vowel = "fv_patronym"
patronym_suffix_female Localization Names after the primary female parent but adds a suffix, e.g- Aylasdaughter patronym_suffix_female = "f_patronym_s"
always_use_patronym Boolean Optional (default is no), whether or not a culture always displays Patronyms. (Patronyms can also be turned on from government/liege's government) always_use_patronym = yes
ethnicities List<ethnicities> List of ethnicities common within the culture
Parameter Type Description
# ethnicity weight The weight says how common the ethnicity is within the culture.
ethnicities = {
     10 = ethnicity_1
      5 = ethnicity_2 #Half as common as ethnicity 1
}
dynasty_title_names Boolean Optional (default is no), uses dynasty name rather than title name when appropriate dynasty_title_names = yes
founder_named_dynasties Boolean Optional (default is no), uses dynasty name rather than title name when appropriate founder_named_dynasties = yes
dynasty_name_first Boolean Optional (default is no), dynasty name comes before given name (Far-East Style) founder_named_dynasties = yes

文化组ID

Culture groups have an internal ID used within the game files. To get a culture group's ID from its in-game name:

  1. Turn all letters into lowercase (A...Z->a...z).
  2. Replace spaces ( ) and hyphens (-) with underscores (_).
  3. Add _group to the end.

Groups that do not follow the convention above have been listed in this table:

Culture group Internal ID
Horn African somalian_group
Guinean Uplander west_african_group

文化ID

Similar to the above, each culture has an internal ID. To get a culture's ID from its in-game name:

  1. Turn all letters into lowercase (A...Z->a...z).
  2. Remove any diacritics from letters, including accents (á->a) and umlauts/diaereses (ü->u).

Cultures that do not fit this pattern have been listed below:

Culture group Internal ID
Permian komi
Ostyak khanty
Bjarmian samoyed
Scots scottish
Pomeranian pommeranian
Oghuz turkish