Hey there, I snooped around in the BI files and put some energy into adding a new religion.
By the way: I'm the first how-to for BI ;)
Ok, what I will do in this how-to is add Judaism to the game as a minority religion in the city of Rome, add a synagogue building and create some traits and ancillaries for it. I won't edit most graphics though.
I am no jew, so sorry if I offend anyone with this, I don't know too much alltogether about Judaism, so just drop an answer or send me a PM if you feel offended and tell me what you want changed.
//edit (10/22/05): It seems that newly added religions don't cause unrest or civil order. This is currently being researched, but don't assume that you did something wrong if your newly added religion doesn't make your people feel unhappy ;)
Step one: Get comfortable with data/descr_beliefs.txt
Adding a new faith is a no-brainer. Just copy an existing one
Code:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
judaism
data/ui/pips/pip_religion_judaism_positive.tga
data/ui/pips/pip_religion_judaism_negative.tga
data/ui/pips/pip_religion_judaism.tga
JEWISH_LABEL
JEWISH_UNREST
JEWISH_ORDER
The pips have to be 24-bit TGA files with 16x16 pixels size. The directory information is resolved to the original R:TW base directory, so you have to create a folder called "Rome: Total War/data/ui/" then create a folder called "pips" inside this folder and put the images in there. You can see the images I used for the jewish religion below (you can't see them in the screenshots because this part was discovered by Andreas, big thanks, and I didn't keep my edited files):
(edited 10/25/05)
Step two: Adding the labels to data/text/expanded_bi.txt
Just append the following:
Code:
{JEWISH_LABEL} Judaism
{JEWISH_ORDER} Judaism is improving public order in this settlement
{JEWISH_UNREST} Judaism is causing unrest in this settlement
Step three: Giving Rome faith in data/world/maps/campaign/barbarian_invasion/descr_regions.txt
Copy /data/world/maps/base/descr_regions.txt to the campaign folder first.
Then edit the Northern Italy entry:
Code:
Northern_Italy
legion: Italica
Rome
empire_west
Latins
52 13 198
pottery, iron, slaves, marble, rome
5
7
christianity 50 pagan 25 judaism 25
As you can see, I weakened the christian majority to 50% and included a strong jewish minority with 25%. This is probably historically inaccurate but what the hell
Also change the Palaestina entry to this (see below):
Code:
Palaestina
legion: Palaestinae
Jerusalem
empire_east
Judaeans
244 13 29
olive_oil, wine, slaves, purple_dye, camels, berber, jerusalem
5
8
christianity 95 zoroastrian 5
Don't forget to delete map.rwm in the campaign folder before you start the game ;)
This is basically all there is to it. Read further for an additional account on what else you can do:
Step four: Creating synagogue buildings in data/export_descr_buildings.txt and data/export_descr_buildings_enums.txt
Add the following to data/export_descr_buildings.txt (I made it available to the Romans only as an off. belief):
Code:
building temple_synagogue
{
levels tefilah beit_midrash beit_knesset jewish_temple
{
tefilah requires factions { roman, }
{
capability
{
happiness_bonus bonus 1
religious_belief judaism 1
}
construction 1
cost 400
settlement_min town
upgrades
{
beit_midrash
}
}
beit_midrash requires factions { roman, }
{
capability
{
happiness_bonus bonus 2
religious_belief judaism 2
law_bonus bonus 1
}
construction 2
cost 800
settlement_min large_town
upgrades
{
beit_knesset
}
}
beit_knesset requires factions { roman, }
{
capability
{
happiness_bonus bonus 3
religious_belief judaism 3
law_bonus bonus 2
}
construction 3
cost 1600
settlement_min city
upgrades
{
jewish_temple
}
}
jewish_temple requires factions { roman, } and hidden_resource jerusalem
{
capability
{
happiness_bonus bonus 4
religious_belief judaism 4
law_bonus bonus 4
}
construction 5
cost 3200
settlement_min large_city
upgrades
{
}
}
}
plugins
{
}
}
Add the hidden_resource jerusalem at the beginning:
Code:
hidden_resources rome britain bosphoran berber slav sughdian
Then add this to data/export_descr_buildings_enums.txt:
Code:
tefilah
tefilah_desc
tefilah_desc_short
beit_midrash
beit_midrash_desc
beit_midrash_desc_short
beit_knesset
beit_knesset_desc
beit_knesset_desc_short
jewish_temple
jewish_temple_desc
jewish_temple_desc_short
Step 4.1: Describing the buildings in data/text/export_buildings.txt
Code:
{tefilah} Tefilah
{tefilah_desc}
The Tefilah is the most basic religious building of the Jews. Translated it means "House of Worship", so this is a place for prayer only.
{tefilah_desc_short}
The Tefilah is the basic Jewish religious building.
{beit_midrash} Beit Midrash
{beit_midrash_desc}
Beit Midrash means "House of Study". This improves the Tefilah with additional rooms to offer learning capabilities.
{beit_midrash_desc_short}
The Beit Midrash is an advanced Jewish religious building adding scholars to your Tefilah.
{beit_knesset} Beit K'nesset
{beit_knesset_desc}
The Beit K'nesset, more commonly referred to as a "Synagogue", which is just the Greek translation of the name, further enhances the Beit Midrash and is a magnificent place for learning and devotion.
{beit_knesset_desc_short}
The Beit K'nesset is a large Jewish building that provides its city with an advanced religious infrastructure.
{jewish_temple} Jewish Temple
{jewish_temple_desc}
The Jewish Temple is a uniquely beautiful and marvelous building. It is built similar to the great Temple of Salomo, which was destroyed by Roman forces in 70 AD after the second Jewish rebellion. The Jews belief that it will be rebuilt when the Messiah arrived, thus it is only available in Jerusalem.
{jewish_temple_desc_short}
This is the Temple of Salomo rebuilt, the most advanced religious building available for a Jewish settlement.
Step five: Adding Jewish ancillaries in data/export_descr_ancillaries.txt and data/export_descr_ancillary_enums.txt
In data/export_descr_ancillaries.txt add this:
Code:
;------------------------------------------
Ancillary jewish_gabbai
Image roman_official_ancillary.tga
ExcludeCultures barbarian, carthaginian, eastern, hun, nomad
Description jewish_gabbai_desc
EffectsDescription jewish_gabbai_effects_desc
Effect Influence 1
Effect Unrest -1
;------------------------------------------
Ancillary jewish_rabbi
Image roman_official_ancillary.tga
ExcludeCultures barbarian, carthaginian, eastern, hun, nomad
Description jewish_rabbi_desc
EffectsDescription jewish_rabbi_effects_desc
Effect Squalor -1
Effect Unrest -1
Effect Influence 1
Religious_Belief judaism 1
;------------------------------------------
Ancillary jewish_high_priest
Image roman_official_ancillary.tga
ExcludeCultures barbarian, carthaginian, eastern, hun, nomad
Description jewish_high_priest_desc
EffectsDescription jewish_high_priest_effects_desc
Effect Influence 3
Effect Unrest -3
Religious_Belief judaism 2
And these triggers:
Code:
;------------------------------------------
Trigger trigger_jewish_gabbai
WhenToTest CharacterTurnEnd
Condition EndedInSettlement
and RemainingMPPercentage = 100
and Trait Jew >= 1
and SettlementBuildingExists >= tefilah
and IsGeneral
AcquireAncillary jewish_gabbai chance 5
;------------------------------------------
Trigger trigger_jewish_rabbi
WhenToTest CharacterTurnEnd
Condition EndedInSettlement
and RemainingMPPercentage = 100
and Trait Jew >= 1
and SettlementBuildingExists >= beit_midrash
and IsGeneral
AcquireAncillary jewish_rabbi chance 3
;------------------------------------------
Trigger trigger_jewish_high_priest
WhenToTest CharacterTurnEnd
Condition EndedInSettlement
and RemainingMPPercentage = 100
and Trait Jew >= 1
and SettlementBuildingExists >= tefilah
and IsGeneral
and not FactionWideAncillaryExists jewish_high_priest
AcquireAncillary jewish_high_priest chance 2
Step 5.1: Describing the ancillaries in data/text/export_ancillaries.txt
Code:
{jewish_gabbai} Gabbai
{jewish_gabbai_desc}
A Gabbai is a person with profound knowledge of the lecture of the Torah. He has the honour of reciting or chanting passages of the Torah at religious services.
{jewish_gabbai_effects_desc}
+1 to influence, -1 to unrest
{jewish_rabbi} Rabbi
{jewish_rabbi_desc}
This is a man who was trained in Jewish religious practice and the lecture of the Torah for long years, as such he is able to teach others parts of his knowledge.
{jewish_rabbi_effects_desc}
+5% Jewish conversion, -1 to squalor, -1 to unrest, +1 to influence
{jewish_high_priest} Kohein
{jewish_high_priest_desc}
The Kohein are direct descendants of Aaron. They undertake important parts of the religious service in the Jewish temple.
{jewish_high_priest_effects_desc}
+10% Jewish conversion, -3 to unrest, +3 to influence
Step six: Adding the "Jewish" character traits to data/export_descr_character_traits.txt and data/export_descr_VnVs_enums.txt
First add this:
Code:
;------------------------------------------
Trait Jew
Characters all
AntiTraits Pagan, Zoroastrian, Christian
Level Jew
Description Jew_desc
EffectsDescription Jew_effects_desc
Threshold 1
Religious_Belief judaism 1
Now if you want a satisfying experience, you should search for "Christian" and then "Pagan" and everywhere they appear in AntiTraits, you should add "Jew" to the list (like this:)
Code:
;------------------------------------------
Trait Pagan
Characters all
AntiTraits Christian, Zoroastrian, Jew
Level Pagan
Description Pagan_desc
EffectsDescription Pagan_effects_desc
Threshold 1
Religious_Belief pagan 1
Then search in the file for "birth_religion_roman_1" and after this trigger insert a new one:
Code:
;------------------------------------------
Trigger birth_religion_roman_3
WhenToTest CharacterComesOfAge
Condition CultureType roman
and Trait Pagan = 0
and Trait Christian = 0
and Trait Zoroastrian = 0
Affects Jew 1 Chance 10
Now every (born) Roman faction member will have a chance of 10% to become a Jew.
Add to data/export_descr_VnVs_enums.txt
Code:
Jew
Jew_desc
Jew_effects_desc
Step 6.1: Describing the trait in data/text/export_VnVs.txt
Code:
{Jew} Jew
{Jew_desc}
This man is a Jew.
{Jew_effects_desc}
+5% Jewish conversion
Step seven: Making a character a Jew and adding a synagogue building in data/world/maps/campaign/barbarian_invasion/descr_strat.txt
I used the WRE faction leader to test these and modified him like this:
Code:
character Valentinianus Flavius, named character, leader, age 62, , x 95, y 71
traits LoyaltyStarter 1 , RomanFactionLeader 1, Jew 1 , Anger 3 , PoliticsSkill 2 , Corrupt 1 , ExpensiveTastes 2 , BadTrader 3
ancillaries elder_senator, famous_warrior, historian, jewish_gabbai, jewish_rabbi, jewish_high_priest
army
unit imperial german bodyguard exp 2 armour 1 weapon_lvl 1
unit comitatenses exp 1 armour 0 weapon_lvl 0
unit comitatenses exp 1 armour 0 weapon_lvl 0
unit roman priest exp 0 armour 0 weapon_lvl 0
unit comitatenses exp 1 armour 0 weapon_lvl 0
unit comitatenses exp 1 armour 0 weapon_lvl 0
unit comitatenses exp 1 armour 0 weapon_lvl 0
unit western archer exp 0 armour 0 weapon_lvl 0
unit bucellarii exp 0 armour 0 weapon_lvl 0
unit foederati cavalry exp 0 armour 0 weapon_lvl 0
unit foederati cavalry exp 0 armour 0 weapon_lvl 0
Replace the Northern_Italy entry with this:
Code:
settlement
{
level huge_city
region Northern_Italy
year_founded 363
population 50491
plan_set default_set
faction_creator empire_west
building
{
type core_building imperial_palace
}
building
{
type defenses epic_stone_wall
}
building
{
type barracks city_barracks
}
building
{
type equestrian hippodrome
}
building
{
type missiles siege_engineer
}
building
{
type market great_forum
}
building
{
type smith foundry
}
building
{
type port_buildings shipwright
}
building
{
type health aqueduct
}
building
{
type hinterland_farms farms+1
}
building
{
type hinterland_roads paved_roads
}
building
{
type academic scriptorium
}
building
{
type amphitheatres great_amphitheatre
}
building
{
type temple_synagogue beit_knesset
}
}
Voilà, you have added Judaism to the game.
I think you will be able to figure out the rest yourselves so go ahead
Note, however, that there is a limit of 10 different religions at the maximum, of which you should only use 9 because the tenth pip collides with a text string on the settlement details scroll.
Here are a few screenshots of the in-game result:
Bookmarks