宗教修改

本文是添加新宗教、编辑现有宗教和宗教组的指南。它假定你已熟悉游戏中与宗教相关的机制。

快速清单

添加新宗教:

  • 在宗教文件中为该宗教创建条目(如有必要,还需创建宗教组)
  • 在 gfx/interface 文件夹中的 icon_religion、icon_religion_small 和 province_view_religion 文件里添加图标
  • 在 interface/countryview.GFX、interface/provinceview.GFX 和 interface/countrycourtview.GUI 的相应条目中添加帧
  • 为新宗教添加本地化
  • 儒家的修正分散在 religion.txt、defines.lua 和事件修正中

宗教文件

原版宗教位于 common/religions/00_religions.txt。要编辑这些宗教,或向原版宗教组添加新宗教,请将此文件复制到模组中并在那里编辑。不要更改文件名。要添加全新的宗教组,请改为在模组的 common/religions 文件夹中创建一个任意名称的新 .txt 文件。仅含单个条目的简单宗教组如下所示:

jewish_group = {
        flags_with_emblem_percentage = 33
        flag_emblem_index_range = { 28 28 }
        jewish = {
                icon = 20
                color = { 0.6 0.1 0.4 }
                country = {
                        tolerance_own = 2
                        advisor_pool = 1
                }
                province = {
                        local_missionary_strength = -0.02
                }
                heretic = { SAMARITAN KARAITE }
        }
}

宗教组

所有宗教都必须属于某个宗教组(基督教、犹太教、穆斯林等)。宗教组必须拥有唯一的名称。在本节中,在向组内添加宗教之前,可以写入组内所有宗教共有的属性。所有这些属性都是可选的。最值得注意的有:

脚本 说明
defender_of_faith = yes 决定信奉该组内某一宗教的国家是否可以使用信仰守护者机制。
can_form_personal_unions = yes 决定信奉该组内某一宗教的国家是否可以使用君合国机制
center_of_religion = [province id] 决定该宗教组最重要的省份。宗教改革中心只能出现在与宗教中心相同的大陆上。
crusade_name = CRUSADE 决定在使用特定宣战理由、以该宗教组的名义宣布的圣战的名称。

自定义国家与傀儡国旗帜

还可以决定为非玩家创建的自定义国家和傀儡国生成的旗帜的多样性。这可以在宗教组层级上决定(原版中一直如此),但可以在组内各个宗教条目中覆盖。

flags_with_emblem_percentage = 33
flag_emblem_index_range = { 1 18 }

第一个属性决定生成的旗帜包含徽记的可能性,是一个简单的百分比。 第二个属性决定可生成的徽记范围。这是为了确保不会为新国家生成完全不合适的旗帜,例如带有十字架徽记的穆斯林国家。

宗教条目

新宗教必须拥有唯一的名称。宗教条目至少必须包含以下内容:

  • color = { 0 127 255 } - 颜色(用于宗教地图模式),自 1.21 补丁起使用 8 位 RGB(0-255)格式;在 1.21 补丁之前的所有版本中使用小数(0.0-1.0)。
  • icon = 20 - 一个整数,表示该宗教在界面文件中的图标。稍后将进一步说明。
  • heretic = { SAMARITAN KARAITE } - 该宗教的异端叛军类型名称。至少应列出一个异端类型。

修正

国家作用域的修正会应用于信奉特定宗教的国家。宗教作用域内的 country 作用域定义这些修正:

country = {
    tolerance_own = 2
    advisor_pool = 1
}

省份作用域的修正会应用于信奉特定宗教的省份。宗教作用域内的 province 作用域定义这些修正:

province = {
    local_missionary_strength = -0.02
}

对于融合信仰,通过融合信仰采用某一宗教的国家会获得不同的国家作用域修正。宗教作用域内的 country_as_secondary 作用域定义这些修正:

country_as_secondary = {
     idea_cost = -0.1
}

宗教转换

某些宗教在特定情况下可以选择转换为其他宗教。要允许一个宗教转换为另一个宗教,请在宗教条目中添加以下内容:

allowed_conversion = {
        hinduism
}

