宗教模组制作

本页面所适用的版本可能已经过时,最后更新于1.0
咯咯炀讨论 | 贡献2020年12月30日 (三) 11:34的版本

使用游戏提供的高度模块化设计,很容易在游戏中添加新宗教。

宗教组

每个宗教属于一个宗教组。三个原版宗教组是亚伯拉罕宗教组、东方宗教组和原始宗教组。例如:

  • 基督教和伊斯兰教属于亚伯拉罕宗教组
  • 斯拉夫原始宗教和原始宗教属于原始宗教组

宗教组位于/common/religion/religion_families。宗教组使用带有字母数字ID的标签定义。举例,亚伯拉罕宗教组定义如下:

rf_abrahamic = {
	graphical_faith = "orthodox_gfx"
	hostility_doctrine = abrahamic_hostility_doctrine
	doctrine_background_icon = core_tenet_banner_christian.dds
}

下表是设置宗教组时可以使用的所有参数。

属性 类型 描述 举例
name localization key 如果没有设置,则将对象的键值作为本地化键值 name = name_of_the_family
is_pagan boolean 指定该组是否为原始宗教(默认值是yes) is_pagan = no
graphical_faith gfx 该宗教组内的所有宗教默认为该3D模型(目前用于神殿地产)。优先顺序是从最低级开始:信仰 > 宗教 > 宗教组。 graphical_faith = catholic_gfx
piety_icon_group gfx 该宗教组内的所有宗教默认为该组虔诚图标。优先顺序是从最低级开始:信仰 > 宗教 > 宗教组。 piety_icon_group = christian
doctrine_background_icon gfx 该宗教组内的所有宗教默认为该教义背景图标。优先顺序是从最低级开始:信仰 > 宗教 > 宗教组。 doctrine_background_icon = core_tenet_banner_christian.dds
hostility_doctrine doctrine INTERFACE ONLY:Use this doctrine when displaying hostility information for the whole religious family (if not scripted, then show no information) hostility_doctrine = christian_hostility_doctrine

宗教结构

宗教位于/common/religion/religions文件夹。每个宗教使用一个文件定义,并且属于该宗教的信仰也在其中定义。宗教使用带有字母数字ID的标签定义。下面是一个虚构宗教的例子(本地化和信仰将在下文讨论):

sea_cults = {
	family = rf_pagan
	graphical_faith = pagan_gfx
	
	doctrine = pagan_hostility_doctrine
	
	pagan_roots = yes
	
	#Main Group
	doctrine = doctrine_spiritual_head
	doctrine = doctrine_gender_male_dominated
	doctrine = doctrine_pluralism_fundamentalist
	doctrine = doctrine_theocracy_lay_clergy

	#Marriage
	doctrine = doctrine_concubines
	doctrine = doctrine_divorce_allowed
	doctrine = doctrine_bastardry_legitimization
	doctrine = doctrine_consanguinity_cousins

	#Crimes
	doctrine = doctrine_homosexuality_shunned
	doctrine = doctrine_adultery_men_shunned
	doctrine = doctrine_adultery_women_accepted
	doctrine = doctrine_kinslaying_accepted
	doctrine = doctrine_deviancy_accepted
	doctrine = doctrine_witchcraft_crime

	#Clerical Functions
	doctrine = doctrine_clerical_function_taxation
	doctrine = doctrine_clerical_gender_either
	doctrine = doctrine_clerical_marriage_allowed
	doctrine = doctrine_clerical_succession_spiritual_appointment

	traits = {
		virtues = { brave lunatic_1 wrathful }
		sins = { patient content shy }
	}

	reserved_male_names = {
		Lobbo Lobbeu Lobst Lob Lobr Loabstr Lobb Lub Leurbo
	}
	reserved_female_names = {
		Lobba Lobbelia Lobsta Loba Lober Loabstra Lobba Lubas Leurbos
	}
	holy_order_names = {
		{ name = "holy_order_claw_bearers" }
		{ name = "holy_order_clackers" }
		{ name = "holy_order_servants_of_the_lobbo" }
		{ name = "holy_order_the_pile" }
	}
	holy_order_maa = { huscarl }
	custom_faith_icons = { custom_faith_1 custom_faith_2 custom_faith_3 custom_faith_4 custom_faith_5 custom_faith_6 custom_faith_7 custom_faith_8 custom_faith_9 custom_faith_10 lobbist lobbist_reformed }

	localization = {
		...
	}

	faiths = {
		...
	}
}

