Preferred Religions

siredgar

Warlord
Joined
Feb 12, 2002
Messages
109
Location
New York, NY
Will somebody please make a mod that makes the civs prefer certain religions over others? I don't like it when France founds Islam or when Norway founds Buddhism. I know many civs have ONE preferred religion. But they only have one. And, currently a lot of civs do not even have a preferred religion. IMO, they should have second and third preferred religions.

I can make a list of preferred religions for each civ something like this:

American : Protestantism - Catholicism - Judaism
Arabian : Islam - Zoroastrianism - Hinduism
Australian : Protestantism - Catholicism - Judaism
Aztec : Catholicism - Protestantism - Hinduism
Brazilian : Catholicism - Protestantism - Eastern Orthodoxy
Chinese : Taoism - Confucianism - Buddhism
Cree : Protestantism - Catholicism - Shinto
Dutch : Protestantism - Catholicism - Judaism
Egyptian : Islam - Zoroastrianism - Hinduism
English : Protestantism - Catholicism - Judaism
French : Catholicism - Protestantism - Judaism
Georgian : Eastern Orthodoxy - Catholicism - Protestantism
German : Protestantism - Catholicism - Eastern Orthodoxy
Greek : Eastern Orthodoxy - Catholicism - Protestantism
Indian : Hinduism - Sikhism - Buddhism
Indonesian : Islam - Buddhism - Hinduism
Japanese : Shinto - Buddhism - Confucianism
Khmer : Buddhism - Hinduism - Confucianism
Kongolese : Catholicism - Protestantism - Islam
Korean : Confucianism - Buddhism - Taoism
Macedonian : Eastern Orthodoxy - Catholicism - Protestantism
Mapuche : Catholicism - Protestantism - Shinto
Mongolian : Buddhism - Confucianism - Taoism
Norwegian : Protestantism - Catholicism - Eastern Orthodoxy
Nubian : Judaism - Islam - Eastern Orthodoxy
Persian : Zoroastrianism - Islam - Hinduism
Polish : Catholicism - Eastern Orthodoxy - Protestantism
Roman : Catholicism - Eastern Orthodoxy - Protestantism
Russian : Eastern Orthodoxy - Catholicism - Judaism
Scottish : Catholicism - Protestantism - Judaism
Scythian : Islam - Zoroastrianism - Judaism
Spanish : Catholicism - Protestantism - Judaism
Sumerian : Islam - Zoroastrianism - Judaism
Zulu : Islam - Judaism - Protestantism

Moderator Action: Moved to Requests and Ideas. leif
 
Last edited by a moderator:
Code:
<!-- Matches for favored religions. Leaders will try to match on leader type first, then on civ type, then choose randomly -->
<FavoredReligions>
	<Row LeaderType="LEADER_T_ROOSEVELT" ReligionType="RELIGION_PROTESTANTISM"/>
	<Row LeaderType="LEADER_SALADIN" ReligionType="RELIGION_ISLAM"/>
	<Row LeaderType="LEADER_PEDRO" ReligionType="RELIGION_CATHOLICISM"/>
	<Row LeaderType="LEADER_QIN" ReligionType="RELIGION_TAOISM" />
	<Row LeaderType="LEADER_VICTORIA" ReligionType="RELIGION_PROTESTANTISM" />
	<Row LeaderType="LEADER_CATHERINE_DE_MEDICI" ReligionType="RELIGION_CATHOLICISM"/>
	<Row LeaderType="LEADER_BARBAROSSA" ReligionType="RELIGION_CATHOLICISM"/>
	<Row LeaderType="LEADER_GANDHI" ReligionType="RELIGION_HINDUISM" />
	<Row LeaderType="LEADER_HOJO" ReligionType="RELIGION_BUDDHISM"/>
	<Row LeaderType="LEADER_MVEMBA" ReligionType="RELIGION_CATHOLICISM"/>
	<Row LeaderType="LEADER_HARDRADA" ReligionType="RELIGION_PROTESTANTISM"/>
	<Row LeaderType="LEADER_PETER_GREAT" ReligionType="RELIGION_ORTHODOXY"/>
	<Row LeaderType="LEADER_PHILIP_II" ReligionType="RELIGION_CATHOLICISM"/>
</FavoredReligions>
However, none of the Firaxis made civs from Vanilla for these leaders has any designation in the table for "CivilizationType", so if the preferred religion is already taken, the game will default to a random selection. The table "FavoredReligions" is defined as
Code:
-- Table of suggested religions. Will try to match leader first, then civ, then random pick
CREATE TABLE "FavoredReligions" (
	"LeaderType" TEXT,
	"CivilizationType" TEXT,
	"ReligionType" TEXT NOT NULL,
	PRIMARY KEY(LeaderType, CivilizationType, ReligionType),
	FOREIGN KEY (ReligionType) REFERENCES Religions(ReligionType) ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY (LeaderType) REFERENCES Leaders(LeaderType) ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY (CivilizationType) REFERENCES Civilizations(CivilizationType) ON DELETE CASCADE ON UPDATE CASCADE);
So about all that could be done would be to add a second selection under the allowed "CivilizationType" column to all the leaders. And this assumes that the "CivilizationType" is actually implemented within the game's controlling DLL to do anything with such designations in the database.
 
Thank you for your kind response. But I must be daft. I didn't completely understand what you're saying. Are you saying that I can enter XML script to have the civs cascade to a second or third preferred religion. Or are you saying I can't? Is the second set of code something you wrote?

If I can enter this script, how do I do it? Yesterday, I downloaded the Development Tools and Assets. But I had no idea how to edit or even find the XML script. Do I need to make a new mod or something? I am totally clueless about XML script. Please help. Thanks again.
 
Both sets of code are snippets taken from the game's base files. The first shows the usage of the table "FavoredReligions" from within the Leaders XML file, and the second is from the SQL file that defines all the game-tables the game is coded to use, and what columns are available within each table.

You can only attempt to give a second choice by adding a designation for "CivilizationType" and a favored religion for that Civilization. But if both the religion specified as favored by the leader and favored by a civilization are already taken, then the game defaults to random selection from those religions still available.

Since Firaxis never entered anything into the table for the CivilizationType having a favored religion, the current effect implemented by the game is to make random selection from those religions still available when the one favored by the leader is already taken by another leader.
 
Okay, I was able to go into the XML files and edit the preferred religion for some civs.

But where do I go to access the SQL files? How exactly can I cascade? Can you kindly show me an example of how to do this?

Thanks very much.
 
Last edited:
You don't want to change the game's base SQL files. Doing so would have no effect except to potentially corrupt them and/or make the game not operate correctly. You merely want to look at the Firaxis provided SQL files for the definitions and restrictions of what the various game-tables can contain.

For Vanilla, the SQL definitions of the game-tables are at location: C:\Program Files (x86)\Steam\SteamApps\common\Sid Meier's Civilization VI\Base\Assets\Gameplay\Data\Schema

"cascading" as shown in the snippet of SQL code I quoted is automatic because it is defined as an inherent property of the table-definition. CASCADE is an inherent command available to SQL. You don't need to worry about it because you are not creating a new game-table, you are only adding or removing information from an existing game-table.
 
Back
Top Bottom