如果允许宗教转换,还应包含一个“on_convert”部分,例如:

on_convert = {
        change_religion = hinduism
        add_prestige = -100
        add_country_modifier = {
                name = "conversion_zeal"
                duration = 3650
        }
}

该部分至少应包含“change_religion = [目标宗教]”这一行。此部分可以包含任何作用域为国家的标准效果。

宗教机制

如果指定,新宗教可以使用原版宗教的特殊机制。建议不要混用不同原版宗教的机制。虽然可以这样做,但可能需要高级的界面修改才能正常工作。机制包括:

脚本 说明
papacy = {} 使用天主教教廷系统。不是布尔值;必须在 papacy 条目内定义教宗标签、选举花费和教廷所在地。
hre_religion = yes 使用神圣罗马帝国的宗教派系和三十年战争系统。具有此属性的宗教将成为神圣罗马帝国的默认官方宗教,就像原版游戏中的天主教一样。
hre_heretic_religion = yes 同上,但决定被视为主要异端的宗教,就像原版游戏中的新教一样。
date = [any date] 决定该宗教在游戏历史中生效的日期(对在此日期之前开始的游戏没有影响)。
fervor = yes 使用改革宗的狂热机制
fetishist_cult = yes 使用拜物教崇拜机制(基础游戏中拜物教和阿尔彻林加都使用)
has_patriarchs = yes 使用东正教牧首权威机制
uses_piety = yes 使用穆斯林虔诚度机制
personal_deity = yes 使用个人神祇系统(原版中由北欧诸神和印度教使用)
authority = yes 使用因蒂教权威机制
religious_reforms = yes 使用中美洲宗教改革机制
doom = yes 使用纳瓦特尔末日机制
uses_church_power = yes 使用教会力量机制
uses_anglican_power = yes 使用圣公宗面向机制
uses_karma = yes 使用佛教业力机制
uses_isolationism = yes 使用神道教孤立主义机制。灾难必须另行定义。
ancestors = yes 使用图腾崇拜祖先机制
gurus = {} 使用锡克教上师机制。不是布尔值;必须在 guru 条目内另行定义上师。
uses_harmony = yes 使用儒家和谐化机制
blessings = { } 使用科普特祝福。不是布尔值;必须在 blessings 条目内以及 church_aspects 文件夹中定义祝福
uses_judaism_power = yes 使用犹太教面向与庆典机制。

其他宗教属性

还有一些其他特殊属性可以使用,它们不涉及宗教机制所带来的复杂问题:

脚本 说明
misguided_heretic = yes 该组内的其他宗教与这些国家的默认关系,会比与其他异端国家的默认关系更高。在原版游戏中,科普特正教和东正教拥有此加成。
declare_war_in_regency = yes 信奉该宗教的国家可以在摄政期间宣战。在原版游戏中,只有纳瓦特尔教拥有此加成。
can_have_secondary_religion = yes 信奉该宗教的国家可以拥有融合信仰,就像原版游戏中的腾格里教一样。与其他宗教机制不同,拥有此机制的宗教还可以毫无问题地同时使用另一种宗教机制。

机制的可修改性

以下概述了哪些机制适用于新的自定义宗教。