下表是设置宗教时可以使用的所有参数。

属性 类型 描述 举例
family religion family 宗教所属的宗教组 family = family_name
graphical_faith gfx 该宗教组内的所有信仰默认为该3D模型(目前用于神殿地产)。优先顺序是从最低级开始:信仰 > 宗教 > 宗教组。 graphical_faith = catholic_gfx
piety_icon_group gfx 该宗教组内的所有信仰默认为该组虔诚图标。优先顺序是从最低级开始:信仰 > 宗教 > 宗教组。 piety_icon_group = christian
doctrine_background_icon image file 该宗教组内的所有信仰默认为该教义背景图标。优先顺序是从最低级开始:信仰 > 宗教 > 宗教组。 doctrine_background_icon = core_tenet_banner_christian.dds
pagan_roots boolean If yes, then faiths without the unreformed doctrine are considered reformed by the interface. pagan_roots = yes
doctrine doctrine 在宗教内定义的教义将应用于其中的所有信仰。这只是在游戏开局时;这纯粹是为了方便写脚本,相当于把教义放在所有信仰内。在具体的信仰内定义不同的教义可以覆盖它。Note that doctrines that allow more than one pick can not be defined on a religion level, as there's no obvious override system that would work then. 教义不能在信仰部分之后定义。 doctrine = doctrine_spiritual_head
traits clause 定义哪些特质被认为是美德和罪恶。Notes on virtues and sins: List traits that are virtues for all followers. Trait groups also work. If more than one trait in a group is defined (or the group itself), only the first will be shown in the UI

sins = { ... } # (sins) # Virtues and sins give an opinion bonus/penalty (see VIRTUOUS_TRAIT and SINFUL_TRAIT defines). For that it is the "viewer's" faith that matters. # E.g. if generous is a christian virtue, all christian characters will think more highly of all others with that trait, even if the others are not christian. # Holders of the traits will also get the virtue_owner_modifier/sin_owner_modifier for each matching trait. # Virtues and sins can optionally have a multiplier to scale the effects (default is 1): virtues = { brave = 0.5 } # scales both the opinion effect and the modifier # And they can specify a custom modifier (default is virtue_owner_modifier/sin_owner_modifier): sins = { stubborn = { monthly_prestige = -0.1 } } # When using a custom modifier you can specify a scale as well (default is 1): sins = { stubborn = { monthly_prestige = -0.1 scale = 2 } } # scales both the opinion effect and the modifier

virtues = { brave generous } sins = { stubborn = { monthly_prestige = -0.1 scale = 2 } }
reserved_male_names list<string> Names listed here will be applied to all faiths that don't define reserved_male_names themselves. These names can be applied to newborn males when selecting a religion-based name. reserved_male_names = { Rodrigo Johan Paradoxus }
reserved_female_names list<string> Same as reserved_male_names, but applied to female characters instead.
custom_faith_icons list<gfx> When creating a custom faith, these will be the available icons. Path is "gfx/interface/icons/religion/%s.dds", where %s is the name. Also needs a text icon custom_faith_icons = { custom_faith_1 custom_faith_2 custom_faith_3 }
localization list<localization keys> See localization inside faiths below.
holy_order_names list<clause> Names and CoAs that can be used by holy orders of this religion. These are used if there are none available for the faith. If there are none left here, it uses "holy_order_default" as name and a randomly generated CoA instead.
holy_order_names = {
		{ name = "holy_order_name1" coat_of_arms = "holy_order_coa1" }
		{ name = "holy_order_name2" coat_of_arms = "holy_order_coa2" }
		...
	}
holy_order_maa list<regiment type> Men-At-Arms types mostly used for holy orders. The culture of the headquarters of the holy order must have unlocked the required innovation. (It will use the last available type in the list.) holy_order_maa = { huscarl }
faiths list<Faiths> See below