机制 可修改性
天主教教廷 只能全局更改。可以更改教廷行动、金玺诏书;教廷界面大部分是硬编码的,但本地化和外观可以修改。教宗标签对每个宗教都是唯一的,没有它,教廷机制将无法运作。
改革宗狂热 只能全局更改。可以更改狂热的获取修正。可以更改狂热聚焦的效果和花费。
东正教牧首 图标可以更改,且易于修改。牧首权威只能全局更改。
穆斯林虔诚度 只能全局更改。可以更改高虔诚度和低虔诚度的缩放修正,也可以更改虔诚度行动。
北欧诸神/印度教 personal_deity 易于修改,可以为自定义宗教添加新的神祇。
因蒂教权威 较易修改。要使宗教改革对新宗教生效,请在 common/on_actions 中的 00_on_actions.txt 内,于 on_buy_religious_reform 里添加一个事件。
中美洲宗教改革 参见因蒂教权威。
纳瓦特尔末日 末日机制只能全局更改,且仅在改革信仰之前有效,但除此之外可以修改。参见因蒂教权威。
新教面向 易于修改,可以引入新的面向,并更改花费以及 trigger 和 potential 的支持。
圣公宗面向 易于修改,可以引入新的面向,并更改花费以及 trigger 和 potential 的支持
科普特圣地 易于修改,可以添加新的圣地位置和效果。与新教或圣公宗面向不同,不需要在 countryreligionview.gui 中添加专门的条目。
佛教业力 只能全局更改。行动的效果可以更改。低/高业力的修正可以更改。
神道教孤立主义 较易修改。孤立主义等级只能全局更改,并且为每个使用此机制的国家单独定义。可以为自定义宗教添加独特的事变。
锡克教上师 易于修改,可以为每个宗教添加独特的上师效果、面向、日期和名称。上师教诲修正只能全局更改。
和谐 有限。可以为单个宗教添加特定修正,但仅限于异端宗教。而除此之外的任何人(异教徒)都会被强制归入与其相对应的单一宗教组(基督教、穆斯林、达摩宗教等)。

宗教图形与界面

新宗教应当有自己的图形和图标,如果没有界面,它们可能会失效。

图标图形

在 gfx/interface 文件夹中找到以下文件,并将其复制到模组中:

  • country_icon_religion.dds,见于外交界面。
  • icon_religion.dds,见于宗教标签页。
  • icon_religion_small.dds,见于省份界面。
  • province_view_religion.dds,见于地图上的宗教中心。

使用你喜欢的图像编辑软件编辑这些文件。横向扩展图像,并添加你的新图标。

提示:icon_religion_small.dds 与 province_view_religion.dds 这两个文件是等价的。

图标界面

在 interface 文件夹中找到以下文件,并将其复制到模组中:

  • countryview.gfx
  • ledger.gfx
  • provinceview.gfx

在 countryview.gfx 中,找到名为“GFX_icon_religion”、“GFX_country_icon_religion”和“GFX_icon_religion_small”的精灵。在这些条目中,找到表示帧数的那一行。在该数字上加上你在上一阶段添加到宗教图标条带中的新宗教图标数量。在 provinceview.gfx 中,对名为“GFX_province_view_religion”的精灵执行同样的操作。在 ledger.gfx 中,对名为“GFX_religion_icon_strip”的精灵执行同样的操作。

宗教界面窗口

如果你想让模组添加的宗教适用于新教或圣公宗的面向界面,就必须进入 interface/countryreligionview.gui,并添加一个名为 countryreligionview_aspectitem_YOURRELIGION 的教会面向条目窗口(此处以新教为例):

	windowType = {
		name = "countryreligionview_aspectitem_protestant"
		backGround =""
		position = { x=10 y=-20 }
		size = { x=50 y=46 }
		moveable = 0
		dontRender = ""
		horizontalBorder = ""
		Orientation = "UPPER_LEFT"

		iconType =
		{
			name ="aspect_icon"
			spriteType = "GFX_hindu_deities_strip"
			position = { x= 45 y = -14 }
		}

		instantTextBoxType = {
			name = "aspect_name"
			position = { x= -42 y = 6 }
			font = "vic_18"
			borderSize = {x = 0 y = 0}
			text = "AspectName"
			maxWidth = 102
			maxHeight = 108
			Orientation = "UPPER_LEFT"
			format = left
		}

		instantTextBoxType = {
			name = "aspect_effect"
			position = { x = 98 y = -2 }
			font = "vic_18"
			borderSize = {x = 0 y = 0}
			text = "AspectEffect"
			maxWidth = 206
			maxHeight = 108
			Orientation = "UPPER_LEFT"
			format = left
		}

		guiButtonType = {
			name = "pick_aspect"
			position = { x=301 y = 1}
			quadTextureSprite ="GFX_standard_button_71"
			buttonText = "SELECT"
			buttonFont = "vic_18"
			Orientation = "LEFT"
		}
	}

为此你其实不必复制并编辑原版的 gui 文件,新建一个文件同样可行。 如果没有它,游戏可能会在点击选择面向的按钮时崩溃。