信仰

Faiths are defined within the faith clause of a religion. They can overwrite default doctrines and graphics set for the whole religion. Here is an example of a fictional faith within the religion defined above.

faiths = {
	lobbist = {
		color = { 0.2 0.2 0.9 }
		icon = lobbist
		reformed_icon = lobbist_reformed
		holy_site = uppsala
		holy_site = lejre
		holy_site = paderborn
		holy_site = zeeland
		holy_site = ranaheim

		doctrine = unreformed_faith_doctrine
		doctrine = tenet_warmonger
		doctrine = tenet_human_sacrifice
		doctrine = tenet_ancestor_worship
			
	}
}

Below is a list of all parameters that can be set for faiths.

Attribute Type Description Example
color rgb color = { 0.2 0.2 0.9 }
icon gfx If you want to use another faith's icon icon = bosnian_church
graphical_faith gfx This faith (and custom faiths based on this faith) use this 3D model (currently used for temple assets). Order of precedence is the lowest level scripted in: faith > religion > family. graphical_faith = catholic_gfx
piety_icon_group gfx This faith (and custom faiths based on this faith) use this set of piety icons. Order of precedence is the lowest level scripted in: faith > religion > family. piety_icon_group = christian
doctrine_background_icon gfx This faith (and custom faiths based on this faith) use this doctrine background icon. Order of precedence is the lowest level scripted in: faith > religion > family.
religious_head title What title should be this faith's religious head. If not set, will not have a religious head (unless created elsewhere in script) religious_head = d_coptic_papacy
holy_site holy site Holy site, as defined in the holy_site folder. You can add any number of these holy_site = jerusalem
doctrine doctrine
reserved_male_names/reserved_female_names list<string>
localization

本地化

The localization clause in both faiths and religions provides key-value pairs for localization. However, this clause does not include object localization for the religion/faith itself and its basic properties. The following localization keys also need defining:

  • <religion/faith_name>
  • <religion/faith_name>_adj
  • <religion/faith_name>_adherent
  • <religion/faith_name>_adherent_plural
  • <religion/faith_name>_desc

Below is a list of keys that need to be paired for localization. Although you can use this as a reference, it is also possible to simply copy and paste this list from a vanilla file and add your own keys where needed. Although many items in the list are not relevant to many religions/faiths, they can simply be assigned to a key used by another more relevant item. (e.g. FertilityGodName in Christianity is given as "$christianity_high_god_name$" in the localization file):

  • HighGodName
  • HighGodNamePossessive
  • HighGodNameSheHe
  • HighGodHerselfHimself
  • HighGodHerHis
  • HighGodNameAlternate
  • HighGodNameAlternatePossessive
  • CreatorName
  • CreatorNamePossessive
  • CreatorSheHe
  • CreatorHerHis
  • CreatorHerHim
  • HealthGodName
  • HealthGodNamePossessive
  • HealthGodSheHe
  • HealthGodHerHis
  • HealthGodHerHim
  • FertilityGodName
  • FertilityGodNamePossessive
  • FertilityGodSheHe
  • FertilityGodHerHis
  • FertilityGodHerHim
  • WealthGodName
  • WealthGodNamePossessive
  • WealthGodSheHe
  • WealthGodHerHis
  • WealthGodHerHim
  • HouseholdGodName
  • HouseholdGodNamePossessive
  • HouseholdGodSheHe
  • HouseholdGodHerHis
  • HouseholdGodHerHim
  • FateGodName
  • FateGodNamePossessive
  • FateGodSheHe
  • FateGodHerHis
  • FateGodHerHim
  • KnowledgeGodName
  • KnowledgeGodNamePossessive
  • KnowledgeGodSheHe
  • KnowledgeGodHerHis
  • KnowledgeGodHerHim
  • WarGodName
  • WarGodNamePossessive
  • WarGodSheHe
  • WarGodHerHis
  • WarGodHerHim
  • TricksterGodName
  • TricksterGodNamePossessive
  • TricksterGodSheHe
  • TricksterGodHerHis
  • TricksterGodHerHim
  • NightGodName
  • NightGodNamePossessive
  • NightGodSheHe
  • NightGodHerHis
  • NightGodHerHim
  • WaterGodName
  • WaterGodNamePossessive
  • WaterGodSheHe
  • WaterGodHerHis
  • WaterGodHerHim
  • PantheonTerm
  • PantheonTermHasHave
  • GoodGodNames (list)
  • DevilName
  • DevilNamePossessive
  • DevilSheHe
  • DevilHerHis
  • DevilHerselfHimself
  • EvilGodNames (list)
  • HouseOfWorship
  • HouseOfWorshipPlural
  • ReligiousSymbol
  • ReligiousText
  • ReligiousHeadName
  • ReligiousHeadTitleName
  • DevoteeMale
  • DevoteeMalePlural
  • DevoteeFemalePlural
  • DevoteeNeuter
  • DevoteeNeuterPlural
  • PriestMale
  • PriestMalePlural
  • PriestFemale
  • PriestFemalePlural
  • PriestNeuter
  • PriestNeuterPlural
  • AltPriestTermPlural
  • BishopMale
  • BishopMalePlural
  • BishopFemale
  • BishopFemalePlural
  • BishopNeuter
  • BishopNeuterPlural
  • DivineRealm
  • PositiveAfterLife
  • NegativeAfterLife
  • DeathDeityName
  • DeathDeityNamePossessive
  • DeathDeitySheHe
  • DeathDeityHerHis
  • WitchGodName
  • WitchGodHerHis
  • WitchGodSheHe
  • WitchGodHerHim
  • WitchGodMistressMaster
  • WitchGodMotherFather
  • GHWName
  • GHWNamePlural

图像

No graphical modding is required to create a religion or faith, since there is an abundance of icons in the vanilla game, either in use by other religions or reserved for custom faiths. However, adding a new icon is very simple, if you feel that none of the vanilla icons are fitting for your religion. In the path /gfx/interface/icons/religion, create a new 100x100 dds file. The name of the file is how the icon is referred to in the religion file. (e.g. icon = lobbist will refer to /gfx/interface/icons/religion/lobbist.dds).

圣地

另见:圣地 ID

Custom holy sites can be added in a text document in the /common/religion/holy_sites folder. Each site is identified by a name, and contains information on the location of the site and the benefits (or potentially negatives) it brings.

jerusalem = {
	county = c_jerusalem
	
	character_modifier = {
		monthly_piety_gain_mult = 0.2
	}
	flag = jerusalem_conversion_bonus # +20% County Conversion
}

Below are the attributes which can be assigned to a holy site. Only the county is necessary.

Attribute Type Description Example
county title The county in which the holy site is located county = c_jerusalem
barony title The barony in which the holy site is located barony = b_vaticano
character modifier modifier Applied to all characters of any faith with this holy site when the holder of the barony is of their faith character_modifier = {

monthly_piety_gain_mult = 0.2 }

flag flag flag = jerusalem_conversion_bonus

Holy sites also require the following keys in localization:

  • holy_site_<name>_name
  • holy_site_<name>_effect_name
  • holy_site_<name>_effects
 holy_site_jerusalem_name:0 "Jerusalem"
 holy_site_jerusalem_effect_name:0 "From [holy_site|E] #weak ($holy_site_jerusalem_name$)#!"
 holy_site_jerusalem_effects:0 "County Conversion Speed: #P +20%#!"


核心教义ID

每个核心教义在游戏文件中有一个内部ID用于引用。一般,核心教义的ID来自于它的名称:

  1. 使用默认的非变体名称(即,不是特定信仰使用的异名)
  2. 将所有大写字母转为小写(A...Z->a...z
  3. 将所有空格( )替换为下划线(_
  4. 在名称前添加tenet_

不满足上述方式的核心教义ID列于下表:

名称 核心教义 ID
生而兴旺 tenet_mystical_birthright
神慰圣事 tenet_consolamentum
教权制 tenet_pentarchy
宗教法 tenet_religious_legal_pronouncements
圣诳 tenet_sacred_shadows
认可假意改信 tenet_false_conversion_sanction
斗争与顺服 tenet_struggle_submission
调和信仰的民间传统 tenet_unreformed_syncretism