本地化

添加宗教后,有许多项目需要进行本地化。以下以犹太教宗教组为例,列出其本地化条目:

jewish_group: "Jewish"
jewish: "Jewish"
jewish_religion_desc:1 "The oldest Abrahamic religion in the game, Judaism builds upon the Torah and the traditions and scriptures of the Jewish people going back over 3000 years.\nBy the start of the game the Jewish faith is a minority faith in most of the world and only exist in the two provinces of Semien and Dembiya in Ethiopia."
karaite: "Karaite"
samaritan: "Samaritan"
jewish_rebels_demand: "Convert $COUNTRYNAME$"
jewish_rebels_demand_desc: "The religious rebels fight for the $RELIGION$ religion. They demand that we recognize its supremacy or at the very least cease our efforts to convert them and let them worship in peace."
jewish_rebels_title: "Religious"
jewish_rebels_name: "$RELIGION$ Zealots"
jewish_rebels_desc: "Religious fanatics tend to rise up in provinces controlled by nations of a different faith. They seek to spread their faith and smite all unbelievers."
jewish_rebels_army: "$RELIGION$ Army"

这里对宗教和宗教组的名称以及异端类型的名称进行了本地化。同时也为犹太教的宗教叛军添加了本地化。

佛教业力修改

业力高点和低点的修正存储在 common/static_modifiers 文件夹中的静态修正里

karma_just_right = {
    diplomatic_reputation = 2
    discipline = 0.05
}

karma_too_high = {
    diplomatic_reputation = 1
}

karma_too_low = {
    discipline = 0.025
}

以上是它们的定义示例。注意,任何更改都会全局应用于所有设有 uses_karma = yes 的宗教。

个人神祇修改

如果宗教文件夹中某宗教的条目里包含 personal_deity = yes 这一行,则该宗教使用个人神祇系统。要编辑现有的北欧或印度教神祇,请将 common/personal_deities 中的相关文件复制到模组中。要创建新的个人神祇,请在模组的 common/personal_deities 文件夹中创建一个新的文本文件。

个人神祇文件

以下是个人神祇文件中自定义条目的示例:

quetzalcoatl = {
	idea_cost = 0.05
	land_morale = 0.1
	sprite = 55
	potential= { religion = nahuatl }
	trigger = {}
	effect = {}
	removed_effect = {}
	ai_will_do = {
	 	factor = 1
	 	modifier = {
	        	factor = 2
	        	personality = ai_militarist
	 	}
	 	modifier = {
	        	factor = 0.5
	        	personality = ai_diplomat
	 	}
	}
}

该条目中有 4 个部分:

  • 加成:条目开头未经分类的属性。可使用任何作用域为国家的效果。
  • sprite:决定使用哪个神祇图标。若该值大于实际的神祇数量,则不会显示图标,这也是一种有效的选择。
  • potential:可使用任何作用域为国家的触发条件。应有一个触发条件用于确定该神祇是为哪个宗教设计的。如果触发条件未满足,该神祇不会显示在列表中。
  • trigger:可使用任何作用域为国家的触发条件。如果触发条件未满足,该神祇无法被选择,玩家可以在工具提示中看到该触发条件。
  • effect:请在此补充一些文档
  • removed_effect:请在此补充一些文档
  • ai_will_do:AI 国家如何选择个人神祇的指示。可使用任何作用域为国家的触发条件,不过原版中使用的唯一触发条件是 AI 性格。

个人神祇图标

个人神祇的图标的创建和引用方式与宗教图标大致相同,不过这里需要编辑的文件有所不同。

图形文件位于 gfx/interface/hindu_deities_strip.dds。将其复制到模组中。要添加新图标,请使用你喜欢的图像编辑软件打开该文件,扩展画面,并添加你的新图标。

界面文件位于 interface/countryreligionview。将其复制到模组中。在该文件中找到名为 "GFX_hindu_deities_strip" 的精灵,并添加数量与你向图形文件中添加的新图标数量相等的帧。

个人神祇本地化

个人神祇的本地化非常简单:

shiva: "Shiva"
shiva_desc: "Shiva is the god of transformation through destruction and the Lord of Dance."

教会面向修改

如果宗教条目中包含 uses_church_power = yes 这一行,则该宗教使用教会面向机制。教会面向文件位于 common/church_aspects 路径下。原版条目可以在 common/church_aspects/00_church_aspects.txt 中编辑,而新条目既可以添加到该文件中,也可以添加到该文件夹下的新文件中。

教会面向文件

以下是教会面向文件中条目的示例:

organised_through_bishops_aspect = {
        cost = 100
        modifier = {
                development_cost = -0.05
        }
        ai_will_do = {
                factor = 15
                modifier = {
                        factor = 1
                        is_at_war = no
                }
        }
}

该条目有三个部分:修正、效果和 AI 使用的指示。修正和效果可使用任何作用域为国家的标准修正/效果。ai_will_do 的运作方式与决议修改中的通常用法相同。

教会面向 GUI

本节仅适用于添加使用教会力量的新宗教。

要让新宗教使用自定义的教会力量面向,你必须编辑 countryreligionview.gui,或在 MODNAME/interface 文件夹中创建一个新的 .gui 文件(参见上文宗教图形与界面一节)。每个使用教会力量的新宗教都需要有一个专门为其设置的部分,这样 gui 才能正常工作,否则游戏会在加载该宗教时,或在尝试使用教会力量时立即崩溃。即使你不打算制作任何自定义面向,对于使用教会力量的非原版宗教,这也是必需的。

如果没有完成上述操作,当你尝试为自定义宗教使用任何教会面向时,游戏就会崩溃。

教会面向本地化

与个人神祇一样,教会面向的本地化非常简单。注意,描述的本地化需要在字符串其余部分之前加上 desc_。

organised_through_bishops_aspect: "Organised Through Bishops"
desc_organised_through_bishops_aspect: "Bishops used to be leader of a single church, confined to an urban area. Etc."

宗教改革中心修改

如果宗教条目中包含“will_get_center”触发条件,则该宗教使用宗教改革中心机制。你需要将该宗教添加到“common\00_scripted_triggers.txt”中的“can_have_center_of_reformation_trigger”里,该触发条件才会判定为真。如果该触发条件判定为真,则可以通过事件或“on_convert”效果使用“will_get_center”效果为国家添加一个宗教改革中心。如果对该国家而言“will_get_center”判定为假,那么对该国家的某个省份使用“add_reform_center”将不会有任何作用。自 1.35 起,宗教改革中心可以出现在你的宗教文件中定义为“center_of_religion”的省份之外的其他大陆上。然而,在 1.34 及更早的补丁中,它必须位于同一大陆。 宗教还必须在 /common/religious_conversions/00_religious_conversions.txt 中关联一个宗教改革中心,才能使用宗教改革中心机制。你也可以选择为地图图标分配另一幅图像:在 /interface/mapicons.gfx 中添加一个条目,并将 00_religious_conversions.txt 中的值改为所添加条目的名称(可以使用“.dds”文件,并在条目中填写指向该文件的路径,但扩展名写为“.tga”)。 图像的第一“帧”用于拥有该类型宗教改革中心的省份,第二“帧”用于正被该类型宗教改革中心转化的省份。

中心的属性可以在 defines.lua 文件中找到(注:自 1.27 起,宗教改革中心的 base_conversion_speed 可以在 common\religious_conversions\00_religious_conversions.txt 中找到):

脚本 说明
MAX_CHRISTIAN_RELIGIOUS_CENTERS 每个宗教最多可以存在多少个宗教改革中心
MAX_RELIGIOUS_CENTER_SPREAD_DISTANCE 宗教改革中心可以转化相邻省份的最大距离
MONTHLY_CONVERSION_SPEED 中心每月转化一个省份的百分比

这意味着上述属性对所有拥有宗教改革中心的宗教都是通用的。

原版游戏通过两种方式添加中心:当新教改革和改革宗改革事件触发时,会有一个国家获得一个中心;以及在转为新教或改革宗时,如果存在合适的省份,就会添加一个宗教改革中心。

宗教改革中心本地化

脚本 说明
CENTER_OF_REFORMATION 效果“add_reform_centre”所显示的文本
REMOVE_CENTER_OF_REFORMATION 效果“remove_reform_center”所显示的文本
CENTER_OF_REFORMATION_CENTER 将鼠标悬停在省份中的宗教改革中心图标上时显示的文本
CENTER_OF_REFORMATION_CONVERT 将鼠标悬停在正被宗教改革中心转化的省份上时显示的文本
CENTER_OF_REFORMATION_POSSIBLE 转换宗教时,若“will_get_center”子句判定为真所显示的文本,以及“on_convert”效果中效果“add_reform_centre”所显示的文本。
CENTER_OF_REFORMATION_NO_PROVINCE 转换宗教时,若“will_get_centre”子句判定为假所显示的文本
CENTER_OF_REFORMATION_IMPOSSIBLE 转换宗教时,若中心数量已达上限所显示的文本
CENTER_OF_REFORMATION_END 似乎不会出现在游戏中
CENTER_OF_REFORMATION_NOT_AVAILABLE 转换为不具备宗教改革中心机制的宗教时显示的文本
CENTER_OF_REFORMATION_HAS_ALREADY 转换宗教时,若你已拥有一个宗教改革中心所显示的文本
CENTER_OF_REFORMATION_RELIGION_NOT_POSSIBLE 似乎不会出现在游戏中
CENTER_OF_REFORMATION_CONVERT_PROGRESS 将鼠标悬停在省份宗教图标上方、显示其被宗教改革中心转化进度的进度条时所显示的文本
CENTER_OF_REFORMATION_CONVERT_END 似乎不会出现在游戏中

音效

每个宗教都关联着多种音效。例如:start_convert_$RELIGION$、religion_$RELIGION$、defender_of_the_$RELIGION$_faith 和 $RELIGION$_blessings。参见Sound_modding。

原版宗教名称

部分宗教的宗教 ID 与预期不同,下表列出了所有原版宗教及其对应的 ID

游戏内名称 id
天主教 catholic
新教 protestant
改革宗 reformed
东正教 orthodox
科普特正教 coptic
胡斯派 hussite
逊尼派 sunni
伊巴德派 ibadi
什叶派 shiite
大乘佛教 mahayana
金刚乘佛教 vajrayana
神道教 shinto
上座部佛教 buddhism
儒家 confucianism
印度教 hinduism
锡克教 sikhism
因蒂教 inti
纳瓦特尔教 nahuatl
万物有灵论 animism
拜物教 shamanism
图腾崇拜 totemism
玛雅宗教 mesoamerican_religion
北欧诸神 norse_pagan_reformed
腾格里教 tengri_pagan_reformed
阿尔彻林加 dreamtime
犹太教 jewish
琐罗亚斯德教 zoroastrian


文档 效果 • 触发条件 • 修正列表 • 作用域 • 变量 • 本地化 • 可自定义本地化 • 运行文件 • 事件图片列表
脚本 脚本函数 • 顾问 • 时代 • 开局设定 • 建筑 • 宣战理由 • 殖民区域 • 国家创建 • 文化 • 决议 • Defines • 外交行动 • 灾难 • 中华帝国 • 阶层 • 事件 • 派系 • 政府 • 政府互动 • 伟大工程 • 历史 • 神圣罗马帝国 • 理念组 • 思潮 • 佣兵 • 任务树 • 修正 • On Actions • 议会 • 和约 • 君主性格 • 政策 • 叛军类型 • 宗教 • 附属国类型 • 科技 • 贸易公司 • 商品 • 单位
地图 地图 • 地图修改速查 • 随机新世界 • 贸易节点
图形 模型 • 界面 • 贴图库 • 字体 • 单位模型
音频 音乐 • 音效
其他 控制台命令 • 校验和 • 模组结构 • 故障排查 • 运行文件
工具 克劳塞维茨开局编辑器 • EU4模组编辑工具 • JoroDox模组制作工具 • The Validator
指南 省份 • 地图修改速查 • 存档编辑 • 脚本教程